Aujourd'hui, quand on édite un message, la version avant édition est définitivement perdue.
L'idée est d'historiser les différentes versions d'un message. Concrètement, si on est l'auteur du message ou membre du staff (limite pour éviter les abus), un clic sur l'indication d'édition afficherait une popup (ou une page) qui afficherait, dans l'ordre chronologique, les différentes versions du message.
Techniquement, c'est très simple. On a besoin de :
- Une table avec les champs suivants :
- ID
- ID du message d'origine
- Date du message d'origine
- Markdown du message d'origine (utile uniquement si on permet la restauration, cf infra)
- HTML du message d'origine
- Un bout de code pour afficher le contenu de cette table pour un ID de message d'origine particulier. Attention aux droits d'accès.
- Un test sur l'affichage de la mention « Message édité ».
- Un simple insert en base supplémentaire à l'édition d'un message.
Ça ne ralentirait pas vraiment l'affichage des forums, parce que la nouvelle table ne serait utilisée qu'en cas de consultation de l'historique.
Il faut aussi prévoir de supprimer définitivement une version pour raisons légales (staff uniquement) (ça garderait la trace de l'ancien message pour que ça reste compréhensible mais sans son contenu).
Améliorations possibles :
- Une option « restaurer cette version » (qui ferait comme une édition, avec l'ancien contenu).
PS : La gestion d'un compte supprimé est automatique : il n'y a aucune information liée au compte de l'auteur dans la nouvelle table.