エンティティのカスタマイズ:...

18
139 4 エンティティのカスタマイズ: 概念と属性 4 Dynamics CRMのエンティティをカスタマイズする方法を説明する前に、なぜシス テムをカスタマイズする必要があるのかについて説明しましょう。たとえば、ある企業 がDynamics CRMの実装を検討していて、その試用版が既にインストールされている と仮定します。この企業のオーナーや重役は、ユーザーインターフェイスや既定の フォーム(図4-1の[取引先企業]フォームなど)を見て、「これは私たちが望んでいる 顧客の情報とは違う」と考えるかもしれません。「[発送方法]フィールドや[運賃条件] フィールドなんて使わないぞ」「顧客の業種コードや従業員数を入力するフィールドは どこにあるんだ?」「顧客の名前は「取引先企業」じゃなくて「会社」だぞ」などと言 い出す可能性もあります。 図4-1 既定の[取引先企業]フォーム おそらく、Dynamics CRMシステムをビジネスのニーズに合わせてどうカスタマイ ズするのか、たった一度しか話し合いをしていないのですね。そのような場合でも、文 字どおりほんの数分で、プログラムコードを1 行も書かずにDynamics CRMをカスタマ

Upload: others

Post on 28-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

139

第4章

エンティティのカスタマイズ:概念と属性

4第 章

Dynamics CRMのエンティティをカスタマイズする方法を説明する前に、なぜシステムをカスタマイズする必要があるのかについて説明しましょう。たとえば、ある企業がDynamics CRMの実装を検討していて、その試用版が既にインストールされていると仮定します。この企業のオーナーや重役は、ユーザーインターフェイスや既定のフォーム(図4-1の[取引先企業]フォームなど)を見て、「これは私たちが望んでいる顧客の情報とは違う」と考えるかもしれません。「[発送方法]フィールドや[運賃条件]フィールドなんて使わないぞ」「顧客の業種コードや従業員数を入力するフィールドはどこにあるんだ?」「顧客の名前は「取引先企業」じゃなくて「会社」だぞ」などと言い出す可能性もあります。

図4-1 既定の[取引先企業]フォーム

おそらく、Dynamics CRMシステムをビジネスのニーズに合わせてどうカスタマイズするのか、たった一度しか話し合いをしていないのですね。そのような場合でも、文字どおりほんの数分で、プログラムコードを1行も書かずにDynamics CRMをカスタマ

Page 2: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

140

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

イズして、図4-2のような新規フォームにできるのです。

図4-2 新しいフィールドで修正し、「取引先企業」を「会社」にした[取引先企業]フォーム

他のCRMベンダーのアプリケーションでこのようなカスタマイズを行うと、コーディングとテストに数週間はかかります。「取引先企業」という名前を「会社」に変更するような重要なシステム用語の変更さえ、できない場合もあります。しかし、Dynamics CRMカスタマイズモデルでは、これらの変更が可能です。他のカスタマイズも、そのほとんどを行うことができます。

Dynamics CRMには非常に多くのシステムカスタマイズ機能が用意されており、プログラミングの知識がなくても、Webベースのインターフェイスを使用してほとんどのカスタマイズを行えます。実際、Dynamics CRMのカスタマイズ機能は多いので、エンティティのカスタマイズは次のように3つの章に分けて説明します。

● 概念と属性● フォームとビュー● 関連付けとユーザー定義エンティティ

この第4章では、エンティティのカスタマイズに関する概念について解説し、その後、エンティティの属性とエンティティのカスタマイズについて説明します。

Page 3: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

141

第4章

4.1 カスタマイズの概念 Dynamics CRMは、業種や規模に関係なく、どのような企業でも使用できる水平型

のプラットフォームです。まったく同じプロセスを使用したり、同じ顧客データを追跡したりするビジネスは2つとありません。そのため、マイクロソフトはメタデータ方式の製品アーキテクチャを使用して、Dynamics CRMを簡単にカスタマイズできるように設計しました。 「メタデータ」とは、「データに関するデータ」と定義されます。ユーザーが顧客また

