Indice
Changelog
Procedura gestione "changelog"
Il changelog viene salvato in file di changelog per ogni pagina, con una cache delle modifiche recenti. Le modifiche recenti sono salvate in /data/meta/_dokuwiki.changes
e compattati ogni giorno. I changelog per pagina sono conservati nei file /data/meta/<namespace>/<pageid>.changes
. Questo log delle modifiche ti permette di registrare tutto il ciclo di creazione, eliminazine e revisione.
Formato Changelog
Il changelog viene salvato come file di testo puro con una registrazione per ogni riga. Ogni riga del changelog contiene un elenco di campi separati da spazi (il tab della tastiera).
<date>\t<ip>\t<type>\t<id>\t<user>\t<sum>\t<extra>\n <date> = Ora Unix <ip> = Indirizzo IP IPv4 oppure IPv6 <type> = Tipo di riga del log (vedi sotto) <id> = ID della pagina DokuWiki <user> = Nome utente di DokuWiki (se loggato) <sum> = Modifica sommario o motivo dell'azione <extra> = Campo per dati specifici di un tipo arbitrario. Nota: NON può contenere i caratteri "\t" oppure "\n".
Tipo di righe
Il tipo di righe è una string a di lunghezza arbitraria. Tutti i valori del singolo carattere <type>
sono riservati per il codice di Dokuwiki, mentre i valori del multi carattere <type>
sono consentiti per i tipi di righe di log esperimentali e definiti dall'utente. Da notare che <type>
è case sensitive. Il campo <type>
viene analizzato con ===
e non con substr
.
Tipi di codici
Tipo | Nome | Extra | Note |
---|---|---|---|
C | Creazione | ||
E | Modifica | ||
e | Modifica minore | Solo disponibile agli utenti loggati | |
D | Cancellazione | Il changelog e attic mantegono la pagina della cronologia | |
R | Ripristino | Revisione modificata per ripristinare la pagina | Gli utenti possono modificare le revisioni che loro stessi hanno cominciato |
Conservazione del Changelog
NON eliminare la directory /data/meta
. Ora contiene le informazioni di changelog che non possono essere rigenerate da altri dati del wiki.
Ricostruzione del Changelog
Nel caso accidentalmente si stato eliminato il file <dokuwiki>/meta/_dokuwiki.changes
vedi Tips & Tricks: Rebuilding Your Wiki Change Log.
Importazione
|
---|
Il vecchio changelog viene importato automaticamente se esiste.
Nota:
I wiki molto grandi che girano sui server con PHP in modalità “safe mode” possono ricevere un messaggi relativo al tempo massimo di esecuzione visto che non può essere incrementato nel codice. Se necessario, l'importazione può essere fatta su un altro server che non sia in modalità “safe mode”.
La directory /data/meta
con il changelog importato può essere copiato nel server in modalità “safe mode”.
Nota:
Sui wiki con pochi aggiornamenti $conf['recent_days']
(il valore predefinito è di 7 giorni) si dovrebbere passare ad un valore più appropriato per avere la pagina delle “Modifiche recenti” più popolata.
L'importazione di un vecchio changelog può richiedere molta più memoria del solito limite di 8M di PHP. Se l'importazione fallisce, controllare il log di errore nel server web come un errore di PHP, qualcosa del tipo Errore fatale: dimensione della memoria permessa di 8388608 bytes superata
.
Se si vede questo, aumentare temporaneamente il limite della memoria nel file php.ini
di PHP, riavviare il server web e riprovare nuovamente l'importazione.
Verifica importazione
L'azione “do=check” indicherà se esiste un vecchio changelog e se si stata importando oppure è stato importato. Se l'importazione eccede il tempo massimo, “do=check” dovrebbe mostrare un avviso che l'importazione non è stata completata. Riprovare nuovamete l'importazione eliminando i file /data/meta/_dokuwiki.changes
e /data/meta/_dokuwiki.changes_*
.
Dopo che il vecchio changelog è stato importato con successo, l'azione “do=check” potrebbe ancora indicare che un vecchio file changelog è presente. Questo è normale e previsto dal programma. Ma se viene ancora mostrato l'errore “Il plugin Importoldchangelog non è stato disabilitato dopo l'importazione” ogni volta che si esegue “do=check”, si dovra disabilitare il plugin utilizzando il menu Gestione extension.