マネージド プロパティの使用
マネージド プロパティを使用すると、どのマネージド ソリューション コンポーネントがカスタマイズ可能であるかを制御できます。 既定では、すべてのカスタム ソリューション コンポーネントがカスタマイズ可能です。 それぞれのソリューション コンポーネントには、カスタマイズ可能 (IsCustomizable
) というプロパティがあります。 このプロパティ値が true に設定されている限り、その種類のソリューション コンポーネントに特有のプロパティをさらに指定できます。 IsCustomizable.Value
プロパティを false に設定すると、ソリューションをマネージド ソリューションとしてインストールした後、そのソリューション コンポーネントはカスタマイズできなくなります。
管理プロパティにより、同じ発行元のソリューションのみがコンポーネントを変更できるようになります。 管理プロパティは管理コンポーネントにのみ影響し、コンポーネントがまだ管理されていない開発環境ではこれを強制しません。 IsCustomized
管理プロパティの使用は、他の発行元からの他のソリューション レイヤーがないこと、およびコンポーネントが管理ソリューションとしてインストールされた後、コンポーネントに対してアクティブなカスタマイズを実行できないようにすることを目的としています。
次のテーブルは、使用できるソリューション コンポーネントのサブセット用のマネージド プロパティを一覧表示しています。
コンポーネント | 表示名 | プロパティ |
---|---|---|
エンティティ | カスタマイズ可能 | IsCustomizable。Value |
Entity | 修正可能な表示名 | IsRenameable。Value |
Entity | 関連エンティティとして関係を構築可能 | CanBeRelatedEntityInRelationship.Value (読み取り専用) |
Entity | 主エンティティとして関係を構築可能 | CanBePrimaryEntityInRelationship.Value (読み取り専用) |
Entity | 多対多の関係を構築可能 | CanBeInManyToMany.Value (読み取り専用) |
Entity | 新しいフォームを作成可能 | CanCreateForms。Value |
Entity | 新しいグラフを作成可能 | CanCreateCharts。Value |
Entity | 新しいビューを作成可能 | CanCreateViews。Value |
Entity | マネージド プロパティによって表されていない他のすべてのエンティティ プロパティを変更可能 | CanModifyAdditionalSettings。Value |
エンティティ | 属性を作成できる | CanCreateAttributes。Value |
フィールド (属性) | カスタマイズ可能 | IsCustomizable。Value |
フィールド (属性) | 表示名を変更できる | IsRenameable。Value |
フィールド (属性) | 入力要求レベルを変更可能 | RequiredLevel。CanBeChanged 注意: RequiredLevel は、 CanBeChanged プロパティを使用する唯一の管理プロパティです。 |
フィールド (属性) | マネージド プロパティによって表されていない他のすべての属性プロパティを変更可能 | CanModifyAdditionalSettings。Value |
エンティティ関係 | カスタマイズ可能 | IsCustomizable。Value |
フォーム | カスタマイズ可能 | SystemForm.IsCustomizable.Value |
グラフ | カスタマイズ可能 | SavedQueryVisualization.IsCustomizable.Value |
ビュー | カスタマイズ可能 | SavedQuery.IsCustomizable.Value |
オプション セット | カスタマイズ可能 | IsCustomizable。Value |
Web リソース | カスタマイズ可能 | WebResource.IsCustomizable.Value |
Workflow | カスタマイズ可能 | Workflow.IsCustomizable.Value |
Workflow | 他の公開元に許可されたカスタム処理手順 | Workflow.IsCustomProcessingStepAllowedForOtherPublishers.Value |
組み立て | カスタマイズ可能 | SdkMessageProcessingStep.IsCustomizable.Value |
アセンブリ登録 | カスタマイズ可能 | ServiceEndpoint.IsCustomizable.Value |
電子メール テンプレート | カスタマイズ可能 | Template.IsCustomizable.Value |
サポート情報の記事のテンプレート | カスタマイズ可能 | KbArticleTemplate.IsCustomizable.Value |
契約テンプレート | カスタマイズ可能 | ContractTemplate.IsCustomizable.Value |
差し込み印刷用テンプレート | カスタマイズ可能 | MailMergeTemplate.IsCustomizable.Value |
ダッシュボード | カスタマイズ可能 | SystemForm.IsCustomizable.Value |
セキュリティ ロール | カスタマイズ可能 | Role.IsCustomizable.Value |
システム フォーム | 削除可能 | 削除可能です。Value |
システム クエリ | 削除可能 | 削除可能です。Value |
ワークフローは他の公開元に許可されたカスタム処理の手順
この管理プロパティは、カスタム プロセス アクションによって作成されたメッセージに対してサードパーティによって登録されたプラグイン ステップを実行するかどうかを制御します。 既定値は false
で、同じソリューション発行者を使用しない登録済みのプラグイン ステップが実行されないことを意味します。 これが true
の場合、カスタム プロセス アクションの公開元は、登録済みのプラグイン登録ステップの実行を許可します。
マネージド プロパティの更新
マネージド ソリューションをリリースした後、マネージド プロパティを変更する必要があるかどうかを決定できます。 マネージド プロパティの変更は、それらの制限を緩和する場合にのみ行えます。 たとえば、最初のリリース後にあるエンティティのカスタマイズの許可を決定できます。
ソリューションのマネージド プロパティを更新するには、マネージド プロパティを変更したソリューションへの更新プログラムをリリースします。 マネージド ソリューションの更新は、元のマネージド ソリューションと同じ発行者レコードと関連付けられた別のマネージド ソリューションによってのみ行えます。 マネージド プロパティの制限を強化するような変更が更新プログラムに含まれる場合、そうしたマネージド プロパティの変更は無視されますが、更新プログラム内の他の変更は適用されます。
元の発行者はマネージド ソリューションのマネージド プロパティを更新するための要件なので、マネージド ソリューションのインストールに使用されている発行者をアンマネージド ソリューションに関連付けることはできません。
Note
つまり、マネージド ソリューションがインストールされている組織を使用した、ソリューションの更新プログラムの開発は行えなくなります。
マネージド プロパティの確認
ソリューション コンポーネントがカスタマイズ可能かどうかを確認するには、IsComponentCustomizableRequest を使用します。 あるいは、ソリューション コンポーネントのプロパティを確認することもできますが、その意味の最終的な決定には複数のプロパティの値が影響することを考慮する必要があります。 それぞれのソリューション コンポーネントには、IsCustomizable
プロパティがあります。 ソリューション コンポーネントがマネージド ソリューションの一部としてインストールされている場合は、IsManaged
プロパティが true になります。 マネージド プロパティは、マネージド ソリューションにのみ適用されます。 マネージド プロパティを確認して個々のソリューション コンポーネントがカスタマイズ可能かどうかを決定する際には、IsCustomizable
と IsManaged
の両方のプロパティを確認する必要があります。 IsCustomizable
が false かつ IsManaged
が false であるソリューション コンポーネントは、カスタマイズ可能です。
エンティティと属性には、IsCustomizable
以外にもマネージド プロパティがあります。 これらのマネージド プロパティは、IsCustomizable
が false に設定されている場合、更新されません。 つまり、マネージド プロパティが適用されているかどうかを確認するには、個々のマネージド プロパティを確認するだけでなく、IsCustomizable
プロパティも確認する必要があります。