は潜在顧客を検索すると、Dynamics CRMが背後で実行され、メタデータからレコードデータを取得します。そして次に、実際の基礎システムデータから情報を取得します。Dynamics CRMはSQL Serverを使用して、リレーショナルデータベース形式でその基礎システムデータを格納しています。図4-3は、このメタデータ方式の概念を簡略化した図です。

Dynamics CRM ユーザー

インターフェイス

基礎システムデータ(SQL Server)メタデータ

図4-3 メタデータ製品アーキテクチャ

当然のことながら、Dynamics CRMでメタデータアーキテクチャが使用されていることは、ユーザーにはわかりません。しかし、知っておくことには意味があります。その理由は次に示すとおりです。

● メタデータでは、WebサービスおよびXMLデータ形式を多用する。したがって、Dynamics CRMのマニュアルおよび本書によって、これらのテクノロジに関連する用語(「エンティティ」や「属性」など)を知ることができる。

● Dynamics CRMのメタデータ方式のアーキテクチャを使うと、他のCRMシステムでは実行がきわめて難しい(場合によっては不可能な)カスタマイズを迅速かつ容易に行える。

● Dynamics CRMでは、メタデータの非常に複雑な詳細を自動的に管理する。SQL Serverで基礎システムデータに直接変更を加えると、メタデータが破損し、取り返しがつかないエラーがシステムで発生する危険がある。

メタデータとSQL Serverの基礎システムデータが常に正しく構成されるように、Dynamics CRMにはシステムのカスタマイズのための2つの方法が用意されています。1つ目の方法は、メタデータの変更を管理するために特に設計されたWebベースのインターフェイスです。2つ目は、Microsoft Dynamics CRM 4.0ソフトウェア開発キット

(SDK)を使用してプログラムによってメタデータを変更する方法です。どちらのツー

Page 4: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

142

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

ルも、Dynamics CRMの定義済みフレームワーク内で機能し、メタデータとSQL Serverの基礎システムデータを適切に更新できます。

メモ 3Microsoft Dynamics CRM 4.0 SDKとプログラムによるメタデータの変更につい

ては、「第9章 Dynamics CRM 4.0 SDK」で詳しく説明します。

● Webベースの管理ツールのシンプルでわかりやすいインターフェイスが使える。● カスタマイズツールを使った変更に対して、マイクロソフトテクニカルサポート

から支援が得られる。● Dynamics CRMの将来的なリリースや更新に対して、カスタマイズがスムーズ

にアップグレードできる。● Dynamics CRMへサードパーティのソフトウェアアドインをインストールでき

る。

このように、Dynamics CRMのメタデータアーキテクチャとDynamics CRMが提供するカスタマイズツールには、多くの利点があります。次に、カスタマイズに関連する次のような重要な概念と用語について説明します。

● エンティティと属性● セキュリティとアクセス許可● カスタマイズの公開● カスタマイズのインポートとエクスポート● カスタマイズ可能なエンティティの名前変更

4.1.1 エンティティと属性

AccessやSQL Serverなどのリレーショナルデータベースを使用した経験があれば、「テーブル」および「列」という用語の意味は理解していることでしょう。Dynamics CRMのメタデータ方式のXMLベースの用語は、これらの概念を「エンティティ」と

「属性」に変えるだけです(表4-1)。

表4-1 用語の比較

リレーショナルデータベースの用語 XML ベースの用語

テーブル エンティティ

列 属性

1

Page 5: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

143

第4章

Dynamics CRMでは、「取引先企業」、「取引先担当者」、「潜在顧客」、「営業案件」などのエンティティにデータが格納されます。取引先担当者の電話番号などエンティティに関連するデータが、エンティティの属性です。

エンティティ

