Recherché avant de poster :
J’aime le « Bump automatique des sujets » pour que les sujets soient renouvelés. Mais j’aurais souhaité que lorsqu’un visiteur consulte les sujets, il ne voie pas des dizaines de messages de « Bump automatique ».
Y a-t-il un moyen de les supprimer occasionnellement, manuellement ou automatiquement (ou les deux) ?
Je pose cette question car j’ai constaté qu’à mon niveau, quels que soient mes souhaits, la plupart d’entre eux ont déjà été pris en charge.
Cela renvoie juste des centaines de sujets qui contiennent des milliers de messages « Auto-Bumped », mais n’indique pas combien de tels messages existent dans combien de sujets.
Je pense donc qu’en fin de compte, je devrai manier la hache dans les « pièces sombres » de la console Rails uniquement (ce qui est un peu intimidant).
Je suis un peu inquiet car cela affectera des milliers de sujets/messages d’un coup. S’il y avait un bouton tout sélectionner à l’intérieur des sujets qui sélectionnerait tous les messages de « bumping » ensemble et que nous pourrions supprimer ces messages en un clic à l’intérieur de n’importe quel sujet. Et si quelqu’un voulait supprimer tous ces messages dans Tous les sujets avec une seule commande, il devrait entrer ‘rails’.
La 5ème ligne de la commande rails que vous m’avez indiquée demanderait-elle ou solliciterait-elle quelque chose avant de supprimer tous ces messages ? Ou ferait-elle simplement ce qui lui a été dit, sans avertissement, etc., ni possibilité de récupération ?
Si possible, pouvons-nous supprimer les « messages de bumping » de n’importe quel sujet en premier, au lieu de les supprimer de tout le site web ?
Pouvez-vous également me suggérer/indiquer une commande rails pour visualiser des exemples des messages que nous allons supprimer ?
Quelque chose comme ceci dans l’explorateur de données pourrait aider à donner un aperçu :
SELECT p.topic_id,
COUNT(p.id) AS count
FROM posts p
WHERE action_code = 'autobumped'
GROUP BY p.topic_id
ORDER BY count DESC
Cependant, je vous mets en garde contre l’utilisation de la console Rails pour apporter des modifications de ce type sur un site en production si vous n’avez pas d’expérience. Vous pourriez vouloir créer un site de test et vous entraîner avant de vous lancer.
Oui, cela a résolu le problème autant que proposé par les concepteurs/développeurs.
Mais je voudrais quand même dire qu’il devrait y avoir une commande « Admin », dans les paramètres d’administration ou dans le sujet consulté, pour sélectionner tous les « messages en double (automatiquement mis à jour) » dans un sujet ou tous les sujets, puis les supprimer, quand l’administrateur le souhaite.
Peut-être pourriez-vous masquer ces messages avec CSS à la place ? Malheureusement, je ne pense pas que le widget post-small-action inclue actuellement le type d’action comme classe CSS, vous ne pouvez donc pas cibler spécifiquement les messages de “bump”. Peut-être qu’un composant de thème pourrait aider ?
Oui, j’ai vérifié cela avant de suggérer la solution de l’explorateur de données.
L’ajout de classes spécifiques aux actions courtes pourrait être une bonne suggestion de #fonctionnalité.
Je n’ai effectué aucun autre test, donc je ne sais pas s’il pourrait y avoir d’autres effets secondaires. Il est possible que les classes small-action-[...] entrent en conflit ailleurs dans l’application, auquel cas vous devriez choisir un préfixe garanti unique.
Notez que la méthode addPostSmallActionClassesCallback n’a été ajoutée que le mois dernier, vous devez donc utiliser une version assez récente de Discourse :
Par exemple, vous pourriez utiliser le préfixe bathinda-, qui serait garanti de ne pas entrer en conflit avec quoi que ce soit dans Discourse, ni maintenant ni à l’avenir. Cela ressemblerait à ceci :
Merci encore. J’ai créé et utilisé/activé le composant avec succès.
Cependant, après avoir masqué les messages ‘Automatically Bumped’, cela ressemble à ceci.
Ah je vois, c’est à cause des messages de décalage horaire qui ne sont pas masqués. C’est délicat car on ne peut pas cibler un élément précédent avec CSS.