Giuro che questo funzionava nei miei primi test, dato che è fondamentale per il mio flusso di lavoro: potevo taggare un post esistente e gli utenti con watching_first_post su quel tag ricevevano una notifica.
Ora ho scoperto che non funziona in questo modo (…più..?)
O forse viene ignorato quando ci sono già post di risposta sotto quell’argomento?
Immagino di poter spostare gli argomenti in una categoria dove tutti hanno ‘watching first post’, ma…
Le notifiche vengono attivate solo alla creazione dell’argomento?
Non sono sicuro se la presenza di post di risposta causerebbe l’ignoranza del trigger del ‘primo post’.
Volevo davvero mantenere gli argomenti correlati in un’unica categoria e “escalare” alcuni tramite tag.
Sono disposto a eseguire uno script per avviare le notifiche ogni volta, ma Askbot non è riuscito ad aiutarmi a crearne uno funzionante.
Accoglierei qualsiasi input o soluzione alternativa..!
Questo è piuttosto definitivo, quindi devo ricordarmi male e aver creato argomenti di prova con il tag tracciato presente.
Oh no, non sto suggerendo che impostare un utente su ‘watch first post’ tramite tag dovrebbe fare qualcosa di retroattivo.
Ma sicuramente è comune che gli argomenti pubblicati vengano taggati dallo staff in seguito. Mi ero solo immaginato che quando un tag ‘watch first post’ viene applicato a un argomento esistente, generasse una notifica di quell’argomento per gli utenti che stanno già applicando WFP al tag.
Sto ancora lavorando con Askbot per creare uno script ad hoc per queste occasioni…
Dopo circa 60 iterazioni, Askbot e io abbiamo uno script Rails quasi funzionante.
Lo script seguente, per l’argomento 239 e il tag ‘tagtest’, genera le notifiche “Nuovo argomento” attese con il titolo corretto dell’argomento e genera le email correlate.
Alcuni elementi sembrano inerti (message: e display_username: non compaiono in alcun output), ma funziona quasi.
Il problema principale è che le email non arrivano con il titolo effettivo dell’argomento nell’intestazione. Viene visualizzato come " %{topic_title} ". topic_title apparentemente non è un campo valido per il metodo Notification, quindi non sono sicuro di quale sia il codice minimo necessario per inserirlo nell’email. (Askbot ha provato ad aggiungere metodi email sempre più elaborati, con errori sempre crescenti.)
Se qualcuno potesse aiutare con questo dettaglio, mi terrebbe a galla finché non imparerò come sistemare tutto correttamente…!
topic_id = 239
Tag.where(name: 'tagtest').each do |tag|
TagUser.where(tag_id: tag.id, notification_level: TagUser.notification_levels[:watching_first_post]).each do |tag_user|
user = User.find(tag_user.user_id)
puts "Username: #{user.username}, ID: #{user.id}"
# Recupera il titolo dell'argomento
topic = Topic.find(topic_id)
topic_title = topic.title
# Crea una notifica per l'argomento
Notification.create!(
user_id: user.id,
notification_type: Notification.types[:watching_first_post],
topic_id: topic_id,
post_number: 1, # Presumendo che tu voglia notificare il primo post dell'argomento
data: {
message: 'Hai una nuova notifica per un argomento che stai seguendo.',
display_username: 'system'
}.to_json
)
end
end
Anche al momento del tagging si corre un rischio, ad esempio il tagging in blocco di 500 argomenti, quindi ci sono 500 notifiche, addio alle tue notifiche.
O ancora peggio, 100 tag da parte di un amministratore a distanza di 10 secondi.
È un problema complicato, dovremmo integrare le notifiche con molta attenzione per modificare la funzionalità in questo modo.
Non è la stessa cosa se sposti argomenti in blocco in un’altra categoria? Spostare argomenti in un’altra categoria attiva le notifiche di “watching first post”.
Sì, penso che in generale ricategorizzare sia molto più raro che rietichettare, quindi la scala del problema è in qualche modo mitigata. C’è qualche possibilità che tu possa fare uno screenshot veloce di ciò che accade quando ricategorizzi in blocco 3 argomenti su “watch-first”?
Non sognerei mai di taggare in massa 500 argomenti, ma sono curioso, causerebbe più stress che pubblicare in una categoria Annunci che tutti seguono? (Modifica: Ops, Moin ha pubblicato mentre stavo scrivendo.)
Il mio caso d’uso è forse un post a settimana per “escalation” tramite email di notifica.
Sembra simile alla discussione precedente sugli argomenti ricategorizzati: (Modifica: che già conosci, scusa.)
Sto solo cercando di usare un tag invece di avere due categorie per argomenti simili. (Appartengono insieme, ma alcuni, dopo la pubblicazione, sono ritenuti degni di essere inviati ai nostri utenti silenziosi, a volte solo via email.)
Solo per curiosità/confronto, sto testando il comportamento ‘watch first post in category’, e non notifica alla ricategorizzazione.
La mia email time window mins è 10, e lascio 15 minuti tra i passaggi.
L’ho ripetuto diverse volte ora…
Crea un nuovo argomento nella categoria sandbox non osservata. Attendi 15 minuti.
Sposta l’argomento in una categoria che un utente sta Osservando: attiva notifiche immediate, invia email 10 minuti dopo.
Crea un altro nuovo argomento nella categoria sandbox non osservata. Attendi 15 minuti.
Sposta l’argomento in una categoria in cui un utente sta ‘Osservando il primo post’: non fa nulla, mai.
(Installazione standard self-hosted, 3.4.0.beta2-dev (0c019b2e45), tests-passed.)
Forse è qualcosa nel mio processo, ma non riesco a immaginare cosa. È possibile che la funzionalità che è stata risolta nel 2018 sia diventata irrisolta?
Per quanto ne so, l’aggiunta di un tag a un argomento esistente dovrebbe inviare una notifica a chiunque stia seguendo il primo post per quel tag.
L’ho appena testato sul mio sito di prova (3108e3a6b6) e sembra ancora funzionare correttamente.
Solo per verificare, hai modificato l’impostazione di amministrazione disable tags edit notifications in qualche momento? (E disable category edit notifications per la versione della categoria).
Avevo dimenticato che quelle impostazioni esistessero. Immagino che quando le ho disabilitate stessi pensando solo a notifiche come “un amministratore ha aggiunto un tag o modificato la categoria del tuo argomento” – non ad azioni come le notifiche di Watching o WFP.
Penso che potrebbero esserci ancora delle incongruenze, poiché Watching una categoria sembrava sovrascrivere disable category edit modifications, mentre WFP no. Come penitenza, testerò più a fondo e seguirò con un paio di altre persone che ho contattato sull’argomento.
(Inoltre, @sam ha in qualche modo supportato la mia conclusione )
Ma grazie @JammyDodger per avermi salvato da altre ore di smanettamento con script rails. Il mio prossimo passo sarebbe stato vendere il mio divano e pagare @pfaffman per aiutarmi.