Dynamics CRMをインストールすると、このソフトウェアに100を超える「システムエンティティ」(「既定のエンティティ」または「既定のシステムエンティティ」とも呼ばれます)が作成されます。当然、この多くをカスタマイズする必要が出てきます。Dynamics CRMでは、システムエンティティに対して行えるカスタマイズのタイプはインストール時にあらかじめ決まっています。限られたカスタマイズのみできるシステムエンティティもあれば、カスタマイズをまったくできないシステムエンティティもあります。また、システムエンティティおよびカスタマイズ可能なエンティティに加えて、

「ユーザー定義エンティティ」と呼ばれるまったく新しいエンティティをDynamics CRM内に作成できます。以上のことをまとめると、エンティティには次の3つの種類があることになります。

●システムエンティティ Dynamics CRMでは、カスタマイズできない100を超えるシステムエンティティ

(特権、ライセンス、カレンダーなど)を使用して、ソフトウェアの内部動作を管理する。これらのエンティティの設定の編集、新規属性の追加、システムからのエンティティの削除はできない。

●カスタマイズ可能なエンティティ Dynamics CRMには、カスタマイズ可能な50を超えるシステムエンティティが

ある。たとえば、取引先企業、活動、ユーザーなどがある。これらのエンティティは、属性の追加からフォームのレイアウト変更まで、さまざまなカスタマイズができる。カスタマイズ可能なエンティティは、名前の変更もできる。ただし、カスタマイズ可能なエンティティは、どれも削除はできない。

●ユーザー定義エンティティ カスタマイズ可能なエンティティが変更できるのと同様、ユーザー定義エンティ

ティも変更できる。さらに、ユーザー定義エンティティは削除もできる。

システムのすべてのエンティティを表示するには、Dynamics CRMの[カスタマイズ]領域で[エンティティのカスタマイズ]をクリックしてください。グリッドが表示され、展開されているすべてのエンティティが一覧表示されます。

参照ユーザー定義エンティティの詳細

第6章

参照ユーザー定義エンティティの詳細

第6章

Page 6: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

144

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

ヒント 3グリッドのビューの選択で使用される用語は紛らわしいかもしれません。[ カスタマ

イズ可能なエンティティ]のビューの選択には、カスタマイズ可能なエンティティとユーザー定義エンティティの両方の種類のエンティティが表示されます。またDynamics CRMでは、カスタマイズ可能なエンティティはソフトウェアのインストール時に作成されるため、これらをシステムエンティティと呼ぶことがあります。たとえば、取引先企業などのカスタマイズ可能なエンティティを削除しようとすると、「システムエンティティは削除できません。」というエラーメッセージが表示されます。

ユーザー定義エンティティおよびカスタマイズ可能なエンティティでは、次のデータをカスタマイズできます。

● 属性● フォーム● ビュー● 関連付け● メッセージ

属性

どのエンティティにも、そのエンティティに関するデータを格納する1つまたは複数の属性があります。Dynamics CRMでは、システムおよびユーザー定義の2種類の属性が使用されます。

●システム属性 システムエンティティと同様に、システム属性を使用して、ソフトウェアの内部

動作を管理する。ソフトウェアの動作が常に正しく行われるように、システム属性は削除できない。ただし、一部のシステム属性値は変更できる。たとえば、システム属性の入力要求レベル(必須項目、推奨項目、制限なし)は指定可能である。

●ユーザー定義属性 ユーザー定義エンティティと同様に、Dynamics CRMではまったく新しいユー

ザー定義属性を追加できる。ユーザー定義属性は、カスタマイズ可能なエンティティおよびユーザー定義エンティティの両方に対して追加または削除できる。しかし、カスタマイズできないシステムエンティティにユーザー定義属性を追加することはできない。

表4-2は、エンティティの種類別に、実行できるカスタマイズを示したものです。

Page 7: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

145

第4章

表4-2 エンティティの種類別に実行可能なカスタマイズ

エンティティの種類 システム(カスタマイズ不可)

カスタマイズ可能(システムが作成)

ユーザー定義

フォーム

ユーザー定義フォームの追加

なし 各エンティティに1つのフォームのみ

各エンティティに1つのフォームのみ

フォームの変更 なし ○ ○

