Ethsim2
(Ethan )
13
これをオプトイン型の再帰イベントモードとして実装するPRを開きました:
discourse_post_event_recurring_topic_mode というサイト設定を追加し、以下の2つの選択肢があります:
reuse_topic — 既存の動作であり、デフォルトです
create_next_topic — 完了したインスタンスのトピックを保持し、次のインスタンス用に新しいトピックを作成します
create_next_topic を使用すると、インスタンスが終了した際に、完了したトピックは、その完了したインスタンスにピン留めされたイベントと再帰設定の削除という形で保持されます。その後、次の再帰用に後継トピックが作成され、元のタイトル、本文、カテゴリ、タグ、作成者は保持されますが、イベントの日付は進められます。
自動テストでは、RSVPのロールオーバーセマンティクスもカバーされています:再帰的な going(参加予定)の出席状況は後継トピックに引き継がれますが、一回限りの出席状況は完了したインスタンスに留まります。
ロールオーバーはトランザクションとして処理されるため、後継トピックの作成に失敗した場合、インスタンスは保留(pending)のままであり、半端な完了状態に放置されることなく再試行できます。
これは、「現在のインスタンスが終了したときに次のトピックを作成する」というモデルを具体的に実装したものです。上記で @opcourdis が言及した別モデルである、将来のすべてのインスタンスに対して個別のトピックを事前に生成する機能はまだ実装されていません。
既存の動作がデフォルトのままなので、完了したイベントのトピックをアーカイブとして機能させたいサイトには、これはオプトインとなります。
「いいね!」 1