Modo corretto per impostare digest e nascondere categoria da latest

Ciao,

in qualità di amministratore del forum, vorrei che tutti gli utenti fossero iscritti a determinate categorie con l’opzione della mailing list abilitata.

Ho provato a impostare le categorie nel mio profilo (osservate, monitorate e silenziate) per trovare queste impostazioni nel database. Vorrei applicare le stesse impostazioni ad altri utenti; sembra che la tabella di riferimento sia category_users.

Ho ragione nel pensare che possa eseguire degli insert per ottenere questo risultato?

In precedenza ho provato a impostare alcune categorie come “inclusa nella mailing list” per essere sicuro che il riepilogo contenesse solo quelle categorie, ma mi sono sbagliato: questa impostazione non modifica il contenuto del riepilogo.

Forse la logica è diversa? L’obiettivo è:

  • obbligare i nuovi utenti a ricevere un riepilogo da determinate categorie (ok, potranno modificarlo in seguito da soli)
  • non mostrare alcune categorie nella loro pagina “ultimi”

Ho trovato un argomento Viewing a list of users who are watching a category simile al mio caso, ma non ero sicuro di doverlo riportare in evidenza dopo 5 anni.

Perché non usi queste impostazioni

Non sono sicuro che questo possa aiutare. Sto cercando un metodo in batch per impostarlo per altri 100 utenti.

Se lo selezioni, appare una casella che chiede se desideri modificarlo per tutti o solo per il futuro. :+1:

Vorrei condividere la mia soluzione.

Ho cliccato sulle impostazioni necessarie nell’interfaccia utente (disattiva suoni e segui alcune categorie) come ha menzionato Gavin:

Poi mi sono connesso al database per determinare gli ID delle categorie e degli utenti. Tabelle: category_users e users.

Ho filtrato le impostazioni per me stesso (per user_id=5) come mostrato nell’immagine qui sotto:

Successivamente, voglio applicare le stesse impostazioni ad altri due utenti con id=33 e 34. Ovviamente devo aggiungere le righe appropriate nella tabella category_users.

Esempio:

  • Ci sono 6 categorie: id=1, 2, 15, 17, 19 e 24.
  • Categorie disattivate: 15 e 17
  • Segui il primo post nelle categorie 1, 2 e 24
  • Traccia la categoria 19.

Per prima cosa ho creato uno script che inserisce tutte le categorie selezionate nella sezione disattivata (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);

Puoi aggiungere fino a 1000 righe alla volta.

Dopo di ciò ho aggiornato le righe per le categorie Tracciate e con Primo Post Seguito:

-- segui primo post
UPDATE "public"."category_users" SET "notification_level"='4' WHERE  "category_id" in (1,2,24);
-- traccia
UPDATE "public"."category_users" SET "notification_level"='2' WHERE  "category_id"=19;

Dopo di ciò le impostazioni dell’utente sono state aggiornate. Le categorie disattivate sono nascoste dalla pagina principale e dagli ultimi argomenti.

изображение

Fatemelo sapere se esiste un altro modo semplice per modificare in blocco le impostazioni degli utenti relative alle categorie disattivate o seguite.