Importazione massiva di Redirects in nuovi topic di Discourse

Ciao a tutti,

Recentemente sono riuscito a migrare con successo il mio sito da una vecchia piattaforma personalizzata a Discourse. Tuttavia, ora mi trovo ad affrontare la sfida di importare permalink/reindirizzamenti nei nuovi argomenti di Discourse. Ho gli ID di tutti i post creati in Discourse e sto esplorando opzioni per importare questi reindirizzamenti tramite API o riga di comando, poiché l’importazione manuale a causa della grande quantità non è fattibile.

Qualcuno potrebbe per favore consigliarmi se esistono metodi o strumenti disponibili per importare in modo efficiente i link di reindirizzamento nei nuovi argomenti di Discourse? I vostri pareri e suggerimenti sarebbero molto apprezzati.

Grazie in anticipo!

Se la tua migrazione si basava su uno script di importazione, allora gli argomenti (e probabilmente i post) includono un campo personalizzato import_id. Puoi quindi utilizzare quei campi personalizzati, i Permalink e SiteSetting.permalink_normalizations per creare reindirizzamenti.

Puoi testare in Rails con qualcosa come

tcfs=TopicCustomField.where(name: 'import_id')
pcfs=PostCustomField.where(name: 'import_id')

Se non li hai, allora sarà Molto Difficile.

Se li hai, allora puoi fare qualcosa come

tcfs.each do |tcf|
  Permalink.create(url: "imported-topic/#{tcf.value}", topic_id: tcf.topic_id)
end

E quindi creare una PermalinkNormalization che reindirizza il percorso per gli argomenti a /imported-topic/IMPORTED_ID.

Puoi usare grep negli import_scripts per trovare altri script di importazione che impostano Permalink e la normalizzazione dei permalink.

1 Mi Piace

Grazie, Jay, per la tua risposta. Invece di utilizzare lo script di importazione per la migrazione, ho optato per l’integrazione API a causa della struttura personalizzata. Ho sviluppato uno script Python per importare i post utilizzando l’API e ho recuperato con successo i nuovi ID degli argomenti per ciascun argomento. Nonostante l’importazione di vecchi URL con nuovi ID/URL degli argomenti su circa 6.000 pagine, nessuna delle mappature funziona come previsto. Potresti per favore consigliarmi cosa potrei star trascurando e come correggere questo problema? La tua guida sarebbe molto apprezzata.