カスタマイズしたコンポーネントだけを検索して操作するには、ソリューションを作成し、そこですべてのカスタマイズを行います。 コンポーネントを追加、編集、作成する際には、常にカスタムソリューションのコンテキストで作業をしてください。 これにより、ソリューションを簡単にエクスポートし、別の環境にバックアップまたはインポートできます。
注意
推奨されるソリューションとしてカスタム ソリューションを指定することを検討してください。 これにより、カスタム ソリューションのコンテキストでソリューション コンポーネントを特に作成しない場合に、ソリューション コンポーネントを格納する場所を制御できます。 詳細情報: 優先ソリューションを設定します。
ソリューションの作成方法 :
Power Apps にサインインし、左側のナビゲーションから ソリューション を選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
新しいソリューション を選択し、ソリューションに必須列を入力します。
フィールド 内容 表示名 ソリューションの一覧に表示される名前。 これは後で変更できます。 Name ソリューションの一意の名前。 含めることができるのは英字、数字、アンダー スコアのみです。 名前は、表示名 列に入力した値の使用可能な文字から生成されます。 ソリューションを保存する前に編集できますが、保存後は変更できません。 発行元 既定の発行者を選択するか、または新しい発行元を作成できます。 ソリューションを使用する環境全体で一貫して使用できるように、組織の公開元を作成することをお勧めします。 この記事の後半に記載している、ソリューション発行者 を参照してください。 バージョン ソリューションのバージョン番号を入力します。 これは、ソリューションをエクスポートする場合にのみ重要です。 バージョン番号は、ソリューションをエクスポートしたときにファイル名に含まれます。 優先ソリューションとして設定する 優先ソリューションを使用すると、カスタム ソリューションのコンテキストで明示的に作成しない場合に、ソリューション コンポーネントを格納する場所を制御できます。 優先ソリューションが設定されていない場合、既定では、Common Data Services の既定のソリューションが優先ソリューションになります。 Common Data Services の既定のソリューションを使用できない場合は、既定のソリューションという名前のソリューションが優先ソリューションとして使用されます。 詳細: 優先順位の高いソリューションの設定 構成ページ [ その他のオプション ] で、必要に応じて、構成ページとして使用する Web リソースを選択できます。 構成ページは、通常、ソリューションを配布する独立系ソフトウェア ベンダー (ISV) によって使用されます。 これを設定すると、情報ノードの下に新しい構成ノードが表示され、この Web リソースが表示されます。 開発者は、HTML ページである Web リソースを使用して、構成データの設定やソリューションの起動を可能にする手順やコントロールを含めます。 説明 [ その他のオプション ] で、必要に応じてソリューションの説明を追加できます。 これは、ソリューションを他のユーザーと共有する場合や、ソリューションの目的を覚えておきたい場合に便利です。 保存を選択します。
ソリューション オブジェクトを追加または削除する
ソリューションを作成すると、ソリューション オブジェクトは含まれません。 新しいオブジェクトを作成してソリューションに追加したり、既存のオブジェクトを新しいソリューションに追加したりできます。
ソリューション内にオブジェクトを作成する
New コマンドを使用すると、さまざまな種類のオブジェクトを作成できます。 [ 新規 ] を選択し、目的のオブジェクトを選択すると、選択したオブジェクトの種類に応じて異なる作成エクスペリエンスが表示されます。 オブジェクトの作成が完了すると、ソリューションに追加されます。
ソリューションに既存のオブジェクトを追加する
システムの既定のソリューションではなくアンマネージド ソリューションでは、[ 既存の追加] コマンドを使用して、ソリューションにまだ含まれていないオブジェクトを取り込むことができます。
注意
既存のオブジェクトの一覧は、環境にインポートされたバージョンとソリューションによって異なります。
実行するカスタマイズの多くには、テーブルが含まれます。 現在のソリューションのすべての テーブル の一覧をフィルター処理して表示するには、左側のウィンドウで [テーブル] を選択します。 テーブルをドリルインすると、このスクリーンショットのアカウント テーブルに示されているように、テーブルの一部であるオブジェクトを表示できます。
ソリューションからオブジェクトを削除する
アンマネージド ソリューションからオブジェクトを削除できます。 ソリューションを開いた状態でオブジェクトを選択し、コマンド バー で [このソリューションから削除 ] を選択します。
オブジェクトが削除されると、ソリューションの一部ではなくなります。 ただし、オブジェクトは引き続き環境内に存在し、別のソリューションに追加できます。 環境内のすべてのソリューションからオブジェクトを削除すると、そのオブジェクトを削除できます。
重要
オブジェクトが削除されると、オブジェクトを回復することはできなくなります。また、カスタム テーブルを削除した場合のテーブル レコードなど、関連付けられているすべてのデータは失われます。 オブジェクトを保持するが、ソリューションには含まない場合は、削除せずにソリューションから削除します。
オブジェクトを削除するには、オブジェクトを選択し、[ この環境から削除] を選択します。
変更の公開
環境でアンマネージド変更を行うと、テーブル、フォーム、モデル駆動型アプリ、サイト マップ、ビューなどの一部のオブジェクトが発行されていない状態で保存されます。 発行アクションは、これらの変更をアクティブな状態に昇格させ、エンド ユーザーとソリューションのエクスポートで使用できるようにします。
カスタマイズの公開
左のナビゲーション ウィンドウから、ソリューション を選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
発行するソリューションを開きます。
コマンド バー で [すべてのカスタマイズを発行 ] を選択します。
重要
カスタマイズの準備には時間がかかる場合があります。 ブラウザー ページが応答しないというメッセージが表示された場合は、ページが応答するまで待ってから閉じないでください。
ソリューション発行者
作成したアプリや加えたカスタマイズもソリューションの一部です。 すべてのソリューションには発行者がいます。 ソリューションを作成する際に発行元を指定します。
ソリューション発行者とは、アプリの開発者を意味します。 このため、分かりやすいソリューション発行者を作成する必要があります。 ソリューションの発行元を表示するには、ソリューションを選択し、Power Apps の ソリューション 領域のコマンド バーで ...>設定 を選択します。 ソリューションの発行元の詳細については、Power Platform ALM ガイドの ソリューション発行元 を参照してください。
注意
Common Data Services 既定のソリューションがMicrosoft Dataverse の既定のパブリッシャーに関連付けられています。 既定のカスタマイズ プレフィックスは、このパブリッシャーに対してランダムに割り当てられます (たとえば、 cr8a3できます)。 つまり、このソリューションで組織用に作成されたメタデータのすべての新しい項目の名前は、項目を一意に識別するために使用される名前の前に付けられます。
ソリューション発行者の作成
Power Apps で、ソリューションを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
コマンド バーで [新しいソリューション] を選択し、右側のウィンドウで [パブリッシャー] の下にある [新しい発行元] を選択します。
新しい発行元 のフォームで、必要な情報とオプション情報を入力します。
- 表示名: 発行元の表示名称を入力します。
- 名前. 発行元の一意の名称を入力します。
- Description. 必要に応じて、パブリッシャーの説明を追加できます。
- 接頭辞: お好みの発行元の接頭辞を入力します。
- 選択肢の値のプレフィックス。 この列は、発行元の接頭辞に基づいて番号を生成します。 この数値は、選択肢にオプションを追加する際に使用され、オプションの追加にあたってどのソリューションが使用されたかを示す指標となります。
保存を選択します。
注意
ソリューション名の一部として_upgradeを使用しないでください。 _upgradeは、ソリューションの アップグレード プロセス に使用する内部予約語です。
ソリューションの発行元を変更する
次の手順に従って、 アンマネージド ソリューションのソリューション発行元を変更できます。
- Power Apps で、[ソリューション] を選択し、目的のソリューションを選択し、[...>コマンド バーの設定。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
- [ ソリューション設定 ] ウィンドウで、[パブリッシャー] ドロップダウン リストから別の 発行元 を選択するか、[ 新しい発行元 ] を選択して新しい発行元を作成します。 詳細: ソリューション発行元を作成する。
- [更新] を選択します。
ソリューションでセグメント化テーブルを使用する
テーブルのセグメント化を使用して、ソリューションの更新プログラムを配布するときに更新されるテーブル オブジェクトのみを含めます。 詳細については、Power Platform ALM ガイドに記載のセグメント化されたソリューションを使用するを参照してください
適切なテーブルのセグメント化を使用してソリューションを作成するには、まずアンマネージド ソリューションを作成し、更新したオブジェクトのみを追加します。
たとえば、カスタム テーブルという他の環境に存在しない新しいカスタム テーブルを作成し、アカウント テーブル に Top Ten という名前の新しい列を追加したとします。 テーブルのセグメント化を使用してソリューションを作成するには、次の手順に従います。
Power Apps に移動し、ソリューションを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
新規ソリューション を選択してソリューションを作成します。 必須列に情報を入力します。 作成を選択します。
作成したソリューションを開きます。 コマンド バーで、[既存のものを 追加] を選択し、[ テーブル] を選択します。
[ 既存のテーブルの追加 ] ウィンドウで、ソリューションに追加する 1 つ以上のテーブルを選択します。 例えば、取引先企業 と カスタム テーブル を選択します。 次へ を選択します。
[ テーブルの選択 ] ウィンドウで、含めるアセットから選択できます。
- すべてのオブジェクトを含める。 このオプションには、テーブルに関連付けられているすべてのコンポーネント と メタデータが含まれます。 これには、ビジネス プロセス フロー、レポート、接続、キューなどの他のテーブルまたはテーブル コンポーネントを含めることができます。 たとえば、カスタム テーブルがターゲット環境にインポートされていない場合は、このオプションを選択します。 この例では、カスタム テーブルがターゲット環境にインポートされたことがないので、[ カスタム テーブル] にこのオプションを選択します。
- テーブル メタデータを含める。 このオプションには、テーブルに関連付けられているメタデータ のみ が含まれます。 メタデータには、監査、重複データ検出、または、変更追跡などのテーブル属性が含まれます。
- オブジェクトを編集します。 このオプションを使用すると、列、関連付け、ビジネス ルール、ビュー、フォーム、グラフなど、テーブルに関連付けられている各コンポーネントを個別に選択できます。 アカウント テーブルが Dataverse に含まれており、仕様によってターゲット環境にも存在していることに注意してください。 したがって、この例ではアカウントテーブルに「Top Ten」という新しいカスタム列が追加されましたので、オブジェクトの編集を選択した後で選択してください(次のステップで)。
-
すべてのオブジェクトをクリアします。 [ オブジェクトの編集] オプションを使用してオブジェクトを選択した場合は、選択したすべてのオブジェクトをクリアして最初からやり直すことができます。
[オブジェクトの 編集] を選択した場合は、オブジェクトリストペインが開きます。 ここでは、ソリューションに含める特定のオブジェクトを選択できます。 この例では、先ほど Account テーブルを選択したので、テーブルの唯一の新規または編集済みコンポーネントであるため、[ 上位 10 列] 列を選択し、[ 追加] を選択します。
[ 追加] を選択して、ソリューションにオブジェクトを追加します。
ソリューション内のテーブルのセグメント化が重要な理由
アカウントや連絡先などの既存のシステム テーブル、またはダウンストリーム環境に既にインポートされているテーブルのソリューションにカスタム テーブルを追加する場合、ベスト プラクティスは、ソリューションで 更新されたテーブル オブジェクトのみを追加 することです。 ソリューションのセグメント化では、すべてのアセットを含むテーブル全体ではなく、選択したテーブル アセット (テーブル列、フォーム、ビューなど) と共にソリューションの更新をエクスポートします。 これにより、他のソリューションが効果的になるのを妨げる不要なレイヤーや、他のソリューションへの不要な依存関係を回避できます。 テーブルがアンマネージドの場合は、システムによって自動的に すべてのオブジェクトを含める が選択され、テーブルにアンマネージド レイヤーがある場合は テーブル メタデータを含める が選択されます。 また、システムは、アンマネージドまたはアンマネージドカスタマイズを持つテーブルアセットを自動的に事前選択します。 [ オブジェクトの編集] リンクを選択すると、[ 追加 ] を選択してプロセスを完了する前にその選択内容を確認できます。
重要
ターゲット環境に存在しないテーブルをセグメント化しないでください。 テーブルがインポートされていない場合、またはターゲット環境にまだ存在していない場合は、テーブルをソリューションに追加するときに 、最近作成した新しいカスタム テーブルを追加する場合など、[ すべてのオブジェクトを含める ] を選択する必要があることに注意してください。 それ以外の場合は、ソリューションをインポートしようとすると、不足している依存関係エラー メッセージが表示されます。
ソリューション エクスプローラーを使用してテーブルのセグメント化を使用してソリューションを作成する
次の図に、テーブル アセットを Account テーブル、Case テーブル、および Contact テーブルから選択して、セグメント化したソリューションを作成した例を示します。
注意
サポート案件テーブルは、Dynamics 365 Customer Service などの一部の Dynamics 365 アプリケーションに含まれています。
作成したアンマネージド ソリューションを開くことから始めます。 テーブル コンポーネントを選択します。
次に、ソリューション コンポーネントを選択します。
ウィザードに従います。 手順 1 で、アルファベット順に開始して、ここに示すように、最初のテーブルである Account テーブルのアセットを選択します。
フィールド タブを開き、取引先企業番号 列を選択します。
手順 2 で、サポート案件 テーブルに、すべてのアセットを追加します。
手順 3 で、取引先担当者 テーブルに 記念日 列を追加します。
その結果、作成したセグメント化されたソリューションには、Account、Case、Contact の 3 つのテーブルが含まれます。 各テーブルには選択した資産のみが含まれます。
ソリューションの削除
ソリューションには マネージド とアンマネージドの 2 種類があるため、各種類のソリューションを削除する動作は異なります。
削除するソリューションに、他のコンポーネントに依存しているコンポーネントが含まれている可能性があります。 コンポーネントを削除する前に、これらの依存関係を削除する必要があります。 詳細: Power Apps でコンポーネントの依存関係を表示する
管理ソリューションの削除
マネージド ソリューションを削除すると、そのソリューション内の すべての コンポーネントが削除 (アンインストール) されます。 さらに、すべての関連データも削除されます。
注意
ソリューション内のすべてのコンポーネントと関連するすべてのデータが削除されるため、マネージド ソリューションを削除するときは注意が必要です。
アンマネージド ソリューションの削除
アンマネージド ソリューションを削除すると、ソリューション コンテナーは削除されますが、その中のアンマネージド コンポーネントは削除されません。 関連付けられているデータもすべて残ります。 アンマネージド ソリューション内のすべてのコンポーネントを削除するには、各アンマネージド コンポーネントを個別に削除する必要があります。
マネージドまたはアンマネージド ソリューションの削除
注意
ソリューションを削除する前に、その影響を理解していることを確認してください。 一度削除されたソリューションは復元できません。 詳細情報: マネージド ソリューションを削除する と アンマネージド ソリューションの削除する
- Power Apps にサインインします。
- 左側のナビゲーション ウィンドウで、ソリューション を選択し、ソリューション リストで目的のソリューションを選択 (開かないでください) します。
- コマンド バーで 削除 を選択します。
制限
- ソリューションのサイズは 95 MB に制限されています。
- ソリューションの数は Microsoft Dataverse キャパシティによって制限されます。
- ソリューションの物の数は Dataverse キャパシティによって制限されます。