フォームの削除 なし × ×

ビュー

ユーザー定義ビューの追加 なし ○ ○

ビューの変更 なし ○ ○

ビューの削除 なし ○ ○

システム属性

システム属性の追加 × × ×

システム属性の変更 × ○ :一部 ○ :一部

システム属性の削除 × × ×

ユーザー定義属性

ユーザー定義属性の追加 × ○ ○

ユーザー定義属性の変更 × ○ ○

ユーザー定義属性の削除 × ○ ○

メッセージ

メッセージの追加 × × ×

メッセージの変更 × ○ なし

メッセージの削除 × × なし

Dynamics CRMが使用するSQL Serverデータベースでは、エンティティに追加できるユーザー定義属性の数に限度がある点に注意してください。ほとんどのユーザーは、このデータベースの制限に関する問題に遭遇することはありませんが、このような制限が存在することは知っておく必要があります。

コラム 3 最大属性数の計算

Dynamics CRMに新しいユーザー定義属性を追加すると、SQL Serverデータベースに列が追加されます。1つのエンティティに多くのユーザー定義属性を追加する場合、任意の1行が使用するバイト数を考慮しなければなりません。SQL Server 2000には任意の1レコードに対して8,060バイトという制限がありましたが、SQL Server 2005では、オーバーフローページの概念を使用してこの制約を背後で自動的に緩和しています。現在、Dynamics CRM 4.0ではSQL Server 2005以降をサポートしてい

Page 8: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

146

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

るため、行のバイト制限に遭遇する心配はありません。しかし、データベースのパフォーマンス上の理由から、レコードはしきい値である8,060バイト以下にすることが推奨されるため、バイト制限の存在を知っておくことは重要です。興味があるユーザーのために、ここでバイト数の計算方法について説明します。

Dynamics CRMは、システムフィールドとは異なるSQL Serverテーブルにユーザー定義属性を格納します。その結果、ユーザー定義属性を追加するために8,060バイトのほとんどすべてを使用できます(Dynamics CRMは、ユーザー定義属性を適切なエンティティにリンクするための相互参照列を1つ自動的に追加します )。 また、Dynamics CRMではユーザー定義属性が削除できるので、必要に応じてフィールドを削除できます。

テーブルの1行の最大バイト数(Dynamics CRMのエンティティの推奨される最大ユーザー定義属性数を計算する際の目安)は、属性のデータ型によって異なります。データ型、および各データ型が必要とするバイト数は、表4-3に示すとおりです。

表4-3 各データ型で必要なバイト数

データ型 必要なバイト数

boolean 1

datetime 8

picklist 4

integer 4

float 8

decimal 選択された精度に応じて5~ 17の間で可変

currency 8

ntext 16

nvarchar(n) n × 2(nはnvarcharのフィールド長)

nvarcharフィールドは、明らかに最も多くの領域を占有します。そのため、このフィールドをDynamics CRMのデータに追加する際には注意が必要です。たとえば、それぞれ100文字の長さを持つユーザー定義nvarcharフィールドを25個追加すると、使用可能な8,060バイトのうちの5,000バイト(25×100×2)が使用されます(62%)。それに対して、ユーザー定義booleanフィールドを25個追加しても、使用可能な8,060バイトのうちの25バイト(25×1)しか使用されません(0.3%)。

また、Dynamics CRMでは、列レベルで行のバイト数の制限がなくなりました。したがって、各4,000文字の長さのユーザー定義nvarchar属性を2つ追加できます。これは、合計で16,000バイト(4,000×2+4,000×2)になり、明らかに、8,060バイトというSQL Serverの推奨最大値を超えることになります。しかし、Dynamics CRMではこれが認められます。その理由は、SQL Serverはテーブル全体に対してではなく個々の行(レコード)ごとにバイト制限を実施するためです。したがって、レコードを追加し、各4,000文字の長さのnvarcharフィールドを2つ追加すると、SQL Server 2005が自動的に8,060バイトのオーバーフローを管理するので、ユーザーがエラーメッセージを受け取ることはありません。ただし、データベースのパフォーマンスに悪影響を及ぼ

