Richiesta funzionalità: Estendi automaticamente un argomento quando l'oggetto di un'email corrisponde al suo titolo

Attualmente, se due email con lo stesso oggetto vengono inviate a una determinata categoria di Discourse, ciascuna crea un proprio argomento con l’oggetto come titolo. Questo finisce per generare più argomenti con lo stesso titolo, indipendentemente dal fatto che le opzioni di configurazione “Consenti argomenti con titoli identici e duplicati…” siano selezionate o meno, con l’effetto di produrre una moltitudine di argomenti con lo stesso titolo.

Qui, ciò che chiedo è che tali post generati via email vengano automaticamente uniti a un argomento esistente quando condividono lo stesso oggetto, se l’opzione “Consenti argomenti con titoli identici e duplicati se la categoria è diversa” è deselezionata (o aggiungendo una nuova opzione “unisci i post inviati via email a un argomento esistente quando l’oggetto corrisponde al titolo dell’argomento”). Questo avrebbe il vantaggio di evitare titoli duplicati in una categoria, consentendo al contempo a più email di accumularsi in un singolo argomento quando condividono lo stesso oggetto (che sia per progettazione o per caso).

Nella pratica, questo si presenta per noi quando abbiamo script che generano post destinati a essere correlati tra loro sotto un unico argomento, come ad esempio “tale e tale configurazione di test non è riuscita” o “qualcuno ha menzionato xyz su reddit”. Sarebbe ideale che tutte le email con un oggetto simile venissero raggruppate sotto un unico argomento, invece di creare un nuovo argomento per ogni email, ciascuna con un titolo identico. Inoltre, permetterebbe a qualcuno di aggiungere un nuovo post a un dato argomento via email senza necessariamente dover rispondere a un’email che lo avvisa di un post precedente in quello stesso argomento, per coloro che potrebbero aver bisogno di scrivere via email invece che tramite l’interfaccia web per un motivo o per un altro.

Credo che il potenziale di svantaggi nei casi in cui le persone inviino per errore email il cui oggetto corrisponde per caso a un argomento esistente di cui non erano a conoscenza sia basso. Principalmente perché presumo che, se il loro oggetto corrisponde al titolo di un argomento preesistente, ciò sia dovuto a una somiglianza di contenuto, quindi non sembra un grosso problema estendere l’argomento esistente piuttosto che crearne uno nuovo con un titolo duplicato. Inoltre, un amministratore del sito potrebbe sempre selezionare la casella “consenti argomenti con lo stesso titolo…” se volesse il comportamento attuale in cui ogni nuova email crea un nuovo argomento.

Questa funzionalità sarebbe estremamente utile per il nostro sito Discourse e, sospetto, probabilmente anche per altri. Grazie per la vostra considerazione e per tutto il grande lavoro di ingegneria che è evidentemente stato dedicato a Discourse.

Credo che questo dipenda fortemente dalla specifica comunità; ammetti tu stesso che si verificherebbero collisioni non intenzionali. Qual è il valore nel avere un numero minore di argomenti molto più lunghi?

Per comunità come meta, questo significherebbe che qualsiasi utente che invia una email con “problemi di configurazione di Mailgun” continuerebbe a ricevere notifiche di aggiornamenti mesi o anni dopo aver risolto il proprio problema. Non mi sembra pratico.

L’obiettivo è evitare titoli duplicati, cosa che l’impostazione attuale impone per gli argomenti creati direttamente sul sito, poiché all’utente può essere fornita una retroazione al momento della creazione dell’argomento. L’impostazione non viene rispettata per gli utenti che inviano email perché non c’è alcuna opportunità di fornire tale feedback.

Grazie per aver interagito con me su questo argomento, @Stephen.

Penso che questo sia molto specifico della comunità

Sono d’accordo. Ecco perché propongo che sia controllato da una casella di controllo nelle impostazioni (riutilizzando una di quelle esistenti relative al divieto di titoli duplicati o aggiungendone una nuova).

Quale valore c’è nell’avere un numero più ridotto di argomenti molto lunghi?

Per fornire un contesto, sul nostro sito Discourse, abbiamo una categoria “Notifiche”, le cui sottocategorie ricevono e-mail inviate da script quando si verificano determinati eventi (ad esempio, fallimenti nei test, nuovi problemi segnalati, nuove domande pubblicate su Stack Overflow, nuovi riferimenti al nostro progetto su siti di discussione, ecc.). Queste categorie sono progettate per consentire ai membri della comunità di monitorare e discutere tipi specifici di eventi che potrebbero interessarli.

