標準データ モデル サイトを拡張データ モデルに移行する (プレビュー)

このトピックはプレリリース ドキュメントであり、変更される場合があります。

この記事では、既存の標準データ モデル サイトを拡張データ モデルに移行する方法について説明します。

重要

  • この機能はプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。

前提条件

ステップ 1. 既存の標準サイト メタデータのカスタマイズをダウンロードして確認する

  1. コマンド プロンプトを開きます。

  2. 次のコマンドを使用して Power Platform 環境の Dataverse 組織に対して認証を行い、移行用の Web サイト レコードをダウンロードします。

    pac auth create -u [Dataverse URL]

    pac auth create -u https://contoso-org.crm.dynamics.com

    詳細: pac auth create

  3. 現在の組織が含む Web サイトのリストを生成する際は、次のコマンドを使用します。

    pac powerpages list

    詳細: pac powerpages list

  4. カスタマイズ レポートをダウンロードするには、次のコマンドを使用します。

    pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --siteCustomizationReportPath [PATH]

    pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --siteCustomizationReportPath "c:\\pac-powerpages\\downloads"

ダウンロードしたレポートにカスタマイズが見つかった場合は、レポートのガイダンスに従って、拡張データ モデルへの移行後に修正してください。 詳細: 標準から拡張データ モデルにサイトを移行する際のサイト カスタマイズに関する考慮事項

ステップ 2. 標準から拡張データ モデルにサイト データ移行する

次のコマンドを使用して、サイト データを拡張データ モデルに移行します。

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] –-mode [type-of-data]

モード には 3 つの値があります:

pac powerpages 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
  • アプリケーションを処理しています
  • 空白ページ
  • プログラム登録
  • 会議のスケジュールと管理

ステップ 3. 移行の状態を確認する

サイトの移行状態を確認するには、次のコマンドを使用します:

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --checkMigrationStatus

pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --checkMigrationStatus

注意

サイトの移行に予想より時間がかかる場合は、データ量が原因である可能性があります。 コマンド プロンプトが閉じた場合は、新しいコマンド プロンプトを開き、この手順のコマンドを使用してサイトの状態を確認します。

ステップ 4. データ移行が成功したらサイト データ モデルのバージョンを更新する

次のコマンドを使用して、サイト データ モデルのバージョンを更新します:

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --updateDatamodelVersion --portalId [Portal-GUID]

注意

  • ポータル id は、Web サイトの URL に '/_services/about' を追加して Web サイトに移動することで見つけることができます。 これらのオプションを表示するには、ユーザーにすべての Web サイトのアクセス許可 が割り当てられた Web ロールが必要です。
  • サイト データ モデルのバージョンが更新されると、標準データ モデルにリンクされた Web サイト レコードは非アクティブになります。 代わりに、サイトは拡張データ モデルに関連付けられた Web サイト レコードを参照するようになります。
  • updateDatamodelVersion または revertToStandardDataModel 引数を指定して移行コマンドを実行するには、ユーザーは次のいずれかのロールが必要です。 これにより、管理アクションを実行して、サイトをデータ モデルの強化、またはその逆に切り替えます。

pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --updateDatamodelVersion --portalId 04435d71-c45a-4a05-9702-8f127559e48e

移行したサイトを拡張から標準データ モデルに戻す

移行後に標準データ モデル サイトを拡張データ モデルに戻すには、次のコマンドを使用します:

pac powerpages migrate-datamodel --webSiteId [WebSiteId-GUID] --revertToStandardDataModel --portalId [Portal-GUID]

注意

移行したサイトを拡張データ モデルから標準データ モデルに戻すと、拡張データ モデルに関連付けられた Web サイト レコードが非アクティブになり、標準データ モデルの Web サイト レコードが再びアクティブになります。

pac powerpages migrate-datamodel --webSiteId 076bf556-9ae6-ee11-a203-6045bdf0328e --revertToStandardDataModel --portalId 07f35d71-c45a-4a05-9702-8f127559e48e

標準から拡張データ モデルに運用サイトを移行する

運用サイトを移行する前に、運用サイトの完全なコピーを作成することをお勧めします。 また、運用サイトの移行は営業時間外に実施することをお勧めします。

次の手順を使用して、運用サイトを拡張データ モデルに移行します:

  1. PAC CLI migrate-datamodel コマンドを使用して、コピーした環境のサイトで移行を試みます。
  2. サイト構成データを管理ソリューションに追加し、運用環境にインポートします。
  3. PAC CLI コマンドを使用して非構成データを移行し、運用環境のデータ モデル バージョンを更新して完了します。

注意

移行の場合、ソースと運用 Web サイト id は同じです。

標準から拡張データ モデルにサイトを移行する際のサイト カスタマイズに関する考慮事項

このセクションでは、標準から拡張データ モデルへのサイト移行のためのカスタマイズを修正するガイダンスを提供します。

adx メタデータ テーブルには、次の 5 種類のサイト カスタマイズがあります:

注意

カスタマイズ関連の修正はすべて、拡張データ モデルへの移行後に実行されます。

adx メタデータ テーブルのカスタム列

拡張データ モデルでこのカスタマイズを修正するには、システム テーブルと新しいカスタム テーブル間のリレーションシップを作成し、データを新しいテーブルに移行します。

標準データ モデル: テーブル adx_webpage には、contoso_pagetype としてカスタム列が含まれています。

拡張データ モデル: contoso_webpage という名前の新しいテーブルを作成します。 これには、contoso_pagetype という列と、powerpagescomponent に関連付けられたルックアップ列 contoso_webpage_id が含まれます。 テーブルの作成に データ ワークスペース を使用します。

拡張データ モデルで contoso_webpage テーブルを作成してコードを修正する

カスタム テーブルと adx テーブルのリレーションシップ

拡張データ モデルでこのカスタマイズを修正するには、カスタム テーブルとシステム テーブル間のリレーションシップを作成します。

標準データ モデル: テーブル adx_webpage には、contoso_pagelogs テーブルで adx_webpage_contoso_pagelogs という名前のリレーションシップがあります。

拡張データ モデル: contoso_webpage テーブルで powerpagecomponent_contoso_pagelogs という名前の新しいリレーションシップを作成します。 テーブルの作成に データ ワークスペース を使用します。

liquid コード スニペットの Adx テーブル参照

拡張データ モデルでこのカスタマイズを修正するには、liquid コードで adx テーブル参照を拡張データ モデル仮想テーブル mspp 参照に置き換えます。 あるいは、サイト コンポーネント (論理名 powerpagecomponent) テーブルと コンポーネント タイプ (論理名 powerpagecomponenttype) 属性を使用して、対応する参照を取得することもできます。

標準データ モデル:entities liquid タグは、{% assign app_weblinks= entities['adx_weblinks'] %} コードで Web リンク 値にアクセスするために使用されます。

拡張データ モデル: 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 %}

サイト コンポーネントの種類と値

コンポーネントの種類 価値
公開の状態 6
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 レコードのバッチのみを処理します。