@things-factory/operato-board 6.1.134 → 6.1.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@ URL의 형태는 다음과 같습니다.
11
11
  https://xxx.com/domains/{domain}/headless-full/{board-id}?access_token={access-token}
12
12
 
13
13
  # player
14
- https://xxx.com/domains/{domain}/board-player/{player-id}?access_token={access-token}
14
+ https://xxx.com/domains/{domain}/headless-player/{player-id}?access_token={access-token}
15
15
  ```
16
16
 
17
17
  ### 1. 단말장치 메뉴에서 새로운 단말장치를 생성한다.
@@ -45,9 +45,12 @@ https://xxx.com/domains/{domain}/headless-full/{board-id}?access_token={access-t
45
45
 
46
46
  ### 5. 보드 플레이어를 실행하고 URL을 획득한 다음, 보드와 유사하게 URL을 수정한다.
47
47
 
48
+ - URL의 끝에 '?access_token=' 을 입력한 다음, 단말장치의 토큰을 붙여넣기 한다.
49
+ - URL에서 'board-player' 를 'headless-player' 로 수정한다.
50
+
48
51
  ```
49
52
  # player
50
- https://xxx.com/domains/{domain}/board-player/{player-id}?access_token={access-token}
53
+ https://xxx.com/domains/{domain}/headless-player/{player-id}?access_token={access-token}
51
54
  ```
52
55
 
53
56
  ![play-board]
@@ -2,3 +2,71 @@
2
2
 
3
3
  - 현재는 복사/붙여넣기 방법을 사용하고 있습니다.
4
4
  - 보드 운영 배포는 사이트의 상황에 따라 다르므로, 협의가 필요합니다.
5
+
6
+ ### (참고) 기본 운영 환경
7
+
8
+ 보드의 운영 환경을 참고하실 수 있도록 기본적으로 구성되는 운영환경을 다음과 같이 소개합니다.
9
+
10
+
11
+ ![Application Deployment Diagram](./images/application-deployment.png "Application Deployment Diagram")
12
+
13
+ - Operato Board는 수평 스케일링이 가능한 구조로 설계가 되어 있습니다. 수평 스케일링은 어플리케이션에 요구되는 부하량이 커져서 하나의 서버에서 감당해야 하는 CPU와 메모리의 사용량이 초과될 경우 추가적인 서버를 증설함으로서 해결하는 방식이며 스케일 아웃(Scale Out)이라도 표현합니다.
14
+ - Operato Board는 데이터의 일관성을 위해서 하나의 데이터베이스에 한 개 이상의 Operato Board가 연결되는 구조를 통해서 멀티 인스턴스 운영이 가능합니다.
15
+
16
+
17
+ #### 데이터베이스
18
+ - 보드의 보든 기반 데이터와 생성되는 보드 데이터들을 보관하고 있습니다.
19
+ - 기본적으로 Postgres(12 이상) 혹은 Oracle (12c 이상)을 사용 가능합니다.
20
+ - 데이터베이스의 영속성과 안정성을 유지하기 위해서 클러스터링 혹은 주기적인 데이터 백업을 통해서 데이터 손실을 최소화합니다.
21
+ - 데이터베이스 관련 설정은 config.production.js 설정 파일에 ormconfig 부분을 수정합니다.
22
+ ```javascript
23
+ {
24
+ ...
25
+ ormconfig: {
26
+ name: 'default',
27
+ type: 'postgres',
28
+ host: '192.168.0.100',
29
+ port: 5432,
30
+ database: 'postgres',
31
+ username: 'postgres',
32
+ password: 'xxxxxxxx',
33
+ synchronize: true,
34
+ logging: false
35
+ },
36
+ ...
37
+ }
38
+ ```
39
+ 다음 스케줄러의 설정도 데이터베이스 환경에 따라 변경합니다.
40
+ ```yaml
41
+ database:
42
+ type: postgres
43
+ host: 127.0.0.1
44
+ port: 55432
45
+ id: postgres
46
+ pw: abcd1234
47
+ db: postgres
48
+ ```
49
+
50
+
51
+ #### 로드밸런서
52
+ - 여러 보드 인스턴스에 트래픽을 분산하기 위해서 어플리케이션 앞단에 위치해서 사용자 요청을 분산하는 역할을 수행합니다.
53
+ - NGINX나 혹은 클라우드 플래폼에서 제공하는 다양한 타입의 로드밸런서를 활용 가능합니다.
54
+ - 로드밸런서는 별도의 managed 혹은 manual 방식의 certificate 서비스를 통해서 https 서비스 제공이 가능합니다. 대표적으로 AWS Certificate Managger 혹은 GCP Managed Cerficate Service가 있습니다. 혹은 수동으로 인증서를 생성해서 서비스할 수 있는 방법도 있습니다. 참고로 다음과 같은 서비스들을 참고하세요.
55
+ - [NGINX Configuring HTTPS servers](https://nginx.org/en/docs/http/configuring_https_servers.html)
56
+ - [Create an HTTPS listener for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#add-https-listener)
57
+ - [Application Load Balancer overview](https://cloud.google.com/load-balancing/docs/application-load-balancer?hl=ko)
58
+
59
+
60
+ #### 스케줄러
61
+ - 보드의 시나리오에서 제공하는 스케줄링 기능을 활성화하기 위해서 필요한 서비스입니다.
62
+ - 보드에서 사용하는 데이터베이스와 동일한 데이터베이스를 사용 가능합니다.
63
+ - 스케줄러 또한 보드와 마찬가지로 수평 스케일링이 가능한 구조를 가지고 있습니다.
64
+
65
+
66
+ #### 첨부파일
67
+ - Operato Board에서 보드 생성 시에 포함되는 다양한 이미지, 비디오, 소리 파일들을 저장하는 기능입니다.
68
+ - 하나의 인스턴스를 사용할 경우 로컬 파일 저장을 통해서 해결 가능하지만, 스케일링 아웃 기능을 고려해서 여러 인스턴스가 동시에 접근 활용할 수 있는 저장 공간이 필요합니다.
69
+ - 이러한 조건을 만족하도록 활용 가능한서비스들은 다음과 같습니다.
70
+ - 네트워크 파일 시스템(NFS): 특정 공유 폴더 위치를 지정해서 첨부 파일 저장에 사용할 수 있습니다.
71
+ - AWS S3 서비스: Amazon Web Service 중 하나인 S3를 첨부 파일 저장에 사용할 수 있습니다.
72
+ - 데이터베이스(신규): 위의 서비스 사용이 불가할 경우, 데이터베이스를 통해서 대용량 파일들을 저장할 수 있습니다.
@@ -2,7 +2,13 @@
2
2
 
3
3
  - credential 컴포넌트를 사용하면 로그인 계정 정보를 얻을 수 있습니다.
4
4
  - 자세한 내용은 credential 컴포넌트의 도움말을 참조하세요.
5
- - 사용자의 언어 정보는 credential 정보안에 'language' 속성으로 추가할 계획입니다.(개발중)
5
+ - credential 데이터 내용은 다음과 같습니다.
6
+ - name
7
+ - email
8
+ - language
9
+ - userType : 'user', 'application' 또는 'appliance'
10
+ - super : true / false
11
+ - owner : true / false
6
12
 
7
13
  ![credential01]
8
14
  ![credential02]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-board",
3
- "version": "6.1.134",
3
+ "version": "6.1.136",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -86,7 +86,7 @@
86
86
  "@operato/utils": "^1.0.1",
87
87
  "@things-factory/apptool-ui": "^6.1.129",
88
88
  "@things-factory/auth-ui": "^6.1.129",
89
- "@things-factory/board-service": "^6.1.134",
89
+ "@things-factory/board-service": "^6.1.135",
90
90
  "@things-factory/board-ui": "^6.1.130",
91
91
  "@things-factory/context-ui": "^6.1.129",
92
92
  "@things-factory/export-ui": "^6.1.129",
@@ -117,8 +117,8 @@
117
117
  "@things-factory/system-ui": "^6.1.129"
118
118
  },
119
119
  "devDependencies": {
120
- "@things-factory/board-test": "^6.1.134",
120
+ "@things-factory/board-test": "^6.1.135",
121
121
  "@things-factory/builder": "^6.1.129"
122
122
  },
123
- "gitHead": "162c76d8f2a1d93da1087d4e17b661747dbd5090"
123
+ "gitHead": "c7e750419ae4b8d48f07c43177af637a02036512"
124
124
  }