Power Apps / Dataverse 初學整理:Canvas App、Solution、Publisher 與 Dataverse Table 基礎理解
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1299
最近在建立新的 Power Apps 環境時,對於:
-
Canvas App
-
Solution
-
Publisher
-
Dataverse Table
-
系統表 / Custom 表
之間的關係產生了不少疑惑。
本文整理成一篇「初學者向」的 STEP 操作筆記。
一、Power Apps 的 App 是否應該放進 Solution?
答案:
正式開發時,建議一定要放進 Solution。
基本概念
| 項目 | 用途 |
|---|---|
| Canvas App | 真正運行的 UI App |
| Solution | 管理 App、Table、Flow 的容器 |
| Publisher | Solution 的命名空間 |
| Dataverse | Power Platform 的資料平台 |
Solution 的作用
Solution 用來:
-
管理 App
-
管理 Dataverse Table
-
管理 Flow
-
做版本控制
-
Export / Import
-
Git 管理
-
ALM(Application Lifecycle Management)
正式結構通常會長這樣
Solution
├── Canvas App
├── Dataverse Tables
├── Flows
└── Components
二、為什麼新環境裡已經有兩個 Solution?
新建立 Dataverse 環境後,通常會看到:
Common Data Services Default Solution
既定のソリューション
這是 Microsoft 自動建立的系統 Solution。
它們不是你的業務 Solution
一般不要拿來正式開發。
正確做法
自己建立新的 Solution。
例如:
審査請求事件 処理状況等管理システム
三、Dataverse 裡為什麼有那麼多 Table?
Dataverse 與傳統 SQL Server 不同。
傳統 DB
Database
└── Tables
Dataverse
Environment
└── Dataverse
└── Tables
Dataverse 的特點
Dataverse:
-
沒有給你直接管理 SQL DB
-
所有資料都以 Table 形式存在
-
系統表與自訂表混在一起
因此:
一個空環境就可能有幾百張表。
這是正常的。
四、如何區分系統表與自己的表?
在「テーブル」頁面中:
1. 看「タグ」
| Tag | 意義 |
|---|---|
| 標準 | Microsoft 系統表 |
| カスタム | 自訂表 |
2. 看 logical name
系統表
通常:
task
team
systemuser
自訂表
通常:
crb63_xxx
new_xxx
ssj_xxx
會帶 prefix。
五、標準表可以刪除嗎?
一般:
不建議刪除。
因為很多是 Dataverse 核心系統表。
例如:
-
task
-
team
-
systemuser
都可能與:
-
Security
-
Flow
-
Metadata
-
Activity System
有關。
六、建立正式 Solution
STEP 1:進入「ソリューション」
左側:
ソリューション
STEP 2:點「新しいソリューション」
STEP 3:填寫 Solution
表示名
審査請求事件 処理状況等管理システム
名前(Internal Name)
建議:
ShinsaSeikyuJikenShoriJokyoTouKanriSystem
說明:
| 日文 | 羅馬字 |
|---|---|
| 審査請求 | ShinsaSeikyu |
| 事件 | Jiken |
| 処理状況 | ShoriJokyo |
| 等 | Tou |
| 管理システム | KanriSystem |
為什麼是 Tou 而不是 Nado?
正式日文系統名中:
等
通常使用音讀:
とう(Tou)
例如:
書類等
設定等
都偏正式用法。
七、建立 Publisher
STEP 1:點「新しい公開元」
STEP 2:填寫 Publisher
| 欄位 | 值 |
|---|---|
| 表示名 | SSJ Publisher |
| 名前 | SSJPublisher |
| 接頭辞 | ssj |
接頭辞(Prefix)非常重要
之後:
-
Table
-
Column
-
Component
都會使用這個 Prefix。
例如
好的情況
ssj_errorreason
ssj_salaryreduce
不好的情況
crb63_xxx
new_table1
八、「選択する値の接頭辞」是什麼?
當 Prefix 設成:
ssj
後,
下面可能自動變成:
92410
這是正常的。
它不是文字 Prefix
而是:
Choice / OptionSet 的數值範圍。
例如:
924100000
924100001
之類的值。
通常:
不需要修改。
九、Version 應該填多少?
建議:
1.0.0.0
即使目前只有測試 Canvas App 也沒問題
因為:
Solution Version 不代表完成度。
而代表:
Solution 生命周期起點。
十、「優先するソリューションとして設定」要勾嗎?
一般:
不要勾。
原因
這涉及:
-
Solution Layering
-
Customization Precedence
-
進階 ALM
初學階段不需要。
十一、最後完成後的結構
Solution
├── Canvas App
├── Dataverse Tables
├── Flows
└── Components
並使用:
Publisher Prefix = ssj
作為統一命名空間。
十二、最終建議
正式開發時:
-
不要直接在 Default Solution 開發
-
不要使用系統亂數 Prefix
-
盡早建立自己的 Solution 與 Publisher
-
讓 Table / App / Flow 都放入同一個 Solution 中管理
這樣後續:
-
Git
-
Export
-
Deploy
-
ALM
才不容易混亂。
This article was last edited at