In alcuni casi, le e-mail generate dai nostri script hanno linee oggetto prevedibili e deterministiche per progettazione, come “linux64 testing”. Ad esempio, se si verifica un nuovo fallimento nei nostri test linux64 il 15 agosto, ciò genera un’e-mail. Se ulteriori fallimenti si verificano il 16 agosto, ciò genera una seconda e-mail con la stessa linea oggetto. Quindi, se tutti i fallimenti vengono risolti il 17 agosto, viene generata una terza e-mail con la stessa linea oggetto che indica la risoluzione. Infine, se si verificano nuovi fallimenti il 31 agosto, generiamo una quarta e-mail con la stessa linea oggetto e una quinta quando il fallimento viene risolto.

Con il comportamento attuale del sito, ciascuna di queste e-mail genera un nuovo argomento denominato “linux64 testing”, senza alcun collegamento o relazione tra di essi, rendendo difficile per gli utenti correlare gli eventi o decidere quale dei cinque argomenti utilizzare per discussioni di follow-up sui fallimenti. Ciò che vorremmo invece è che tutte e cinque le e-mail (e qualsiasi discussione utente che ne derivi) appaiano come post all’interno di un singolo argomento, in modo che uno sviluppatore possa visualizzare tutti i fallimenti nei test di una data configurazione in un unico argomento, organizzati in ordine cronologico.

Un altro impatto del comportamento attuale di Discourse è che una persona che riceve notifiche e-mail per la categoria o l’argomento in questione vede cinque thread non correlati nella propria casella di posta, tutti denominati “linux64 testing”. Se Discourse unisse invece questi thread in un unico argomento, quella persona vedrebbe tutti i post “linux64 testing” associati come un singolo thread nel proprio client di posta, rendendo la navigazione molto più semplice e più simile a una conversazione tradizionale.

Eseguiamo diverse decine di configurazioni di test ogni notte, ciascuna delle quali ha una linea oggetto unica quando si verificano fallimenti, quindi la situazione attuale si traduce in un caos disordinato e difficile da navigare, con un argomento distinto e superficiale per ogni e-mail, tutti intervallati cronologicamente. Il nostro ideale sarebbe invece che la categoria “Notifications.Tests” mostrasse un singolo argomento per configurazione, che memorizzi tutti i post generati da umani o script relativi a quella configurazione in ordine cronologico, determinati da quella linea oggetto unica.

[Questa categoria di test non è attualmente visibile pubblicamente sul nostro sito, @Stephen, ma se vuoi vedere com’è e provare direttamente il problema, sarei felice di concederti temporaneamente l’accesso in lettura… fammi solo sapere.]

Per comunità come meta, ciò significherebbe che qualsiasi utente che invia e-mail con ‘problemi di configurazione di Mailgun’ continuerebbe a essere informato degli aggiornamenti mesi o anni dopo aver risolto il proprio problema.

Sono d’accordo che questa scelta potrebbe non essere sensata per una comunità grande e longeva come meta, che non ha la necessità di aggregare i post generati da e-mail in un unico argomento come facciamo noi. Quindi probabilmente non vorresti attivare una tale funzionalità se esistesse. (E forse, col tempo, anche un sito come il nostro non ne avrebbe più bisogno per gli stessi motivi; in tal caso, penso che l’ideale sarebbe poter applicare la casella di controllo su base per categoria, ma non volevo chiedere troppo dato che credo che un’unica impostazione a livello di sito sia sufficiente per noi al momento).

Detto questo, anche se un sito come il nostro attivasse una tale funzionalità e l’autore originale dell’argomento ‘problemi di configurazione di Mailgun’ fosse infastidito dai post successivi che condividono la stessa linea oggetto, presumibilmente potrebbe disiscriversi dall’argomento per evitare di continuare a ricevere aggiornamenti quando qualcuno altro utilizza la stessa linea oggetto (o semplicemente aggiunge un altro post al dato argomento tramite l’interfaccia web)?

[Detto questo, mi aspetto che la maggior parte degli utenti umani pubblichi tramite il sito web, quindi immagina che questa funzionalità abbia un impatto maggiore sui post generati da script rispetto a quelli generati da umani]