マネージド プロパティの使用

マネージド プロパティを使用すると、どのマネージド ソリューション コンポーネントがカスタマイズ可能であるかを制御できます。 既定では、すべてのカスタム ソリューション コンポーネントがカスタマイズ可能です。 それぞれのソリューション コンポーネントには、カスタマイズ可能 (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
システム フォーム 削除可能 CanBeDeletedValue
システム クエリ 削除可能 CanBeDeletedValue

ワークフローは他の公開元に許可されたカスタム処理の手順

この管理プロパティは、カスタム プロセス アクションによって作成されたメッセージに対してサードパーティによって登録されたプラグイン ステップを実行するかどうかを制御します。 既定値は false で、同じソリューション発行者を使用しない登録済みのプラグイン ステップが実行されないことを意味します。 これが true の場合、カスタム プロセス アクションの公開元は、登録済みのプラグイン登録ステップの実行を許可します。

マネージド プロパティの更新

マネージド ソリューションをリリースした後、マネージド プロパティを変更する必要があるかどうかを決定できます。 マネージド プロパティの変更は、それらの制限を緩和する場合にのみ行えます。 たとえば、最初のリリース後にあるエンティティのカスタマイズの許可を決定できます。

ソリューションのマネージド プロパティを更新するには、マネージド プロパティを変更したソリューションへの更新プログラムをリリースします。 マネージド ソリューションの更新は、元のマネージド ソリューションと同じ発行者レコードと関連付けられた別のマネージド ソリューションによってのみ行えます。 マネージド プロパティの制限を強化するような変更が更新プログラムに含まれる場合、そうしたマネージド プロパティの変更は無視されますが、更新プログラム内の他の変更は適用されます。

元の発行者はマネージド ソリューションのマネージド プロパティを更新するための要件なので、マネージド ソリューションのインストールに使用されている発行者をアンマネージド ソリューションに関連付けることはできません。

Note

つまり、マネージド ソリューションがインストールされている組織を使用した、ソリューションの更新プログラムの開発は行えなくなります。

マネージド プロパティの確認

ソリューション コンポーネントがカスタマイズ可能かどうかを確認するには、IsComponentCustomizableRequest を使用します。 あるいは、ソリューション コンポーネントのプロパティを確認することもできますが、その意味の最終的な決定には複数のプロパティの値が影響することを考慮する必要があります。 それぞれのソリューション コンポーネントには、IsCustomizable プロパティがあります。 ソリューション コンポーネントがマネージド ソリューションの一部としてインストールされている場合は、IsManaged プロパティが true になります。 マネージド プロパティは、マネージド ソリューションにのみ適用されます。 マネージド プロパティを確認して個々のソリューション コンポーネントがカスタマイズ可能かどうかを決定する際には、IsCustomizableIsManaged の両方のプロパティを確認する必要があります。 IsCustomizable が false かつ IsManaged が false であるソリューション コンポーネントは、カスタマイズ可能です。

エンティティと属性には、IsCustomizable 以外にもマネージド プロパティがあります。 これらのマネージド プロパティは、IsCustomizable が false に設定されている場合、更新されません。 つまり、マネージド プロパティが適用されているかどうかを確認するには、個々のマネージド プロパティを確認するだけでなく、IsCustomizable プロパティも確認する必要があります。

関連項目

マネージド プロパティ