このトピックはプレリリース ドキュメントであり、変更される場合があります。
この記事では、既存の標準データ モデル サイトを拡張データ モデルに移行する方法について説明します。
重要
- この機能はプレビュー機能です。
- プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
前提条件
- サイトを拡張データ モデルに移行するには、バージョン 1.31.6 以降の Microsoft Power Platform CLI をインストールする必要があります。 詳細情報: Power Platform CLI 最新版のインストール
- Dataverse ベース ポータル パッケージ 9.3.2307.x 以降。
- Power Pages コア パッケージ 1.0.2309.63 以降。 詳細: Power Pages ソリューションの更新
- 移行手順を完了するには、Power Pages で Power Platform CLI を使用する方法を理解する必要があります。 Power Pages の Power Platform CLI に詳しくない場合は、この Power Platform CLI チュートリアル を確認し、Power Pages を操作するための PAC CLI コマンド を参照してください。
- 管理モードで設定された環境の場合は、バックグラウンド操作を有効にします。
ステップ 1. 既存の標準サイト メタデータのカスタマイズをダウンロードして確認する
コマンド プロンプトを開きます。
次のコマンドを使用して Power Platform 環境の Dataverse 組織に対して認証を行い、移行用の Web サイト レコードをダウンロードします。
pac auth create -u [Dataverse URL]例
pac auth create -u https://contoso-org.crm.dynamics.com詳細: pac auth create
現在の組織が含む Web サイトのリストを生成する際は、次のコマンドを使用します。
pac pages list詳細情報: pac ページの一覧
カスタマイズ レポートをダウンロードするには、次のコマンドを使用します。
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] --siteCustomizationReportPath [PATH]例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --siteCustomizationReportPath "c:\\pac-powerpages\\downloads"
ダウンロードしたレポートにカスタマイズが見つかった場合は、レポートのガイダンスに従って、拡張データ モデルへの移行後に修正してください。 詳細: 標準から拡張データ モデルにサイトを移行する際のサイト カスタマイズに関する考慮事項
ステップ 2. 標準から拡張データ モデルにサイト データ移行する
次のコマンドを使用して、サイト データを拡張データ モデルに移行します。
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] –-mode [type-of-data]
モード には 3 つの値があります:
configurationData: Web サイトのメタデータを移行します。 詳細: 構成データを格納するテーブルのリスト
configurationDataReferences: Web サイトのトランザクション データを移行します。 詳細: 非構成データを格納するテーブルのリスト
全て: 両方のタイプのデータを移行します。
例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e –-mode all
移行ツールはソリューションを検証します。 上記のテンプレートに対応するそれぞれの拡張データ モデル ソリューションなしで存在する標準データ モデル ソリューションがある場合は、警告が表示されます: Found template <template-name>. One of the prerequisite for migrate needs Enchanged data model template
プログラム登録や会議のスケジュールと管理などの特定のテンプレートがあり、移行された Web サイトが適切に機能するためには、拡張データ モデル パッケージとの一致が必要です。 これらの拡張データ モデル パッケージを入手するには、移行用の拡張データ モデルと互換性のあるソリューションを提供するために、対応するテンプレートの新しいサイトを作成する必要があります (拡張データ モデルに対して環境を有効にする必要があります)。
移行用にサポートされているテンプレート
次のテンプレートを持つサイトは、移行がサポートされています:
- スターター レイアウト 1-5
- アプリケーションを処理しています
- 空白ページ
- プログラム登録
- 会議のスケジュールと管理
- FAQ
重要
拡張データ モデルでは、コミュニティ (Dynamics 365)、カスタマー セルフサービス ポータル (Dynamics 365)、Employee Self Service Portal (Dynamics 365)、パートナー ポータル (Dynamics 365) テンプレートの 新しい サイト作成がサポートされていますが、標準データ モデルを使用してこれらのテンプレートで以前に作成したサイトはまだ移行できません。
ステップ 3. 移行の状態を確認する
サイトの移行状態を確認するには、次のコマンドを使用します:
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] --checkMigrationStatus
例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --checkMigrationStatus
メモ
サイトの移行に予想より時間がかかる場合は、データ量が原因である可能性があります。 コマンド プロンプトが閉じた場合は、新しいコマンド プロンプトを開き、この手順のコマンドを使用してサイトの状態を確認します。
ステップ 4. データ移行が成功したらサイト データ モデルのバージョンを更新する
次のコマンドを使用して、サイト データ モデルのバージョンを更新します:
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] --updateDatamodelVersion --portalId [Portal-GUID]
メモ
- ポータル id は、Web サイトの URL に '/_services/about' を追加して Web サイトに移動することで見つけることができます。 これらのオプションを表示するには、ユーザーにすべての Web サイトのアクセス許可 が割り当てられた Web ロールが必要です。
- サイト データ モデルのバージョンが更新されると、標準データ モデルにリンクされた Web サイト レコードは非アクティブになります。 代わりに、サイトは拡張データ モデルに関連付けられた Web サイト レコードを参照するようになります。
-
updateDatamodelVersionまたはrevertToStandardDataModel引数を指定して移行コマンドを実行するには、ユーザーは次のいずれかのロールが必要です。 これにより、管理アクションを実行して、サイトをデータ モデルの強化、またはその逆に切り替えます。
例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --updateDatamodelVersion --portalId 04435d71-c45a-4a05-9702-8f127559e48e
移行したサイトを拡張から標準データ モデルに戻す
移行後に標準データ モデル サイトを拡張データ モデルに戻すには、次のコマンドを使用します:
pac pages migrate-datamodel --webSiteId [WebSiteId-GUID] --revertToStandardDataModel --portalId [Portal-GUID]
メモ
移行したサイトを拡張データ モデルから標準データ モデルに戻すと、拡張データ モデルに関連付けられた Web サイト レコードが非アクティブになり、標準データ モデルの Web サイト レコードが再びアクティブになります。
例
pac pages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --revertToStandardDataModel --portalId 07f35d71-c45a-4a05-9702-8f127559e48e
標準から拡張データ モデルに運用サイトを移行する
運用サイトを移行する前に、運用サイトの完全なコピーを作成することをお勧めします。 また、運用サイトの移行は営業時間外に実施することをお勧めします。
次の手順を使用して、運用サイトを拡張データ モデルに移行します:
- PAC CLI
migrate-datamodelコマンドを使用して、コピーした環境のサイトで移行を試みます。 - サイト構成データを管理ソリューションに追加し、運用環境にインポートします。
- PAC CLI コマンドを使用して非構成データを移行し、運用環境のデータ モデル バージョンを更新して完了します。
メモ
移行の場合、ソースと運用 Web サイト id は同じです。
標準から拡張データ モデルにサイトを移行する際のサイト カスタマイズに関する考慮事項
このセクションでは、標準から拡張データ モデルへのサイト移行のためのカスタマイズを修正するガイダンスを提供します。
adx メタデータ テーブルには、次の 5 種類のサイト カスタマイズがあります:
- adx メタデータ テーブルのカスタム列
- カスタム テーブルと adx テーブルのリレーションシップ
- liquid コード スニペットの Adx テーブル参照
- fetch xml での Adx テーブル参照
- adx テーブル上のカスタム ワークフローとプラグイン
メモ
カスタマイズ関連の修正はすべて、拡張データ モデルへの移行後に実行されます。
adx メタデータ テーブルのカスタム列
拡張データ モデルでこのカスタマイズを修正するには、システム テーブルと新しいカスタム テーブル間のリレーションシップを作成し、データを新しいテーブルに移行します。
標準データ モデル: テーブル adx_webpage には、contoso_pagetype としてカスタム列が含まれています。
拡張データ モデル:contoso_webpage という名前の新しいテーブルを作成します。 これには、contoso_pagetype という列と、contoso_webpage_id に関連付けられたルックアップ列 powerpagescomponent が含まれます。 テーブルの作成に データ ワークスペース を使用します。
カスタム テーブルと adx テーブルのリレーションシップ
拡張データ モデルでこのカスタマイズを修正するには、カスタム テーブルとシステム テーブル間のリレーションシップを作成します。
標準データ モデル: テーブル adx_webpage には、adx_webpage_contoso_pagelogs テーブルで contoso_pagelogs という名前のリレーションシップがあります。
拡張データ モデル:powerpagecomponent_contoso_pagelogs テーブルで contoso_webpage という名前の新しいリレーションシップを作成します。 テーブルの作成に データ ワークスペース を使用します。
リキッドコードスニペットにおけるAdxテーブル参照
拡張データ モデルでこのカスタマイズを修正するには、liquid コードで adx テーブル参照を拡張データ モデル仮想テーブル mspp 参照に置き換えます。 あるいは、サイト コンポーネント (論理名 powerpagecomponent) テーブルと コンポーネント タイプ (論理名 powerpagecomponenttype) 属性を使用して、対応する参照を取得することもできます。
標準データ モデル:entities liquid タグは、ウェブリンクの値にアクセスするために{% assign app_weblinks= entities['adx_weblinks'] %} コードで使用されます。
拡張データ モデル:entities liquid タグによる Web リンクを使用する代わりに、それぞれの liquid オブジェクト を使用します。
entities[adx_weblinks] を直接使用します。 この場合、entities['adx_weblinks'] は、weblinks liquid オブジェクトに置き換えることができます。
fetch xml での Adx テーブル参照
拡張データ モデルでこのカスタマイズを修正するには、fetch xml の adx テーブル参照を拡張データ モデル仮想テーブルの直接参照に置き換えます。 あるいは、サイト コンポーネント (論理名 powerpagecomponent) テーブルと コンポーネント タイプ (論理名 powerpagecomponenttype) 属性を使用して、対応する参照を取得することもできます。
標準データ モデル: テーブル名 adx_webrole は fetch xml クエリ内で使用されます。
{% fetchxml app_webroles %}
<fetch>
<entity name='adx_webrole'>
<attribute name='adx_name'/>
<entity>
</fetch>
{% endfetchxml %}
拡張データ モデル:サイト コンポーネント (論理名 powerpagecomponent) を コンポーネント タイプ (論理名 powerpagecomponenttype) 属性と組み合わせて使用して、対応する参照を取得します。
{% fetchxml app_webroles %}
<fetch>
<entity name='powerpagecomponent'>
<attribute name='adx_name'/>
<filter type='and'>
<condition attribute ='powerpagecomponenttype' operator ='eq' value ='11'/>
<entity>
</fetch>
{% endfetchxml %}
サイト コンポーネントの種類と値
| コンポーネントの種類 | 価値 |
|---|---|
| 公開状態 | 1 |
| Web ページ | 2 |
| Web ファイル | 3 |
| Web リンク セット | 4 |
| Web リンク | 5 |
| ページ テンプレート | 6 |
| コンテンツ スニペット | 7 |
| Web テンプレート | 8 |
| サイト設定 | 9 |
| Web ページ アクセス制御ルール | 10 |
| Web ロール | 11 |
| Web サイトのアクセス | 12 |
| サイト マーカー | 13 |
| 基本フォーム | 15 |
| 基本フォーム メタデータ | 16 |
| リスト | 17 |
| テーブルのアクセス許可 | 18 |
| 詳細フォーム | 19 |
| 高機能フォームステップ | 20 |
| 詳細フォーム メタデータ | 21 |
| 投票配置 | 24 |
| 広告配置 | 26 |
| ボット利用者 | 27 |
| 列パーミッションプロファイル | 28 |
| 列のアクセス許可 | 29 |
| リダイレクト | 30 |
| 公開状態の移行ルール | 31 |
| ショートカット | 32 |
| クラウド フロー | 33 |
| UX コンポーネント | 34 |
adx テーブル上のカスタム ワークフローとプラグイン
拡張データ モデルでこのカスタマイズを修正するには、ワークフローとプラグイン ロジックをリファクタリングし、サイトのそれぞれのテーブルに再登録する必要があります。
たとえば、ユーザーが標準データ モデルでワークフロー/プラグインを 主エンティティ に Webページ (論理名 adx_webpage) テーブルとして登録した場合、ワークフロー/プラグイン内のコードは、拡張データ モデルでは サイト コンポーネント (論理名 powerpagecomponent) テーブルとその属性に変更する必要があります。
既知の問題
移行コマンドは、標準データ モデルから拡張データ モデルへの 5K レコードのバッチのみを処理します。