機能管理の概要
機能は、すべてのリリースで追加および更新されます 機能管理エクスペリエンスは、各リリースで提供されている機能のリストを表示できるワークスペースを提供します。 その後、ワークスペースを使用して機能のドキュメントを表示したり、機能を有効または無効にできます。
機能管理ワークスペースの使用
機能管理ワークスペースを開くには、ダッシュボードで適切なタイルを選択します。 このページには、機能管理エクスペリエンスにサポートされているすべてのリリースの機能一覧が表示されます。
機能一覧には、次の情報が含まれます。
- 機能名 – 追加された機能の説明。
- 状態 – シンボルは、機能がオンになっているか (チェック マーク)、オフになっているか (空白)、オンになる予定があるか (時計) 必須であるか (ロック)、オンにする前に注意が必要か (警告記号)、オンにできないか (X) を示します。 表示されている設定は、すべての法人に使用されます。 機能が有効になっている場合でも、セキュリティによって制御されることに注意してください。 したがって、この機能はセキュリティ ロールに基づいてアクセス権を持つユーザーのみが使用できるようになります。 このオプションは、ユーザーがアクセス権を持つ法人でのみ使用できます。
- 有効な日付 – 機能がオンになった日付、またはオンにするようにスケジュールされている日付。
- 追加機能 – 機能が環境に追加された日付。 月単位のリリース サイクルで環境を更新すると、この日付が自動的に入力されます。
- 機能の状態 – その機能の現在のライフサイクルの状態です : プレビュー、リリース済 (空欄で表示)、既定で有効、および必須。 状態については、このトピックの後半で詳しく説明します。
- モジュール – 新しい機能によって影響を受けるモジュール。
メモ
バージョン 10.0.21 では、機能の状態列が含まれています。
機能を選択すると、詳細が機能一覧の右側にある詳細ウィンドウに表示されます。 ウィンドウの上部には、機能名、機能が追加された日付、機能によって影響を受けたモジュール、および詳細情報リンクが表示されます。 機能のドキュメントを表示するには、このリンクを選択します。 ドキュメントを使用できない場合は、一時的なページに移動します。 詳細ウィンドウには、機能に関する独自のコメントを追加できるコメントフィールドもあります。
機能管理ワークスペースには、いくつかのタブも含まれ、それぞれに機能一覧が表示されます。
- 新しい – このタブでは、毎月の更新後から追加されたすべての機能を表示します。 毎月の更新をスキップした場合、タブには、最後に更新した日から追加されたすべての新機能が表示されます。 最新の機能は、一覧の先頭に表示されます。 新しい機能の合計数も、ページ上部のタイル上に表示されます。
- 有効ではない – このタブには、オンになっていない機能がすべて表示されます。 最新の機能は、一覧の先頭に表示されます。 さらに、ページ上部のタイルには、現在オフになっている新機能の総数が表示されます。
- スケジュール済 – このタブでは、将来的にオンになるようスケジュールされているすべての機能を表示します。 最も早くスケジュールされた日付を持つ機能が一覧の先頭に表示されます。 また、ページ上部のタイルには、スケジュール済みの機能の総数が表示されています。
- すべて – このタブには、すべての機能が表示されます。 最新の機能は、一覧の先頭に表示されます。
機能の推奨事項の通知
バージョン 10.0.35 から、推奨される機能に関する通知がユーザーに表示される場合があります。 推奨される機能はユーザーが確認し、管理者が有効に設定を要求できます。 要求は、管理者に送信する通知をトリガーします。管理者は、推奨される機能を評価し、組織に対して有効にするかどうかを決定するために使用します。
機能の状態
機能は、機能管理で導入されるものから、最終的に製品で必須となるものまで、いくつかの状態に移行することができます。 ここでは、有効な機能の状態について説明します。
プレビュー機能 (オプション)
製品チームは、最初にプレビュー機能として新機能を開始することを決めることができます。 プレビュー機能は既定では有効になっておらず、オプションとなっています。 所有する製品チームは、正常にプレビュー期間を完了した後にリリースされる機能を更新します。
メモ
プレビュー機能は、特定のプレビュー条件が適用されます。
リリース済機能 (オプション)
これらの機能の機能の状態列は空白です。 最初にリリース済として追加された機能は既定で有効に設定されません。また、この機能を有効にすることはオプションです。 プレビューから更新される機能は、有効化状態を維持します。
既定でオンの機能 (オプション)
既定で有効に更新されている機能は既定で有効になっていますが、無効にすることもできます。 無効にできる機能が リリース済 の状態から 6 か月以上続いた後、次のメジャー リリースではこの状態に移行することが期待できます。 既定で有効 に移行する機能については、そのリリースの 新機能 記事で伝えられることが期待されます。 更新は、所有する製品チームによって開始されます。
メモ
これらの機能は自動的に有効になるため、組織でこれらの機能を取得する準備ができているか、あるいはもう少し時間が必要なのかを判断することが重要です。 さらに時間が必要な場合は、これらの機能を一時的に無効にする必要があります。 なお、既定で有効機能の移行は、通常、その機能が必須になることを目標とする前のメジャー リリースで行われます。 その時点では、機能を無効にするオプションはありません。
必須
必須は、機能の最終的な状態として求められるものです。 これは、機能が有効であり、Microsoft に連絡しない限り、無効にできないことを示します。 オプション機能は、2 つのメジャー リリース後に必須になる予定です。 重要な機能は、例外的に必須として導入することができます。
予想される機能ライフサイクルの例
無効にできる機能のうち、4 月以前にオプションとして追加された機能または 4 月のリリースの一部として追加されたものは、次の 10 月のリリースで既定で有効に移行することが期待されます。 そして、翌年の 4 月には 必須 になることが期待されています。
無効にできない機能のうち、4 月以前にオプションとして追加された機能または 4 月のリリースの一部として追加されたものは、翌年の 4 月に必須に移行することが期待されます。
機能の有効化
機能がまだオンになっていない場合、直ちに有効化ボタンが詳細ウィンドウに表示されます。 このボタンを使用して機能を有効にすることができます。
一部の機能は、有効にした後で無効にすることはできません。 オンにしようとしている機能を有効にできない場合は、警告が表示されます。 その時点で、キャンセルを選択して操作をキャンセルし、機能を無効のままにしておくことができます。 ただし、機能を有効にするため有効を選択すると、後で無効にすることはできなくなります。
一部の機能では、それらを有効にする前に追加情報を提供するメッセージが表示されます。 これらの機能は黄色の警告記号で示されます。 機能が有効になったときに何が起こるかを確実に理解するため、追加情報を注意深くお読みください。 ただし、有効を選択して機能を有効にすることはできます。
一部の機能には、アクションが実行されるまで機能を有効にできないというメッセージが表示されます。 これらの機能は赤い X 記号で示されます。 機能を有効にする前に、説明に記載されているアクションを実行する必要があります。 たとえば、コンフィギュレーション キーが無効になるまで機能を使用できない場合は、まずコンフィギュレーション キーを無効にしてから、機能管理に戻って機能を有効にする必要があります。
この機能を有効にすると、詳細ウィンドウの詳細情報リンクの下にメッセージが表示されます。 このメッセージは、その機能が有効にされた状態か、またはその機能が今後いつ有効になるかその日付を示します。 メッセージは、機能一覧から機能を選択するたびに表示されます。
スケジュール済タブには、将来的に有効になることがスケジュールされた機能が表示されます。バッチ処理によって、システムの日付で表されるタイムゾーンに基づき、指定された日付の午前 0 時にそれらの設定が有効になります。
機能の再スケジュール
その機能が将来的に有効になるようにスケジュールされている場合は、スケジュール ボタンが詳細ウィンドウに表示されます。 このボタンを使用して、有効日の値を別の日付に変更することができます。
- 再スケジュールするスケジュール済機能を選択し、詳細ウィンドウでスケジュールを選択します。
- 表示されるダイアログ ボックス内の有効日フィールドで、機能を有効にする新しい日付を指定します。
- 有効化を選択し機能を再スケジュールまたは無効化を選択しスケジュールをキャンセルします。
機能の無効化
機能が有効になっている場合、無効ボタンが詳細ウィンドウに表示されます。 このボタンを使用して機能を無効にすることができます。 機能を無効にできない場合は、無効ボタンは使用できません。
この機能を無効にすると、詳細ウィンドウの詳細情報リンクの下にメッセージが表示されます。 このメッセージは、その機能が有効になっていないことを示しています。 メッセージは、機能一覧から機能を選択するたびに表示されます。 有効になっていない機能は、有効ではないタブに表示されます。
有効にする必要がある機能
時には、更新時に自動的に有効にする必要がある重要な機能が配信されることがあります。 これらの機能は、有効日フィールドで指定された日付に自動的に有効になります。 これらの機能では、詳細ウィンドウの詳細情報リンクの下にメッセージが表示されます。 このメッセージは、その機能が有効にされた状態か、またはその機能が今後いつ有効になるかその日付を示します。 メッセージは、機能一覧から機能を選択するたびに表示されます。
すべての機能を有効にする
すべてを有効にするボタンを選択することにより、すべての機能を有効にできます。
すべてを有効にするを選択すると、以下の情報を提供しなければならない場所のオプションが表示されます :
- 有効にする前に確認が必要なすべての機能のリスト。 リストの機能を有効にする場合は、確認を必要とする機能を有効にするボタンに対してはいを選択します。
- 有効にできないすべての機能のリストが表示されます。 これらの機能は有効になりません。
有効にできるすべての機能が有効になります。 機能が既に将来有効になるようにスケジュールされている場合、スケジュールは変更されません。
すべての機能を自動的に有効にする
新機能をすべて自動的に有効にする場合は、ワークスペース タイトルの下にあるドロップダウン リストを使用して、新機能が追加されたときに発生する動作を変更することができます。
- 環境に追加されるすべての新機能を自動的に有効にするには、新機能を自動で有効にする を選択します。
- 環境に新機能が追加されたときに、該当する新機能をすべて既定でオフにする必要がある場合は、新機能を自動で有効にしない を選択します。
すべての機能を自動的に有効にすると、すべての機能を有効にするボタンをクリックしたときに、有効になるすべての機能が有効になります。 確認が必要な機能や、アクションが実行されるまで有効にできない機能は有効になりません。
更新プログラムの確認
機能は、各更新後に環境に追加されます。 ただし、更新の確認ボタンをクリックすると、手動で更新を確認できます。 更新後にシステムに追加された機能は、機能のリストに追加されます。 たとえば、リリース後にフライトされた機能が有効になっている場合は、更新を確認でき、その機能がリストに追加されます。
ロールの割り当て
機能管理ワークスペースは、システム管理者によって、そしてまた機能マネージャー ロールまたは機能ビューアー ロールに割り当てられたユーザーによって開かれます。 この 2 つのロールは、機能管理エクスペリエンスをサポートするために作成されたものです。 機能マネージャー ロールのユーザーは、すべての機能を有効または無効にすることができます。 また、機能のコメントフィールドを更新することもできます。 機能ビューアー ロールのユーザーは、機能管理ワークスペースの表示のみを実行できます。 機能を有効または無効にすることはできません。
機能マネージャー ロールおよび機能ビューアー ロールは、ユーザーの既存のセキュリティを上書きするものではありません。 ユーザーが機能をオンにしたりオフにしたりできるかどうかを制御するだけです。 機能自体へのアクセスは提供されません。
構成キーを使用する機能
機能で構成キーを使用する場合、構成キーがオンになっていても、機能管理ワークスペースでは使用可能な機能の一覧にその機能は表示されません。 構成キーをオンにした後、更新プログラムを確認のメニュー項目を使用して、機能リストを更新する必要があります。 機能は、機能一覧に表示されます。
構成キーをオフにしても、機能は機能一覧から削除されません。
データ エンティティ
機能管理という名のデータ エンティティを使用すると、1 つの環境から機能管理設定をエクスポートして、別の環境にインポートできます。 このエンティティは、既存の機能だけを更新します。 エンティティのビジネス ロジックは、インポートが完了したときに、機能管理ワークスペースで使用されているものと同じルールが適用されることを保証するためにも役立ちます。 たとえば、インポート時に日付を削除することによって、必須機能設定を上書きすることはできません。
次の例では、機能管理エンティティを使用してデータをインポートした場合に発生する処理について説明します。
- 有効フィールドの値をはいに変更すると、機能が有効になり、有効日フィールドが現在の日付に設定されます。
- 有効フィールドの値をいいえに変更、または EnableDate フィールドを空白のままにすると、機能が無効になり、有効日フィールドがクリアになります。 必須の機能または有効にした後に無効にできない機能は無効にできません。
- Enabledateフィールドの値を未来の日付に変更する場合、その日付に対して機能がスケジュールされます。
- 有効化フィールドの値をはいに変更し、EnableDateフィールドの値を未来の日付に変更した場合、機能はその日付にスケジュールされます。
- 有効化フィールドの値をいいえに変更したが、さらにEnableDateフィールドの値を未来の日付に変更した場合、機能はその日付にスケジュールされます。
- 機能が有効になっていて、将来の日付に設定された EnableDate フィールドを追加する場合、機能は有効のままになります。 機能を再スケジュールするには、有効フィールドの値をいいえに変更する必要があります。
機能管理とフライティング
機能管理を使用すると、各リリースで提供される機能を管理できます。 フライティングを使用すると、Microsoft チームが限られた数の顧客に機能をリリースして、すべての顧客に影響を与えることなく機能をテストおよび検証できるようにすることができます。 機能管理は、すべての機能のフライティングを制御するものではありません。
機能管理を使用して ISV 機能またはカスタム機能をオンにする
現時点において機能管理は、独立系ソフトウェア ベンダー (ISVs) やカスタム機能からの機能には使用できません。 ただし、機能管理を強化するため、Microsoft はより多くの機能を追加しています。 これらの強化が完了した後、Microsoft により、すべての機能に機能管理が使用できるようになり、使用する機能の更新手順が提供されます。
よく寄せられる質問 (FAQ)
機能はいつ追加、削除、または変更されますか?
機能の追加、削除、変更は、それぞれの所有する製品チームによるコード変更によって行われます。 これらの変更を受け取るには、環境を更新する必要があります。
機能は自動的に必須になりますか?
いいえ、ある機能が自動的に必須になることはありません。 所有する製品チームが、コードを変更する必要があります。
特定の "必須の有効日" がないのはなぜですか?
更新リリースのタイミングは変動し、環境更新のタイミングは変動し、顧客は一部の更新をスキップすることもできます。 その結果、特定の日付を決定することは困難です。
必須の機能のドキュメントはどこにありますか?
このドキュメントは、各 Dynamics 365 アプリケーション チームから提供されます。 多くの場合、これらの機能は、クライアント機能の状態の更新または削除済みまたは非推奨の機能に記載されています。
機能が必須で有効になるという製品内の通知またはシグナルはありますか?
機能の必須化に関連する通知メカニズムは、現在存在しません。
顧客が知らないうちに機能が有効になることはありますか?
はい、以下のような場合には、お客様の知らないところで機能を有効にすることができます。
- ある機能が既定で有効に移行します。 この状態でも、機能を無効にすることは可能です。
- 機能が必須に更新されます。 メジャー リリースとの組み合わせに限り、この変更が行われます。 重要な機能は、例外的にどの更新時でも必須に移動する場合があります。
機能のフライティングとはどういったもので、機能管理とどのように関係しますか?
機能フライトは、Microsoft が制御するリアルタイムのオン/オフ スイッチです。 これらは、機能管理によって提供される顧客コントロールとは別のものです。
- プライベート プレビュー機能は、フライト オンになるまで機能管理に一覧表示されません。 実稼動環境では、顧客は、特別なプログラムに参加することに同意する必要があります。
- パブリック プレビューとリリース済み (一般に入手可能な) 機能は、フライト オフにならない限り、機能管理に一覧表示されます。 機能をフライト オフにすることは、重大な問題が発見された場合の製品チームの最終手段であり、通常は顧客ごとの操作になります。
顧客が知らないうちに機能がフライト オフになることはありますか?
はい、機能が機能的に影響がない環境の機能に影響を与える場合は、既定で有効にすることができます。
コードで機能の有効化をどのように確認することができますか?
FeatureStateProvider クラスの isFeatureEnabled メソッドを使用して、機能クラスのインスタンスを渡します。 例:
if (FeatureStateProvider::isFeatureEnabled(BatchContentionPreventionFeature::instance()))
メタデータで機能の有効化をどのように確認することができますか?
FeatureClass プロパティを使用して、一部のメタデータが機能に関連付けられていることを示すことができます。 BatchContentionPreventionFeature など、機能に使用されるクラス名を使用する必要があります。 このメタデータは、その機能でのみ表示されます。 FeatureClass プロパティは、メニュー、メニュー項目、列挙値、およびテーブル/ビュー フィールドで使用できます。
機能クラスとは?
機能管理の機能は、機能クラスとして定義されます。 機能クラスは、IFeatureMetadata を実装し、機能クラス属性を使用して機能管理ワークスペースに対して識別します。 FeatureStateProvider API を使用したコード、および FeatureClass プロパティを使用したメタデータで有効化を確認できる、使用可能な機能クラスの例は数多くあります。 例:
[ExportAttribute(identifierStr(Microsoft.Dynamics.ApplicationPlatform.FeatureExposure.IFeatureMetadata))]
internal final class BankCurrencyRevalGlobalEnableFeature implements IFeatureMetadata
いくつかの機能クラスによって実装されている IFeatureLifecycle とは何ですか?
IFeatureLifecycle は、機能ライフサイクル ステージを示すための Microsoft 社内のメカニズムです。 機能は次のとおりです。
-
PrivatePreview
- フライトが表示される必要があります。 -
PublicPreview
- 既定で表示されますが、機能がプレビュー中であるという警告が表示されます。 -
Released
- 完全にリリースされました。