Gentili sviluppatori di Discourse,
RIF: rake posts:rebake (funzionalità futura)
rake posts:rebake # Aggiorna ogni post con l'ultima versione del markdown
rake posts:rebake_match[pattern,type,delay] # Rigenera tutti i post corrispondenti a una stringa/espressione regolare e opzionalmente ritarda il ciclo
A. Sarebbe utile disporre di una funzionalità di rigenerazione che consenta all’utente di rigenerare solo se l’ID del topic (o del post) è maggiore di un certo numero intero.
rake posts:rebake_incremental['topic_id', 34567] # Rigenera se topic_id >= 34567
rake posts:rebake_incremental['post_id', 364123] # Rigenera se post_id >= 364123
Motivazioni:
(1) Durante la rigenerazione, specialmente durante attività di migrazione, gli sviluppatori potrebbero aver già migrato topic/post; ma successivamente, quando aggiornano la migrazione con nuovi post (ad esempio in un forum attivo, quando la migrazione viene aggiornata), non esiste un modo (per quanto mi risulti) per specificare il punto di partenza nella rigenerazione. Il matching di pattern non è progettato per questo (a meno che non stia fraintendendo).
(2) Quando si lavora sulla messa a punto del testo proveniente da forum vecchi in attività di migrazione verso Discourse, ad esempio per adattare caratteri speciali dai vecchi forum affinché funzionino con il markdown in un forum di programmazione, o per gestire la ricorsione dei bbcode nei forum legacy, è utile rigenerare, ad esempio, gli ultimi 1000 post (anziché l’intero database).
B. Ancora più flessibile di A (specificare un operatore di confronto)
rake posts:rebake_incremental['topic_id', '>=', 34567] # Rigenera se topic_id >= 34567
rake posts:rebake_incremental['post_id', '<', 364123] # Rigenera se post_id < 364123
Generico:
rake posts:rebake_incremental[target, operator, id]
Dove:
- target è o topic_id o post_id
- operator è un operatore di confronto aritmetico
- id è un numero intero, che rappresenta topic_id o post_id
Nota: Le attività di migrazione richiedono spesso molte iterazioni per essere eseguite correttamente, in particolare per quanto riguarda il testo e la codifica dei post dal forum originale a Discourse. Esistono molti caratteri utilizzabili nei forum non basati su markdown che, una volta migrati in un forum che elabora il markdown, causano problemi. Avere un maggiore controllo sul processo di rigenerazione, come illustrato, sarebbe di grande aiuto.