I membri non ricevono email dalla categoria Seguita

Ciao. C’è un modo per sovrascrivere la scelta deliberata degli utenti esistenti?

Ho provato UserOption.update_all(default_categories_watching: <id>) e UserOption.update_all(watched_categories: <id>) ma queste non sono opzioni utente…

MODIFICA e soluzione: User.all.each do |user| CategoryUser.batch_set(user, :watching, [<id>]) end

1 Mi Piace

È possibile farlo tramite la console di Rails (e anche tramite l’API), ma valuterei attentamente se farlo o meno. Se un utente ha fatto una scelta deliberata di “Watch” o “Mute” una categoria (o tag o argomento), sovrascrivere quella scelta sarà probabilmente indesiderato. Possono anche semplicemente ripristinarla a come era, quindi potresti non ottenere alcun vantaggio.

3 Mi Piace

Grazie per la risposta. Sono pienamente d’accordo. Sebbene nel nostro caso si tratti di risolvere un problema attuale che ho descritto qui: Favor activity summary posts from certain category.

L’idea è quella di ripristinare l’impostazione predefinita (seguire una determinata categoria) e poi lasciare che le persone la modifichino a loro piacimento.

Ho notato ora che il comando sopra User.all.each do |user| CategoryUser.batch_set(user, :watching, [<id>]) end in qualche modo non ha funzionato per modificare le preferenze di tutti gli utenti. Qualche idea sul perché? Ancora meglio sarebbe aggiungere la nuova preferenza di monitoraggio alle preferenze di monitoraggio utente esistenti…

