Manière appropriée de définir le digest et de masquer la catégorie des derniers articles

Bonjour,

En tant qu’administrateur du forum, je souhaite que tous les utilisateurs soient abonnés à certaines catégories avec l’option de liste de diffusion activée.

J’ai essayé de configurer les catégories dans mon profil (surveillées, suivies et muettes) afin de repérer ces paramètres dans la base de données. J’aimerais appliquer les mêmes paramètres aux autres utilisateurs ; il semble que cela concerne la table category_users.

Ai-je raison de penser que je peux effectuer des insertions pour atteindre cet objectif ?

Auparavant, j’avais essayé de définir certaines catégories comme « incluses dans la liste de diffusion » pour m’assurer que le résumé ne contienne que ces catégories, mais je me suis trompé : ce paramètre ne modifie pas le contenu du résumé.

La logique est-elle différente ? L’objectif est le suivant :

  • obliger les nouveaux utilisateurs à recevoir un résumé provenant de certaines catégories (d’accord, qu’ils puissent le modifier eux-mêmes par la suite)
  • ne pas afficher certaines catégories sur leur page « derniers sujets »

J’ai trouvé un sujet Viewing a list of users who are watching a category proche de mon cas. Mais je n’étais pas sûr de le remonter après 5 ans.

Pourquoi n’utilisez-vous pas ces paramètres ?

Je ne suis pas sûr que cela puisse aider. Je cherche une méthode par lots pour le configurer pour 100 autres utilisateurs.

Si vous le sélectionnez, une boîte s’affiche pour vous demander si vous souhaitez le modifier pour tout le monde ou seulement à partir de maintenant. :+1:

Je souhaite partager ma solution.

J’ai cliqué sur les paramètres nécessaires dans l’interface (masquer et suivre certaines catégories) comme l’a mentionné Gavin :

Ensuite, je me suis connecté à la base de données pour déterminer les identifiants des catégories et des utilisateurs. Tables : category_users et users.

J’ai filtré les paramètres pour moi-même (pour user_id=5) comme illustré sur l’image ci-dessous :

Ensuite, je souhaite appliquer les mêmes paramètres à deux autres utilisateurs avec les identifiants 33 et 34. Il est évident que je dois ajouter les lignes appropriées dans la table category_users.

Exemple :

  • Il y a 6 catégories : id=1, 2, 15, 17, 19 et 24.
  • Catégories masquées : 15 et 17
  • Suivi du premier message dans les catégories 1, 2 et 24
  • Suivi d’une seule catégorie : 19.

Tout d’abord, j’ai créé un script qui insère toutes les catégories sélectionnées dans la section masquée (notification_level=0) :

INSERT INTO 
	"category_users" 
	("category_id", "user_id", "notification_level", "last_seen_at") 
VALUES
(24, 34, 0, NULL),
(2,  34, 0, NULL),
(1,  34, 0, NULL),
(19, 34, 0, NULL),
(15, 34, 0, NULL),
(17, 34, 0, NULL),

(24, 33, 0, NULL),
(2,  33, 0, NULL),
(1,  33, 0, NULL),
(19, 33, 0, NULL),
(15, 33, 0, NULL),
(17, 33, 0, NULL);

Vous pouvez ajouter jusqu’à 1000 lignes à la fois.

Ensuite, j’ai mis à jour les lignes pour les catégories suivies et celles où le premier message est suivi :

-- suivre le premier message
UPDATE "public"."category_users" SET "notification_level"='4' WHERE  "category_id" in (1,2,24);
-- suivre
UPDATE "public"."category_users" SET "notification_level"='2' WHERE  "category_id"=19;

Les paramètres des utilisateurs sont alors mis à jour. Les catégories masquées sont cachées de la page principale et des derniers sujets.

изображение

Faites-moi savoir s’il existe une autre méthode simple pour modifier en masse les paramètres des utilisateurs concernant les catégories masquées ou suivies.