Page 9: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

147

第4章

す可能性があるので、このようなシナリオが頻繁に発生しないようにすることをお勧めします。

4.1.2 セキュリティとアクセス許可

システム管理者ロールを割り当てられたユーザーは、この章で説明したカスタマイズを含め、システムのすべての機能を実行できます。しかし、特定のユーザーがシステムをカスタマイズできる方がよい場合でも、そのユーザーにシステム管理者権限を与えたくはないでしょう。Dynamics CRMでは、だれがどのカスタマイズを実行できるかを指定するために、セキュリティロールを設定できます。Dynamics CRMでシステムのカスタマイズ特権を持つ既定のセキュリティロールは、2つあります。「システム管理者」と

「システムカスタマイザ」です。図4-4に示したのは、システムカスタマイザロールの既定のセキュリティ設定です。

図4-4 システムカスタマイザロールの既定のセキュリティ設定

この画面からわかるように、Dynamics CRMでは「はい」/「いいえ」を指定するだけではなく、より詳細なレベルでカスタマイズ権限を強化できます。たとえば、一部のユーザーに対して新しい属性の作成を許可し、その同じユーザーに対して新しいエンティティの作成は許可しないといったこともできます。また、エンティティのカスタマイズに関して削除権限を除外することもできます。カスタマイズを行う人がDynamics CRMの新規ユーザーである場合は、すべての削除権限を除外するように既定のシステムカスタマイザロールを変更し、そのユーザーをシステム管理者ロールに割り当てないようにすることを強くお勧めします。Dynamics CRMは、カスタマイズの変更の間違いには非常に寛大ですが、カスタマイズの削除は回復できません。たとえ、40時間かけてユーザー定義エンティティをカスタマイズしたとしても、そのエンティティをだれかがうっかり削除してしまったら、その努力は永遠に失われます。システムカスタマイザ

1

Page 10: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

148

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

ロールのセキュリティ設定を変更するには、(「第3章 セキュリティおよび情報アクセスの管理」で説明したように)図4-4で適切なオプションをクリックし、セキュリティロールを保存してください。

ヒント 3削除したカスタマイズを元に戻すことはできませんが、事前対策としてカスタマイズ

をバックアップして、過失によるカスタマイズの損失を回避することはできます。カスタマイズをだれかが誤って削除してしまった場合は、バックアップファイルからカスタマイズを再インポートできます。バックアップからカスタマイズを復元してもレコードから削除されたデータは回復できませんが、カスタマイズを初めからやり直す時間は節約できます。カスタマイズを正常に公開したら、毎回バックアップすることをお勧めします。カスタマイズのバックアップを作成するには、すべてのエンティティのカスタマイズをエクスポートして、Dynamics CRMが作成したファイルを保存してください。

カスタマイズのインポート、エクスポート、および公開については、この章の後で再度説明します。システム管理者ロールおよび既定のシステムカスタマイザロールを割り当てられたすべてのユーザーは、これらのアクションを実行できます。さらに、特権のオン/オフをセキュリティロールごとに個々に切り替えることもできます。たとえば、あるセキュリティロールに対して、カスタマイズのインポートを許可し、カスタマイズのエクスポートおよび公開は許可しないこともできます。これらの特権は、主にDynamics CRMシステムをカスタマイズおよび構成する必要があるユーザーに付与してください。

4.1.3 カスタマイズの公開

Dynamics CRMエンティティに対してカスタマイズを実行しても、行った変更がすぐにユーザーに見えるわけではありません。正確に言えば、カスタマイズをいつ「公開」してユーザーにそれらを表示するかは、システム管理者が決定します。カスタマイズをいつ公開するかを指定する機能を使えば、負担はあまりありません。この機能によって、相互に関連する一連のカスタマイズを行った後、そのカスタマイズを一度にすべてのユーザーが使用できるようにすることが可能です。さらに便利なことに、Dynamics CRMではカスタマイズを公開する方法を選択できます。使用できるのは、次の3つの方法のいずれかです。

