実践 Dynamics CRM環境運用 (5) ソリューション移行の注意

前回はソリューション移行に関して記載をした。

今回はソリューション移行時の注意に関して記載する。

当然これがすべてではない。まず注意するべき点と捉えて頂きたい。

 

・削除的な処理は行われない

・ビューの非アクティブは移行されない(反映されない)

 

以下の環境を準備し、[CRM]テナントから[CRM2]テナントへソリューション移行を行う。

移行元の[CRM]テナント:

・前回作成した取引先企業エンティティの[テスト]フィールドを削除する。

20140815_001

・[アクティブな取引先企業]ビューを非アクティブにする。

20140815_002

20140815_003

※非アクティブとはいわゆる論理削除。テーブル上は残るが、画面上からは非表示になるような設定。

 

この状態から前回投稿と同じ手順でソリューションファイルをエクスポートする(画面ショット省略)。

前回投稿と同じ手順で[CRM]にソリューションファイルをインポートする(画面ショット省略)。

少々分かり難いが結果は以下である。

まず、[テスト]フィールドであるが、下記画面上では非表示となっている。

[テスト]フィールドを削除した結果、ソリューションファイルの画面構成を決定する箇所において、

[テスト]フィールドが削除された状態でUpdateされたためと思われる。

20140815_004

しかしながら、フィールドは(物理)削除されていない。単純にフォームからはずされただけである。

例えば下記のようなフォームカスタマイズ画面を起動すると右下の利用していないフィールドに

[テスト]が表示され、存在していることが確認できる。

20140815_005

ソリューションのインポートは、ディレクトリ内に対するファイルの上書き的な機能である。

フォルダごと上書きコピーをするようなもの(削除を伴う置き換え)ではない。

これは、フィールドだけではなく、ビューやエンティティそのものでも同様のことが言える。

また、フォーム画面上からは削除されているため、一見すると物理削除されているように勘違いしがちである点も

注意が必要となるポイントである。

 

次に、非アクティブ化したビューであるが、これはバグと考えてもよいものである。

実際の画面は以下のとおりであり、非アクティブ化した[アクティブな取引先企業]ビューが表示されている。

20140815_006

実践的にはどのようなことが言えるであろうか。

一般的に標準のビューには運用上不要となるビューが存在する。

キャンペーン機能を利用しなければ、キャンペーンという文字列が含まれるビューは不要であり、

ユーザーには非表示となるようにしたいと考えるものである。

一方で、デフォルトとして存在しているものを物理削除するとパッケージとしての機能に何らかの

悪い影響を与えかねないと推測することはおかしいことではない。

つまり、デフォルト機能を物理削除をせずに論理削除をしたいという要望はよくあるケースである。

これに伴い、開発環境において、ビューの非アクティブ化をしたとして、リリース時にソリューションの移行を行う。

すると上記の現象が発生し、再度作業をする必要が発生する。

ソリューションの移行ではこの作業の回避はできない(少なくとも私は回避策をしらない)ため、

作業が発生することを認識し、スケジュールに組み込んでおく必要がある。

以上。

次回は組織のインポートに関して記載する。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中