配置設定
外掛欄位開發後要由 UOF X 預覽使用時需先調整Config內容的設定,UOF X 的 BPM 表單才能正常的掛載外掛欄位的內容。
Json 檔位置
plugin.manifest.json
plugin.versions.json
assets\configs\fields-design.json
assets\configs\fields-runtime.json
配置檔 plugin.manifest.json¶
name
: 外掛模組名稱。code
: 必須在 Plugin 管理中為唯一值,僅能使用英文、數字和.
,且字串長度不可超過20。description
: 外掛模組描述。manufacturerCode
: 供應商代碼。manufacturer
: 供應商名稱。production
: 設定false
會在 Plugin 管理中的更多下拉按鈕中出現「重載設定檔」,重載設定可以直接強制更新所有除了code
以外的設定,不必透過標準的操作檢查更新流程。schemaVersion
: 設定false
會在 Plugin 管理中的更多下拉按鈕中出現「重載設定檔」,重載設定可以直接強制更新所有除了code
以外的設定,不必透過標準的操作檢查更新流程。
版本設定檔 plugin.versions.json¶
用來設定模組版本與 UOF X 相依性及變更說明,UOF X 會依照版本設定順序由上而下排序,所以版本需要由大到小進行設定。
version
: 模組版本。minimumUOFXVersion
: 最小 UOF X 支援版號,共 3 碼,以下方範本為例,2.92 會執行並使用 2.0 版本程式,2.95 則會執行並使用 3.0 版本程式。changelog
: 提供string
陣列,條列式呈現。
plugin.versions.json
{
"$schema": "../node_modules/@uofx/plugin/schema/plugin-versions.schema.json",
"versions": [
{
"version": "3.0",
"minimumUOFXVersion": "2.94.0",
"changelog": [
"新增了2個欄位",
"修正了一些錯誤"
]
},
{
"version": "2.0",
"minimumUOFXVersion": "2.90.0",
"changelog": [
"本次更新除掉了幾條蟲"
]
},
{
"version": "1.0",
"minimumUOFXVersion": "2.89.1",
"changelog": [
"全新對話功能上線!"
]
}
]
}
version 的版本需和 nginx 的 location/1_0/ 相對應,1_0 代表版本 1.0。
nginx.conf
http {
# 其他設定省略...
upstream Remote {
server localhost:40001;
}
# 主要設定
server{
# 對外要使用的port
listen 8888;
location /1_0/ {
proxy_pass http://Remote/;
}
location / {
proxy_pass http://Remote/;
}
}
}
詳細設定請參考 開發環境設定
欄位設計檔 fields-design.json¶
fields-design.json 內的欄位代表在 BPM 表單設計時左邊的欄位類型下拉中讀取外掛欄位的類型加入,注意需調整 fieldGroups 屬性中的 code 和 fields 屬性中的 group 需對應。
fields-design.json
{
"$schema": "../../../node_modules/@uofx/plugin/schema/fields-design.schema.json",
"fieldGroups": [
{
"code": "group1",
"name": "群組一"
}
],
"fields": [
{
"group": "group1",
"code": "sampleField",
"name": "sample欄位",
"icon": "assets/icons/u-plugin-form.svg",
"sizeConfig": {
"defaultCols": 2,
"defaultRows": 1,
"minCols": 1,
"minRows": 1
}
},
{
"group": "group1",
"code": "anotherField",
"name": "進階欄位",
"icon": "assets/icons/u-plugin-form.svg",
"sizeConfig": {
"defaultCols": 8,
"defaultRows": 2,
"minCols": 8,
"minRows": 2
}
}
]
}
欄位執行設定檔 fields-runtime.json¶
fields-runtime.json 代表外掛欄位執行時從 UOF X 能讀取外掛欄位內容的設定,其中第一個屬性 sampleField 代表外掛欄位 Id, 外掛欄位Id必須和 fields-design.json 中 fields 屬性的 code 相對應。
fields-runtime.json
{
"$schema": "../../../node_modules/@uofx/plugin/schema/fields-runtime.schema.json",
"sampleField": {
"exposedModule": "./HelloWorld",
"moduleName": "HelloWorldModule",
"app": {
"exposedModule": "./HelloWorld",
"moduleName": "FieldHelloWorldAppModule"
}
},
"anotherField": {
"exposedModule": "./AdvancedField",
"moduleName": "AdvancedFieldModule",
"app": {
"exposedModule": "./AdvancedField",
"moduleName": "FieldAdvancedAppModule"
}
}
}