● 一度に1つのエンティティを公開する。● 同時に2つ以上のエンティティを公開する。● 一度にすべての公開可能なエンティティを公開する。

Dynamics CRMでは、非常に簡単なプロセスでカスタマイズを公開できます。

1

Page 11: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

149

第4章

公開プロセス

エンティティを公開すると、Dynamics CRMは、すべての属性、属性のプロパティ、フォーム、ビュー、関連付けなど、そのエンティティに関連するすべての変更を公開します。以下に、ユーザーにカスタマイズを公開する手順を示します。

選択したエンティティのカスタマイズを公開する

❶ Dynamics CRMの[カスタマイズ]領域に移動し、[エンティティのカスタマイズ]をクリックする。

❷ 公開するエンティティを選択する。複数のエンティティを選択する場合は、1つ目のエンティティを選択し、cを押しながら追加エンティティを選択する。

❸ グリッドツールバーの[公開]ボタンをクリックすると、カスタマイズが公開されていることを示すメッセージが表示される。

公開メッセージが消えると、公開するように選択したすべてのカスタマイズがユーザーに対して表示されます。1つのエンティティのカスタマイズを公開する場合には、図4-5に示すように、エンティティエディタで[操作]メニューの[公開]をクリックします。

Page 12: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

150

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

図4-5 エンティティエディタでの1つのエンティティの公開

ひと言 3Dynamics CRMは、IIS(Internet Information Service:インターネットインフォ

メーションサービス)上で動作するWebアプリケーションです。カスタマイズを公開するには、Dynamics CRMメタデータの最新版が必要です。そのため、一部のユーザーが公開プロセスの途中でDynamics CRMにアクセスしようとすると、不具合に遭遇することがあります。可能であれば、ユーザーがDynamics CRMを使用していないことがわかっているときにカスタマイズを公開してください。

選択したエンティティの公開だけでなく、一度にすべてのエンティティを公開することもできます。

すべてのエンティティのカスタマイズを公開する

❶ Dynamics CRMの[カスタマイズ]領域に移動し、[エンティティのカスタマイズ]をクリックする。

❷ グリッドツールバーの[その他の操作]の[すべてのカスタマイズの公開]をクリックする。

Page 13: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

151

第4章

❸ カスタマイズが公開されていることを示すメッセージが表示される。

すべてのエンティティの公開は、いくつかのエンティティを公開するより時間がかかります。したがって、多くのユーザーがDynamics CRMにアクセスしているときは、すべてのカスタマイズを公開することは避けてください。

すべてのカスタマイズを公開する前に考慮すべきたいへん重要な点が、もう1つあります。それは、システム管理者以外の別のシステムカスタマイザが、まだ公開できる状態ではないカスタマイズを行っているかもしれないことです。この場合、すべてのカスタマイズを公開すると、変更が不完全でテストも行われていないだれかのカスタマイズまでもが、知らないうちに公開されてしまう可能性があります。そうなると、システムの不具合やユーザーの混乱が生じかねません。安全のために、変更したエンティティのみ公開することをお勧めします。カスタマイズの「公開の取り下げ」はできません。

[公開]をクリックする前に、準備が整っていることを必ず確認してください。

ひと言 3Dynamics CRMでは、好きなときに好きな頻度で変更を公開できますが、システムを

頻繁かつ不規則に変更すると、ユーザーの混乱を招く可能性があります。カスタマイズを待ち行列に入れ、ビジネスに合ったスケジュール間隔(週に1回、2週間に1回、月に1回など)でカスタマイズを公開する業務プロセスを作成することをお勧めします。また、Dynamics CRMで「お知らせ」を作成することによって、システムに公開した変更をユーザーに通知するように支援することもできます。お知らせは、ワークプレース内のユーザーに対して表示され、システム内の変更の重要な部分を示すことができます。

Page 14: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

152

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

