Créer des sujets d'événement individuels pour les événements récurrents

J’ai ouvert une PR qui implémente cela sous forme de mode d’Événement récurrent optionnel :

Elle ajoute un paramètre de site discourse_post_event_recurring_topic_mode avec deux options :

  • reuse_topic — le comportement existant et par défaut
  • create_next_topic — conserve le sujet de l’occurrence terminée et crée un nouveau sujet pour l’occurrence suivante

Avec create_next_topic, lorsqu’une occurrence se termine, le sujet terminé est conservé avec son Événement épinglé à cette occurrence terminée et la récurrence supprimée. Un sujet successeur est ensuite créé pour la récurrence suivante, en conservant le titre, le corps, la catégorie, les balises et l’auteur d’origine, tout en faisant avancer les dates de l’Événement.

Les tests automatisés couvrent également la sémantique de bascule des RSVP : la participation récurrente « going » est transmise au sujet successeur, tandis que la participation ponctuelle reste avec l’occurrence terminée.

La bascule est également transactionnelle, de sorte que si la création du successeur échoue, l’occurrence reste en attente et peut être réessayée plutôt que d’être laissée à moitié terminée.

Cela implémente spécifiquement le modèle « créer le sujet suivant lorsque l’occurrence actuelle se termine ». Il ne génère pas encore de sujets individuels pour toutes les occurrences futures à l’avance, ce qui est le modèle alternatif mentionné plus haut par @opcourdis.

Le comportement existant reste par défaut, il s’agit donc d’une option à activer manuellement pour les sites qui souhaitent que le sujet d’Événement terminé serve d’archive.

1 « J'aime »