Nettoyer les anciens sujets

Bonjour,

Notre site Discourse destiné aux utilisateurs du lycée a connu un grand succès. Trop de succès. Nous avons eu 2,3 millions de messages et 2,9 millions de mentions J’aime au cours des 2 dernières années depuis notre lancement en janvier 2021.

Nous aimerions un peu nettoyer l’endroit, pour économiser sur les coûts et aussi pour réduire les risques à long terme de piratage ou similaire. Recommencer à zéro serait douloureux, mais la découverte de l’ajout de /print à la fin de l’URL d’un sujet pour créer des pages de 1000 commentaires pour un PDF est utile. Nous ne trouvons pas (et j’en doute fort) l’existence d’un moyen propre de supprimer, par exemple, une année entière de sujets.

Des idées ? Faut-il recommencer à zéro, ou existe-t-il d’autres options ?

Gabriel Sieben

2 « J'aime »

Salut ! Je suis heureux de savoir que Discourse a très bien fonctionné pour votre projet :smiley: :+1:

Juste pour être sûr de bien comprendre ; votre critère pour qu’un sujet soit éligible à la suppression serait uniquement son ancienneté ?

Il n’y a pas de fonctionnalité intégrée dans l’interface qui le permettrait, mais vous pourriez créer et déclencher manuellement un script Rails qui supprimerait les sujets plus anciens qu’une certaine date.

Topic.where("created_at.....").destroy_all

Entre crochets se trouve une requête SQL.

1 « J'aime »

Correct, si cela ne causait pas de liens brisés et de contexte partout. J’espérerais que les citations ne seraient pas affectées.

Cela nettoierait-il les téléchargements ?

1 « J'aime »

[quote=“Gabriel Sieben, post:3, topic:253862, username:gjsman”]
J’espérerais que les citations ne seraient pas affectées.
[/quote]Le contenu des citations resterait.
Quant aux liens internes vers un sujet supprimé, ils mèneraient à une page « non trouvée ».

[quote=“Gabriel Sieben, post:3, topic:253862, username:gjsman”]
Cela nettoierait-il les téléchargements ?
[/quote]Oui, les téléchargements seront supprimés après 2 jours par défaut (sauf s’ils sont utilisés ailleurs, comme dans une citation d’un autre sujet), voir le paramètre clean orphan uploads grace period hours.

Mais notez que les sujets et les messages sont supprimés de manière logique. Ils sont masqués, mais toujours stockés dans la base de données.


J’ajouterai que je suis proche, mais pas sûr à 100 % de ce que je dis… Mieux vaut attendre qu’un utilisateur plus compétent réponde ici. :slight_smile:

1 « J'aime »

Une chose que vous pourriez faire à l’avenir est d’activer le chat, ce qui, je suppose, est la majeure partie de ce qui se passe, surtout si vous souhaitez le supprimer. De cette façon, les choses sont élaguées automatiquement (je pense que la valeur par défaut est de 90 jours, ce qui est probablement suffisant).

Et RIEN de ce qui est ancien n’est important ? Et si c’est le cas, comment allez-vous conserver ce qui est bien ? Par catégorie ?

Il semble que Topic.destroy appelle PostDestroyer, donc je pense que la destruction de ces sujets devrait faire ce que vous voulez.

Je vous recommande de mettre en place un site de test pour effectuer des tests avant de faire cela sur votre serveur de production.

Je serais tenté de créer un ensemble de sites Discourse, cependant, peut-être un par classe diplômée, afin que vous puissiez simplement les fermer le moment venu. Vous pourriez également en avoir un séparé pour les choses à l’échelle de l’école et les faire partager un serveur d’authentification (soit le discourse à l’échelle de l’école, soit, espérons-le, le serveur d’authentification que votre école/district utilise). Oh, ou peut-être est-ce pour les élèves du secondaire, mais pas un lycée. Donc cette réorganisation pourrait ne pas avoir de sens.

3 « J'aime »