オフラインアクセス対応Outlook用Dynamics CRMへのカスタマイズの公開

Dynamics CRMには、Outlook用のオフライン版Dynamics CRMクライアントがあります。これにより、ネットワークやDynamics CRMサーバーから完全に切り離されている間でも、ユーザーは作業ができます。変更を公開したときに1人または複数のオフラインユーザーがDynamics CRMサーバーに接続していなかったとしても、次回、ノートPCをサーバーに接続したときに問題は発生しません。Dynamics CRMは、公開されたカスタマイズの変更をすべてWebサーバーの待ち行列に入れ、次回、クライアントがソフトウェアを同期したときに、その変更を自動的にOutlookクライアントに展開するのです。

また、Outlookオフラインクライアントが長期間にわたってネットワークから切断されていた間に変更が複数回公開された場合も、Dynamics CRMは同期を処理できます。何百ものOutlookオフラインクライアントが、互いに関係がない任意のタイミングでユーザーがネットワークに接続したり切断したりしている場合であっても、Dynamics CRM同期エンジンは、すべてのユーザーのプロセスをスムーズに管理できます。

要するに、Outlookオフラインユーザーがネットワークに接続したときは、カスタマイズの公開を調整する心配はないということです。好きなときにカスタマイズを公開するだけでよく、複雑な同期作業はすべてDynamics CRMが行います。

4.1.4 カスタマイズのインポートとエクスポート

Dynamics CRMで使用可能なカスタマイズオプションをすべて使用すると、すべてをカスタマイズするのに30分~数千時間を費やすかもしれません。しかしDynamics CRMでは、カスタマイズの一部またはすべてをエクスポートし、それを別のDynamics CRMシステムにインポートする機能があります。このインポート機能およびエクスポート機能を使えば、カスタマイズ作業を繰り返す必要がなくなり、貴重な時間を節約できます。また、事前対策としてカスタマイズをエクスポートして、常にバックアップコピーを持っておくこともできます。

カスタマイズのインポート機能およびエクスポート機能にアクセスするには、ナビゲーションウィンドウで[設定]領域の[カスタマイズ]をクリックします。最初にカスタマイズのエクスポートについて説明しますので、[カスタマイズのエクスポート]をクリックしてください。既定では、エクスポート可能な多くの項目のリストが表示されます(図4-6)。

1

Page 15: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

153

第4章

図4-6 エクスポート可能なカスタマイズのリスト

すべてのユーザー定義エンティティおよびカスタマイズ可能なエンティティに加えて、次のものもエクスポートできます。

●ISV.config ナビゲーションウィンドウ、ツールバー、およびメニューをカスタマイズするた

めの構成ファイル●サイトマップ アプリケーションのナビゲーション構造●セキュリティロール 特定のセキュリティロールの構成●電子メール追跡 最大添付ファイルサイズ、電子メールフォームオプション、電子メール追跡設

定などの電子メール追跡に関するシステム設定●マーケティング 登録解除通知、キャンペーンの反応などのマーケティングに関するシステム設

定●全般 名前の形式、小数点以下の精度、ブロックするファイルの拡張子などのシステ

ム設定●カレンダー カレンダーの書式設定や表示に関するシステム設定●カスタマイズ スキーマ接頭辞、アプリケーションモードなどのシステム設定

Page 16: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

154

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

●顧客間関係ロール すべての顧客間関係ロール●自動付番 契約、サポート案件、見積もり、請求書などの自動付番のためのシステム設定●Outlook同期 同期間隔オプション、電子メールプロモーションオプション、バックグラウンド

同期オプションなどの、Outlook用Dynamics CRMクライアントに関するシステム設定

●テンプレート 記事テンプレート、契約テンプレート、差し込み印刷テンプレート、および電子

メールテンプレート●ワークフロー システムで設定されたワークフロールール

エンティティの1つまたは複数のカスタマイズをエクスポートする

❶ Dynamics CRMの[カスタマイズ]領域に移動し、[カスタマイズのエクスポート]をクリックする。

