注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
インターフェースのアクションタイプ制約は、追加の検証機能を積極的に開発しているため、開発ライフサイクルのベータ版段階にあります。制約とマッピングを設定するユーザーインターフェースは変更される可能性がありますが、機能が追加されても、既存の制約とマッピングの設定は引き続き動作します。積極的な開発が進むにつれて、対応するアプリケーションとサービスが拡大されますが、すでにサポートされているワークフローは引き続き利用可能です。
インターフェースのアクションタイプ制約は、インターフェースを実装するオブジェクトタイプに共通して期待されるアクション機能を定義します。制約では、ユーザー向けのアクションの意味、API名、およびパラメーターの形式を記述します。実装する各オブジェクトタイプは、その制約を自身の具体的なアクションタイプにマッピングできます。
たとえば、Ticket インターフェースが「チケットの作成」というアクションタイプ制約を定義しているとします。Bug オブジェクトタイプは「バグの作成」というアクションタイプでその制約を満たし、Feature request オブジェクトタイプは「機能リクエストの作成」というアクションタイプでその制約を満たします。具体的なアクションのロジックはオブジェクトタイプごとに異なりますが、どちらのアクションタイプも同じインターフェースレベルの機能を実装します。
インターフェースのアクションタイプ制約をどこで設定、配布、使用できるかについては、現在のサポートレベルを確認してください。
インターフェースのアクションタイプ制約は、アクションの実行ロジック、実行条件、副次的効果、フォームのレイアウトを定義しません。これらの動作は、制約を満たす具体的なアクションタイプで設定します。インターフェースのオブジェクトに対して動作するアクションルールの詳細については、インターフェースに対するアクションを参照してください。
現在、アクションタイプ制約では、制約を満たすアクションタイプに求められる動作を十分に詳細には記述できません。制約を満たすアクションタイプが何を行うべきかをアプリケーションの作成者に伝えるには、制約の説明を使用します。たとえば、期待される編集、副次的効果、実行時の動作、または制約モデルでは強制されないその他の意味上の要件を記述します。
アクションタイプ制約は、インターフェースレベルのアクション機能のパラメーターを定義します。これらのパラメーターには、次のものが含まれます。
アクションタイプ制約が必須の場合、インターフェースを実装するすべてのオブジェクトタイプは、その制約を具体的なアクションタイプにマッピングする必要があります。任意のアクションタイプ制約は、実装するオブジェクトタイプがその機能をサポートしている場合にはマッピングできますが、機能が適用されない場合には省略できます。
パラメーター制約は、制約を満たすアクションタイプが用意する必要のあるアクションパラメーターの形式を定義します。各パラメーター制約には、次のものが含まれます。
パラメーター制約を作成する際は、新しいパラメーターを手動で定義するか、既存のインターフェースプロパティからパラメーターを追加できます。インターフェースプロパティからパラメーターを追加すると、選択したプロパティの表示名、データ型、必須かどうかのステータスに基づいてパラメーター制約が作成されます。パラメーターのAPI名は表示名から生成され、編集できます。
必須のパラメーター制約は、具体的なアクションタイプの必須パラメーターにマッピングする必要があります。任意のパラメーター制約は、必要に応じてマッピングできます。同じ具体的なアクションパラメーターで、同じアクションタイプ制約内の複数のパラメーター制約を満たすことはできません。
オブジェクト参照、インターフェース参照、オブジェクトセット、および構造体のパラメーターについて、インターフェースのアクションタイプ制約は、具体的な実装の詳細をすべて記述するのではなく、パラメーターの一般的な種類を記述します。たとえば、オブジェクト参照のパラメーター制約では、制約を満たすアクションタイプに対応するオブジェクト参照パラメーターが必要ですが、制約自体が特定の1つのオブジェクトタイプに紐付くわけではありません。
オブジェクトタイプがアクションタイプ制約のあるインターフェースを実装する場合、そのオブジェクトタイプは、必須の制約をすべて満たす具体的なアクションタイプを選択する必要があります。具体的なアクションタイプは、制約の必須パラメーターに対応するパラメーターを持つ場合に、その制約を満たします。
Ontology Manager でインターフェースの実装を追加すると、オブジェクトタイプのインターフェースタブのアクションサブタブに、インターフェースのアクションタイプ制約が一覧表示されます。必須の制約ごとに、実装するオブジェクトタイプの具体的なアクションタイプを選択します。任意の制約は、省略することもマッピングすることもできます。
パラメーターのマッピングを設定するには、マッピング済みのアクションタイプ制約の設定アイコンを選択して、パラメーターの設定ダイアログを開きます。必須のパラメーター制約をそれぞれ、選択したアクションタイプの対応する必須パラメーターにマッピングします。アプリケーションがインターフェースのアクション機能を通じて値を渡したり事前入力したりする必要がある場合は、任意のパラメーター制約もマッピングできます。
Ontology Manager は、オントロジーへの変更を保存する際に、アクションタイプ制約のマッピングを検証します。次の場合は保存できません。
アクションタイプ制約は、インターフェースの拡張機能を通じて親から継承されます。子インターフェースが、アクションタイプ制約のあるベースインターフェースを拡張する場合、子インターフェースを実装するオブジェクトタイプは、子インターフェースで直接宣言された制約に加えて、親から継承した必須のアクションタイプ制約も満たす必要があります。
ある機能が広範なインターフェースに適用され、より具体的なインターフェースを通じても利用可能であるべき場合は、親から継承したアクションタイプ制約を使用します。その機能が子インターフェース固有のものである場合は、子インターフェースで新しいアクションタイプ制約を定義します。
インターフェースベースのアプリケーションが正しく動作するために、インターフェースを実装するすべてのオブジェクトタイプがその機能をサポートする必要がある場合は、必須のアクションタイプ制約を使用します。
機能が有用であっても、すべてのオブジェクトタイプに共通するものではない場合は、任意のアクションタイプ制約を使用します。任意の制約は、ベータ版のインターフェースモデルを反復的に改善する際にも役立ちます。その機能をサポートする準備ができていない実装を妨げることなく、オブジェクトタイプが機能を採用できるためです。
パラメーター制約では、制約を満たすすべてのアクションタイプが、そのパラメーターを必須のアクション入力として公開する必要がある場合にのみ、パラメーターを必須に指定します。実装によっては値を内部で計算したり、デフォルト値を使用したり、値をまったく必要としなかったりする場合は、パラメーター制約を任意のまま保持します。
対応状況はアプリケーションやサービスによって異なります。アプリケーションがインターフェースに対応していても、アクションタイプ制約にも対応しているとは限りません。ベータ版の期間中に機能が追加される可能性があり、制約やマッピングを設定するユーザーインターフェースが変更される可能性もあります。こうした機能が追加されても、既存の定義とマッピングは引き続き動作します。
次のテーブルは、インターフェースのアクションタイプ制約を設定、配布、使用できるアプリケーションとサービスをまとめたものです。
| アプリケーションまたはサービス | 対応状況 | できることと現在の制限事項 |
|---|---|---|
| Ontology Manager | 対応 | インターフェースに制約を定義し、実装するオブジェクトタイプの具体的なアクションタイプとパラメーターにマッピングできます。保存時に、実装するすべてのオブジェクトタイプが必須の制約を満たしていることが検証されます。これを使用すると、オブジェクトタイプを使用するアプリケーションが制約を直接公開していない場合でも、オブジェクトタイプ間で共通のアクション機能を強制できます。 |
| Marketplace | 対応 | アクションタイプ制約を持つインターフェースをパッケージ化してインストールできます。 |
| オントロジー SDK | 一部対応 | カスタムアプリケーションでは、TypeScript オントロジー SDK を使用して、オブジェクトタイプの制約を満たす具体的なアクションタイプを解決できます。マッピングを解決してから、制約を満たす具体的なアクションタイプを呼び出します。オントロジー SDK を通じて制約自体を直接呼び出すことはできません。 |
| Workshop | 直接の使用には非対応 | Workshop は現在、インターフェースのアクションタイプ制約をエンドユーザーに直接公開していません。Workshop で制約ベースのアクション解決を使用するには、TypeScript オントロジー SDK を使用して制約を満たす具体的なアクションタイプを解決し、呼び出すカスタムウィジェットを作成します。 |
| Pipeline Builder | マッピングには非対応 | Pipeline Builder でインターフェースを実装する際に、アクションタイプ制約をマッピングすることはできません。インターフェースに必須のアクションタイプ制約が含まれている場合は、Ontology Manager でインターフェースを実装してマッピングします。 |
インターフェースのアクションタイプ制約は、具体的なアクションタイプに期待される形式を定義します。オブジェクトタイプ固有のアクションロジックを統一するものではありません。制約を満たす各アクションタイプのルール、実行条件、権限、および副次的効果を確認し、インターフェース制約で記述されたセマンティクスと一致していることを確認してください。