Joomla è in grado di mantenere uno storico di versioni per ogni suo articolo. Questa feature è estremamente utile per poter tornare indietro di qualche passaggio in caso di errori inaspettati. Vediamo come attivarla e come usarla!
Mi sono sbagliato!
Capita a tutti di fare degli errori mentre si inseriscono o si modificano dei testi online: a volte si cancellano dei paragrafi per sbaglio, a volte si cancella una parola senza volere, altre volte semplicemente si cambia idea. Joomla ti permette di tornare indietro ad una versione precedente, semplicemente con un click!
Esattamente come dropbox, google drive o altri sistemi di archiviazione cloud, vengono salvate nel database fino a 10 vecchie versioni dell'articolo. Questo numero può essere modificato dalle opzioni, e si può anche scegliere di mantenere "in evidenza" alcune versioni, in modo che non vengano mai cancellate.
Controlliamo che il sistema di versioni di Joomla sia attivo
Prima di tutto controlliamo che a livello di configurazione tutto sia in ordine. Innanzitutto bisogna essere sicuri di avere una versione di Joomla superiore alla 3.2 (che è la versione dove questa feature è stata rilasciata). Se così non fosse fate subito un backup seguendo la nostra guida e aggiornate!
Dopodichè andiamo dal menu in alto in Contenuti -> Articoli
Clicchiamo quindi sull'icona delle Opzioni in alto a destra:

Dopodichè andiamo nella tab "Layout di Modifica":

Qui troviamo le due opzioni che ci interessano:
- Abilita versioni: deve essere impostato su SI, e ci permette di usufruire di questa feature
- Massimo n. di versioni: di default è 10, può essere aumentato o mezzo a 0 (zero). In quest'ultimo caso significa semplicemente: "salva sempre tutte le versioni"
In genere è sconsigliato lasciare il numero di versioni molto alto (o addirittura infinito) perchè per siti con molti articoli il rischio è che il database si vada a riempire in fretta. In genere 10 è il numero giusto da utilizzare.
Come posso ripristinare una versione precedente di un articolo?
Arriviamo ora all'utilizzo vero e proprio di questa feature: entrate dentro un articolo qualsiasi del vostro sito.
Nella barra in alto sarà presente un nuovo pulsante chiamato "Versioni":

Cliccandolo verrà fuori una schermata come questa:

NB: se avete appena attivato la feature ovviamente non ci sarà uno storico, perchè non è ancora stato creato. Se fate varie modifiche e salvate di volta in volta il vostro articolo pian piano comparirà lo storico di tutte queste mofiche.
Andiamo ad analizzare questa finestra:
Innanzitutto vediamo una lista di versioni, dove la parte cliccabile è la "data". Cliccando sulla versione che ci interessa il contenuto dell'articolo verrà ripristinato, esattamente com'era in quel preciso momento. La stellina gialla serve ad identificare qual'è la versione attuale. La comodità infatti è anche nell'andare "avanti e indietro" tra le versioni, il processo è reversibile!
La colonna Custoride (con opzione si/no) serve per comunicare al sistema la volontà di tenere nel database una determinata versione, anche se si raggiungono le famose 10 che avevamo impostato nelle opzioni. Ottima opportunità nel caso l'articolo abbia ricevuto modifiche sostanziose o di cui non siamo pienamente convinti.
Infine, selezionando due versioni con il checkbox e cliccando sul pulsante Confronta si aprirà una pagina che mostrerà le differenze tra i due file.
Come detto precedentemente, una volta che avete individuato la versione da ripristinare basta cliccare sulla data oppure selezionare con il checkbox e cliccare su Ripristina per fare il rollback del contenuto dell'articolo. E il gioco è fatto.
Attenzione: i campi personalizzati e i tag non sono salvati nelle versioni!
Questo è purtroppo un punto dolente: se usate dei campi personalizzati questi non vengono salvati nelle versioni. Quello che viene ripristinato è solo il contenuto dell'articolo, se avete cancellato un campo personalizzato allora è perso per sempre. E' un problema che affligge questa feature da anni ed effettivamente può potrare a diverse problematiche, soprattutto perchè non è scritto esplicitamente da nessuna parte. Potete trovare una discussione a riguardo su GitHub.