❷ エクスポートする項目を選択する。❸ グリッドツールバーの[選択したカスタマイズのエクスポート]をクリックす

る。❹ 次のメッセージが表示される。

❺ [OK]をクリックする。❻ 次のダイアログボックスが表示される。

❼ customizations.zipファイルの保存先を選択し、[保存]をクリックする。

Page 17: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

155

第4章

(リストの全項目の)カスタマイズをすべてエクスポートするには、グリッドツールバーの[その他の操作]ボタンの[すべてのカスタマイズのエクスポート]をクリックし、手順7に進みます。

Dynamics CRMが作成した「customizations.zip」ファイルの中に含まれるのは、1つの「customizations.xml」ファイルです。エクスポートするファイルのサイズを最小化するために、1つの.zipファイルにするのです。customizations.xmlファイルをテキストエディタまたはInternet Explorerで開くと、このファイルには、エクスポートするように指定したカスタマイズに関連するすべてのカスタマイズ(XML形式で定義したもの)が含まれていることがわかります。エンティティのカスタマイズをエクスポートした場合、そのカスタマイズには、属性、フォーム、ビュー、マッピング、関連付けが含まれます(これだけに限りません)。ただし、Dynamics CRMでは、エンティティ、関連付け、属性、テンプレートの変更できない属性はエクスポートされません。Dynamics CRMは、カスタマイズをインポートする際にこれらの情報を必要としないため、これで何の問題もありません。したがって、customizations.xmlファイルの中には、これらの項目は存在しません。カスタマイズをcustomizations.zipファイルにエクスポートしたら、そのカスタマイズを別のDynamics CRMシステムにインポートできます。

ヒント 3.zipファイルと.xmlファイルのどちらでも、好きなほうをインポートできます。

カスタマイズをインポートする

❶ Dynamics CRMの[カスタマイズ]領域に移動し、[カスタマイズのインポート]をクリックする。

❷ [参照]をクリックし、エクスポートしたcustomizations.zipファイルを選択して、[開く]をクリックする。

❸ [ファイルのインポート]ボックスにcustomizations.zipファイルの完全パスが表示されるので、[アップロード]をクリックする。

❹ customizations.zipファイルが読み込まれ、インポートに有効な構造が含まれていることが確認される。無効なファイルをインポートしようとすると、エラーメッセージが表示される。ファイルの検証に成功すると、customizations.zipファイルに含まれているエンティティのカスタマイズのリストが表示される。

Page 18: エンティティのカスタマイズ: 概念と属性download.microsoft.com/download/2/A/0/2A0BFFDD-542... · する用語(「エンティティ」や「属性」など)を知ることができる。

156

第2部

カスタマイズ

第4章

エンティティのカスタマイズ:概念と属性

❺ インポートするエンティティの1つまたは複数のカスタマイズを選択して、グリッドツールバーの[選択したカスタマイズのインポート]をクリックする。

❻ 「カスタマイズのインポート処理は、インポートされるアイテムの数によっては、完了まで数分かかることがあります。いったん処理を開始したら、停止することも元に戻すこともできません。カスタマイズのインポートを続行しますか?」という警告メッセージが表示されたら、[OK]をクリックする。

❼ カスタマイズがインポートされていることを示すメッセージボックスが表示される。

❽ インポートプロセスが完了すると、「カスタマイズは正常にインポートされました。」というメッセージが表示される。問題が発生した場合は、カスタマイズのインポートに関する別のメッセージも表示される。

❾ [OK]をクリックする。

重要 3インポート後に、 カスタマイズを忘れずに公開してください。 エンティティにイン

ポートした変更は、これらのエンティティを公開するまでは、ユーザーに対して表示されません。セキュリティロール、テンプレートなどシステムの他の分野に対する変更は、すぐに利用できます。

カスタマイズのインポートの競合

Dynamics CRMでは、追加プロセスによってカスタマイズをインポートします。このプロセスは、ターゲットシステムに新しいカスタマイズを追加しますが、ターゲットシ