コンテンツにスキップ

移行ガイド Active Period

移行ガイド

移行ガイド active_period から communication_period および impact_period への移行

GTFS-realtime の alert.active_period は次のように定義されていました。アラートをユーザーに表示するするべきであるがある時間。指定がない場合、アラートはフィードに表示されている間表示されます。複数の範囲が指定されている場合、アラートはそれらのすべての期間に表示されます。

この定義には、アラートをユーザーに表示するするべきであるがある時間が、次の両方と解釈できるという曖昧さがありました。 - ユーザーにアラートが通知される時間。 - アラートによって発生するサービスの中断が有効になっている時間。

この曖昧さを解消するために、communication_periodimpact_period が導入されました。 -communication_period: 情報提供のみを目的として、アラートをユーザーに表示するするべきである時間。 -impact_period: サービスがアラートの影響を受ける時間。

後方互換性を維持し、インフラストラクチャ コストを考慮しながら新しいフィールドの実装を確実にするため、コミュニティは active_period を非推奨として割り当てるが、communication_period および impact_period と共存させることに合意しました。

この移行ガイドでは、3 つのフィールドすべてが共存する場合の解釈方法を定義し、新しいフィールドcommunication_period および impact_period への段階的な移行手順の概要を示します。目標は、プロデューサーとコンシューマーに active_period の代わりに communication_period および impact_period を徐々に使用するように説得することです。

プロデューサー

プロデューサーの場合、同じアラートに 3 つのフィールドすべてを含めることができます。できるだけ多くのアラート、特に NO_SERVICE のアラートで communication_periodimpact_period を指定するようにしてください。active_period を新しいフィールドから分離するためにアラートを重複させないでください! 実際のサービスインシデントごとに 1 つのアラートを設定し、communication_periodimpact_period、および active_period を指定できます。

アラートに communication_periodimpact_period が指定されている場合は、active_period を含めないことを推奨(すでに任意のフィールドです)。

ベストプラクティスを促進するために、communication_periodimpact_period をできるだけ一緒に指定することを推奨。

以下の例はすべて有効です。

推奨オプション

alert { 
“communication_period”: [{ "start": …, "end": … }], ← アラートがユーザーに通知される時間。 
“impact_period": [{ "start": …, "end": … }], ← アラートによって発生するサービス障害が有効な時間。サービス障害が繰り返し発生する場合は、複数の期間を指定できます。 
...
} 

推奨ないその他の有効なオプション

alert { 
“active_period”: [{ "start": …, "end": … }], 
“communication_period”: [{ "start": …, "end": … }], 
“impact_period": [{ "start": …, "end": … }], 
...
} 
alert { 
“active_period”: [{ "start": …, "end": … }], 
“impact_period": [{ "start": …, "end": … }], 
...
} 
alert { 
“active_period”: [{ "start": …, "end": … }], 
“communication_period”: [{ "start": …, "end": … }], 
...
} 
alert { 
“active_period”: [{ "start": …, "end": … }], 
...
} 
alert { 
“communication_period”: [{ "start": …, "end": … }], 
...
} 
alert { 
“impact_period”: [{ "start": …, "end": … }], 
...
} 

既存の消費者に、(開発者メーリングリストなどを介して)active_periodの使用が設定された期限までに非推奨となり、代わりに commnication_periodimpact_periodを使用するするべきであることを通知することをお勧めします。この移行ガイドを含めるするべきである、"Consumer"セクションを強調する必要があります。期限が過ぎたら、フィードからactive_periodエンティティを削除し、commnication_periodimpact_periodのみを公開できます。

コンシューマー

コンシューマーの場合、仕様定義に基づいてフィールドを解釈できます。 -active_periodcommunication_period および impact_period と共に存在する場合、active_period を無視して、他の 2 つのフィールドを使用します。

-active_periodimpact_period と共に存在する場合、active_period を無視してcommunication_period として解釈しません。

-active_periodcommunication_period と共に存在する場合、active_period を無視してimpact_period として解釈しません。

-active_period が単独で存在する場合は、それを使用します。