Come unire in massa i topic ai genitori per un import di Yahoo Groups?

Dopo aver importato decine di migliaia di vecchi post da Yahoo Groups su Discourse, mi sono ritrovato con molti argomenti sconnessi che dovrebbero invece costituire un unico thread. Sembra che la soluzione più intuitiva sia selezionare o evidenziare diversi di questi post e trascinarli nell’argomento principale.

O forse, un metodo ancora migliore sarebbe selezionare tutti gli argomenti da unire e permettere al sistema di raggrupparli automaticamente in un unico argomento, usando il messaggio più vecchio come genitore e mantenendo il nome/oggetto originale, con l’ordinamento determinato dalle date esistenti.

Ad esempio, i miei messaggi sono per lo più strutturati così:

  • Nome dell’argomento
  • [nome mailing list] Nome dell’argomento
  • [nome mailing list] Nome dell’argomento
  • [nome mailing list] Nome dell’argomento
  • [nome mailing list] Nome dell’argomento
  • [nome mailing list] Nome dell’argomento
  • [nome mailing list] Nome dell’argomento
  • [nome mailing list] Nome dell’argomento

Quindi, in pratica, dovrei poter selezionare tutti questi post e semplicemente usare lo strumento a chiave inglese sul lato destro, cliccando su “Unisci” per raggiungere l’obiettivo.

Manca questa funzionalità o sto trascurando qualcosa?

Discourse ti permette di spostare i post in nuovi o esistenti topic. Non sono sicuro che questa sia la soluzione al tuo problema, ma se lo è, c’è una guida su come spostare i post qui: Moving posts to a new or existing topic.

Grazie per averlo segnalato. Purtroppo ero già a conoscenza di come funziona questa funzione. Il vero problema è che ciò che dimostri in quel tutorial riguarda come lavorare con i post all’interno di un argomento.

Immagina per un momento di avere 100 argomenti identici con lo stesso titolo o con titoli leggermente diversi.

Il problema è che l’importazione da mbox/Yahoo Groups non è avvenuta correttamente. Forse è dovuto a ID errati nelle email, o forse a qualcos’altro, ma il risultato è che per alcuni di noi ci sono migliaia o decine di migliaia di messaggi disconnessi tra loro in modo errato. Dobbiamo trovare un modo per unirli.

Sfortunatamente, un’unione automatica basata sui titoli probabilmente non è ottimale. Dobbiamo probabilmente esaminarli a occhio, selezionarne molti manualmente e poi chiedere al sistema di unirli tutti in un unico argomento.

Sembra che il posto migliore (anzi, l’unico) per farlo sia nella visualizzazione effettiva degli argomenti di una categoria. Fare ciò con il metodo presentato nella guida è estremamente gravoso e semplicemente non fattibile, poiché dovresti entrare in un argomento con un solo post, selezionare quel post, isolare il post genitore e poi combinarlo. La situazione diventa ancora più complessa quando ci sono decine o centinaia di post che condividono già lo stesso titolo.

Quindi, di cosa abbiamo bisogno? Di una funzione “Seleziona argomenti…” nella visualizzazione della categoria, che funzioni in modo simile alla funzione “Seleziona post…” all’interno della visualizzazione di un argomento.

Ha senso?

A me sembra che tu ti trovi a un bivio. Devi decidere quanto sia importante per te avere questi vecchi messaggi di Yahoo correttamente e ordinatamente contenuti in un unico argomento.

Se è importante, il mio suggerimento sarebbe di tornare indietro di un passo e correggere i file mbox. Quindi importarli con cura, in piccoli lotti.

Il modo migliore per farlo è probabilmente importarli in Mozilla Thunderbird e modificarli lì. Ogni cartella di Thunderbird è un file mbox a sé stante, quindi potresti spostare tutti i messaggi correlati in una singola cartella, aprire quel file mbox in un editor di testo ed eseguire una ricerca e sostituzione per correggere l’ID del messaggio, che viene utilizzato dall’importatore per determinare quali messaggi appartengono allo stesso argomento.

In realtà, la soluzione migliore sarebbe tornare indietro nel tempo e convincere i programmatori che hanno creato Outlook a impegnarsi un po’ di più nel seguire gli standard email vigenti.

Una cosa che mi chiedo: @pfaffman, sei a conoscenza di un modo per fare qualcosa di simile in modo programmatico in questo momento? Sarei forse disposto a usare l’approccio del fucile a canne mozze, dicendo semplicemente “unisci tutti i topic con la stessa riga dell’oggetto + questo preambolo”.

Ciò che intendo è come ho già spiegato nel mio primo post qui sopra, dove ho notato che alcuni topic intitolati “Nome del Topic” sono preceduti da “[nome della mailing list]”. In pratica, potrei semplicemente usare un’opzione di unione “nucleare” per raggruppare tutto ciò che è probabilmente correlato, per poi separarli quando gli utenti hanno usato inavvertitamente gli stessi nomi o oggetti dei topic…

Lol, sì, non è una cattiva idea @tobiaseigen, ma non c’è modo che riesca a trovare il tempo per intraprendere questo passo arduo con così tante decine di migliaia di messaggi. Solo i file mbox superano i 500 MB. Proverò a risolvere le cose gradualmente direttamente da Discourse, così anche altri moderatori potranno aiutare in questo modo. Spero che o troveremo altri suggerimenti come nella mia ultima domanda, o lavoreremo sull’implementazione di un plugin se non ci sono altre opzioni.

Consiglierei di ricominciare da capo e assicurarsi che l’importazione venga eseguita correttamente fin dall’inizio; quello che ha suggerito @tobiaseigen sembra promettente. È passato molto tempo dall’ultima volta che ho eseguito un’importazione mbox di grandi dimensioni e ho dedicato molto tempo a risolvere preventivamente problemi come quelli che descrivi. Se questa non è un’opzione, puoi provare qualcosa lato Rails: raccogliere tutti i post che ritieni appartengano allo stesso thread, ordinarli per data, creare un nuovo argomento (o scegliere il primo) e spostare tutti i post nel nuovo argomento.

Ci vorrebbe un po’ di tempo per elaborare un codice effettivo.

Beh, c’è stata molta partecipazione sul forum dall’importazione, quindi a questo punto non credo che un “ricominciare da capo” sia una possibilità concreta. Avrei un po’ troppo timore di procedere con cancellazioni e, inoltre, i moderatori hanno già iniziato a sistemare i dati importati, fondere account, ecc.

A un certo punto controllerò io stesso un metodo in Rails e poi condividerò quello che troverò, a meno che qualcuno non abbia un suggerimento prima che io possa farlo. Se necessario, lasceremo le cose un po’ “disordinate” durante le festività, finché non risolveremo questo piccolo problema.