跳轉到

建置號碼 2.123.x

⚠️ 若專案使用取得登入者資訊的物件,請務必升級外掛模組,以避免相容性問題。

✨ 新功能介紹

Plugin 套件更新

  • 優化 UOF X 前端載入外掛模組的暫存功能。
  • 可使用 ng update 進行套件更新。
# 升級到最新版本
ng update @uofx/plugin

# 升級到指定版本
ng update @uofx/plugin@4.5

# 若已安裝可使用 migrate 方法
 ng update @uofx/plugin --migrate-only --from=4.4 --to=4.5

配置檢查工具

用於驗證外掛模組配置和狀態的元件,可協助開發者在開發過程中檢查外掛模組的設定是否正確。

💡 請參考 配置檢查工具

App

1. 外掛面板

能依據自身需求所開發的面板,掛載於 UOF X 中。

💡 詳細使用方式請參考 外掛面板

2. 上傳檔案元件

💡 詳細使用方式請參考:上傳檔案元件說明

3. 取得登入者資訊

提供 AppSettings 物件以取得目前登入者的基本資料。

💡 詳細使用方式請參考:取得登入者資訊

Web

1. 影片選擇器

提供影片選擇功能,支援編輯與檢視兩種模式。

💡 詳細使用方式請參考:影片選擇器

2. 取得登入者資訊

提供 Settings 物件以取得目前登入者的基本資料。

💡 詳細使用方式請參考:取得登入者資訊

修正

  • Internal Tracking ID: #40276: 外掛欄位更新後 → 畫面不會即時更新 → 解法是透過建置版號決定是否從暫存取得資料或是重載
  • Internal Tracking ID: 38806: 當fields-design.json裡面設定了不存在的欄位,匯入後會導致欄位編排左側欄位都拿不到資料

升級注意事項(2025R3.119.1 → 2025R4.123.1)

套件版本更新

套件名稱 版本
@uofx/web-components 4.23.4
@uofx/app-components 3.22.7
@uofx/core 3.14.3
@uofx/error-code 2.19.1
@uofx/icon 2.9.1
@uofx/plugin 4.5.2

直接安裝指令如下:

npm install @uofx/web-components@4.23.4 @uofx/app-components@3.22.7 @uofx/core@3.14.3 @uofx/error-code@2.19.1 @uofx/icon@2.9.1 @uofx/plugin@4.5.2

更新後需要額外安裝套件:

npm install colorthief@2.6.0 get-video-id@3.7.0 uuid@9.0.0

套件更新後請使用 migrate 指令,會自動更新 webpack config 內容

ng update @uofx/plugin --migrate-only --from=4.4 --to=4.5

💡 檔案差異請點此

🔧 外掛欄位升級注意事項

舊用法將於 2025R4、2026R1 版本起正式移除,為避免未來相容性問題,請務必升級至新寫法:

以下方法將於 2025R4 版本起正式移除:

舊用法 新用法
this.addFormControl this.fieldUtils.addFormControl
this.initPluginSettings this.pluginUtils.initPluginSettings
this.getTargetFieldValue this.pluginUtils.getTargetFieldValue

以下方法將於 2026R1 版本起正式移除:

舊用法 新用法
this.parentFormBinding this.fieldUtils.syncParentFormStatusToInnerForm

🛠️ 說明:上述新方法皆整合於 fieldUtilspluginUtils 工具中,提供更一致的欄位操作方式。

若您仍使用舊寫法,建議立即進行調整,以確保後續版本升級不受影響。

標示出各檔案有差異的行數與主要變更內容,供升級比對參考。

Ede.Uofx.Customize.Web
├─ ClientApp
│  ├─ angular.json
│  ├─ package.json
│  ├─ tsconfig.app.json
│  ├─ webpack.config.js
│  ├─ webpack.prod.config.js
│  ├─ src
│  │  ├─ assets
│  │  │  ├─ configs
│  │  │  │  ├─  ⚠️panels-design.json
│  │  │  │  ├─  ⚠️panels-runtime.json
│  │  │  │  ├─  ⚠️routes.json
│  │  ├─ index.html
│  │  ├─ app
│  │  │  ├─  app.component.ts
│  │  │  ├─  app.module.ts

路徑:ClientApp\webpack.config.js

alt text


路徑:ClientApp\webpack.prod.config.js

alt text


路徑:ClientApp\tsconfig.app.json

alt text


路徑:ClientApp\angular.json

alt text


路徑:ClientApp\package.json

alt text


路徑:ClientApp\src\index.html

alt text

路徑:ClientApp\src\app\app.component.ts

alt text

路徑:ClientApp\src\app\app.module.ts

alt text

升級至 2.123 版後,以下三個檔案必須存在

若未使用此功能,可直接填入下方的預設內容;若需使用此功能,請參考下方指南:

Web 外掛面板

App 外掛面板

Web 外掛頁面

App 外掛頁面

路徑:ClientApp\src\app\assets\configs\panels-design.json

{
  "$schema": "../../../node_modules/@uofx/plugin/schema/panels-design.schema.json"
}

路徑:ClientApp\src\app\assets\configs\panels-runtime.json

{
  "$schema": "../../../node_modules/@uofx/plugin/schema/panels-runtime.schema.json"
}

路徑:ClientApp\src\app\assets\configs\routes.json

{
  "$schema": "../../../node_modules/@uofx/plugin/schema/routes.schema.json"
}