Come riordinare i messaggi di un argomento per data?

Ho importato una vecchia e vasta lista di mailing in Discourse e ho scoperto (dopo aver unito vari thread che inizialmente non erano stati correttamente identificati come parte di un thread principale) che i thread sono diventati disordinati. Molti messaggi di thread con data precedente vengono visualizzati in Discourse DOPO thread principali con date ancora più antiche.

Esiste un metodo per riordinare i thread in base alla data, dal più vecchio (post originale) al più recente?

No. Il problema è che gli argomenti sono ordinati per ID del post. E, come hai descritto, hai importato i post in un ordine diverso da quello in cui avrebbero dovuto essere creati. Temo che l’unica soluzione corretta sia correggere l’importazione in modo che i post vengano importati nell’ordine giusto. Sembra però che tutto ciò che ti serva sia cancellare il database ed eseguire di nuovo lo script di importazione.

(O altre “soluzioni” includono: non preoccuparti dell’ordine dei post, sono contenuti vecchi che nessuno leggerà comunque, oppure, per ogni argomento, cancellare tutti i post esistenti e ricrearli nell’ordine corretto.)

Mmm, queste misure sono in vigore da diversi mesi. Non credo che la cancellazione e la reimportazione siano una soluzione appropriata. Mi chiedo se sia possibile sviluppare un plugin che consenta di riordinare gli ID dei post… mmm.

Oh, che peccato. Suppongo che tutto sia possibile, ma ciò influenzerà le prestazioni dell’intero sito per sempre.

Potresti cancellare quei topic e i campi personalizzati associati, quindi eseguire nuovamente lo script. Prima di farlo sui dati in produzione, dovresti testare molto attentamente su un sito di staging.

Se gli ID dei post vengono riordinati, non penso che ciò abbia un impatto permanente. Immagino che un’altra opzione potrebbe essere un plugin che ordina semplicemente un thread per data al momento della query…

Esatto. Se elimini e ricrei tutti i post nell’ordine corretto, sarai a posto.