P.S. siamo una piccola community e so che solo una frazione ancora più piccola si è presa il tempo di regolare le proprie preferenze (;

1 Mi Piace

Per chiunque non abbia impostato specificamente una categoria a livello di notifica, ripristinare la categoria predefinita di osservazione e applicarla storicamente dovrebbe ripristinare questi a livelli normali.

Se i numeri sono piccoli, usare l’interfaccia utente o l’API potrebbe essere una scommessa più sicura rispetto alla console rails. Di quante persone stiamo parlando?

1 Mi Piace

Per chiarezza, la categoria in questione si chiama Announcements e il suo ID è 22.

Ho fatto esattamente questo prima di provare anche il comando. Ma ancora dopo entrambi, in un nuovo post in Announcements, solo alcuni utenti ricevono un’email.
Ciò che potrebbe essere successo è che gli utenti si siano disiscritti dalle notifiche via email perché l’email digest conteneva solo attività “minori” (cioè, nessun post da Announcements come descritto nel problema correlato collegato in precedenza)

60

1 Mi Piace

Hai installato il data explorer? Se sì, hai una query per vedere quanti dei tuoi utenti non hanno il tracciamento corretto e/o le preferenze email?

2 Mi Piace

Buona idea. Lo farò quando avrò un po’ più di tempo!

Un minore sforzo immediato, uno script rails per reimpostare i parametri necessari per tutti gli utenti mi renderebbe felice allo stesso modo.

1 Mi Piace

Penso che abbiamo bisogno di conoscere qualche dettaglio in più prima di elaborare una soluzione. La tabella category_users registra solo i livelli di notifica delle categorie attive, quindi se qualcuno non ne ha uno, i dati non saranno nella tabella da modificare tramite la console Rails. (ad esempio, se aggiungo #site-feedback all’impostazione admin categorie predefinite che seguono aggiungerà un record in category_users per ogni utente, e quando reimposto l’impostazione eliminerà nuovamente quei record).

2 Mi Piace

Posso confermare che User.all.each do |user| CategoryUser.batch_set(user, :watching, [22]) ha modificato le preferenze di tracciamento di tutti gli utenti per seguire la categoria desiderata (22 | Annunci); poiché questa query elenca tutti gli utenti:

SELECT *
FROM category_users
WHERE category_id = '22' AND notification_level = '3'

E questa query elenca solo 1 utente:

SELECT *
FROM user_options uo
WHERE uo.email_level = '2'

La domanda ora è: perché così tanti utenti non ricevono un’email quando c’è un nuovo post nella categoria 22 “Annunci” :thinking:
P.S. Sto armeggiando con le query SQL e non so come unirle.

Ciao. Non ho ancora trovato una soluzione. Non riesco a capire le preferenze utente necessarie per ricevere e-mail di notifica dei post per gli argomenti monitorati. Qualche idea? Grazie!

Ciao @JammyDodger

Nel caso, sto ancora indagando e cercando di risolvere questo problema. Ho isolato le impostazioni di uno dei nostri utenti che ha le impostazioni predefinite per seguire una determinata categoria (‘Announcements’) ma che non riceve notifiche via email per nuovi post:

user mailing_list_mode email_digests external_links_in_new_tab enable_quoting dynamic_favicon automatically_unpin_topics digest_after_minutes auto_track_topics_after_msecs new_topic_duration_minutes last_redirected_to_top_at email_previous_replies email_in_reply_to like_notification_frequency mailing_list_mode_frequency include_tl0_in_digests notification_level_when_replying theme_key_seq allow_private_messages homepage theme_ids hide_profile_and_presence text_size_key text_size_seq email_level email_messages_level title_count_mode_key enable_defer timezone enable_allowed_pm_users dark_scheme skip_new_user_tips color_scheme default_calendar oldest_search_log_date chat_enabled only_chat_push_notifications chat_sound dismissed_channel_retention_reminder dismissed_dm_retention_reminder bookmark_auto_delete_preference ignore_channel_wide_mention chat_email_frequency enable_experimental_sidebar seen_popups chat_header_indicator_preference sidebar_link_to_filtered_list sidebar_show_count_of_new_items watched_precedence_over_muted chat_separate_sidebar_mode topics_unread_when_closed show_thread_title_prompts
JohnDoe false true true true false true 10080 240000 2880 2023-06-13T08:25:13.000Z 1 false 1 1 true 2 0 true NULL {} false 0 0 1 1 0 false Europe/Somewhere false NULL false NULL 0 NULL true NULL NULL NULL NULL 3 NULL 1 false {1,2,3,4,5} 0 false false NULL 0 true true

Non riesco proprio a capire perché questo problema si verifichi, dato che questa è la riga dell’utente quando interrogo gli utenti che seguono la categoria ‘Announcements’:

id category user notification_level last_seen_at
123 Announcements JohnDoe 3 NULL

Ci sono altre impostazioni che mi sfuggono? Potrebbe essere che l’utente abbia cliccato su “unsubscribe” in una delle email di notifica e ciò abbia modificato le sue impostazioni email?

Grazie!

Fare clic sul link “annulla iscrizione” da un’email di notifica porta l’utente a una pagina in cui può modificare le proprie preferenze di notifica. Ad esempio:

Se un utente ha selezionato una delle opzioni “smetti di seguire tutti gli argomenti nella categoria <category_name>” o “Non inviarmi alcuna email da Discourse”, vedrai le modifiche nella loro pagina delle preferenze. O la categoria sarà stata rimossa dal loro elenco di categorie seguite, o le loro preferenze email saranno state modificate in modo che tutte le impostazioni nella loro pagina email siano impostate su “mai”.

È più difficile vedere la modifica se l’utente ha selezionato l’opzione “smetti di seguire questo argomento”. In tal caso, potresti impersonare l’utente dalla loro pagina di amministrazione, quindi visitare l’argomento per vedere se il suo livello di notifica per l’argomento è cambiato da “seguendo” a “tracciando”. Puoi anche ottenere informazioni sul suo livello di notifica per l’argomento dalla console Rails:

Prima di farti coinvolgere troppo in questo, vai alla pagina dei log delle email saltate del sito. Puoi accedervi dal pannello laterale di amministrazione. Inserisci l’email dell’utente nel campo “Indirizzo To” in alto nella pagina. Potrebbe mostrarti i dettagli sul motivo per cui l’email specifica non è stata inviata all’utente.

3 Mi Piace

Grazie per la risposta.

Ho controllato la sezione delle email saltate. Ci sono solo i casi “L’utente è stato visto di recente”, “Notifiche della mailing list disabilitate per i post dell’utente” e “Superata la soglia di bounce_score”.

Mi stavo chiedendo se ci fosse la possibilità di modificare le impostazioni per tutti gli utenti in uno dei seguenti modi:

  • Modificare l’impostazione di tutti gli utenti “come se” si fossero appena iscritti.
  • oppure: Creo un nuovo utente di test e utilizzo queste impostazioni per copiarle a tutti gli altri utenti esistenti.

C’è l’impostazione del sito “categorie predefinite monitorate”. Se la modifichi, ti verrà data la possibilità di applicare le modifiche storicamente. Selezionando tale opzione verranno aggiornate le preferenze per tutti gli utenti eccetto gli utenti che hanno esplicitamente configurato la loro preferenza per quella categoria nella loro pagina delle preferenze. Penso che questo sia il problema che stai cercando di aggirare. Potresti probabilmente gestirlo dalla console Rails, ma probabilmente eviterei quell’approccio.

Potresti semplicemente creare una nuova categoria per gli annunci e aggiungere quella categoria all’impostazione del sito “categorie predefinite monitorate” del tuo sito. Potresti quindi riordinare il sito spostando gli argomenti dalla vecchia categoria degli annunci alla nuova. Se vuoi mantenere il nome della categoria “annunci”, inizia rinominando la categoria originale “annunci” in qualcos’altro. Mi rendo conto che questo è un po’ un hack, ma è un modo per risolvere il problema senza toccare la console Rails.

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.