Pagina 1 di 1
Wikimedia: Salvare in bozza
Inviato: gio 7 giu 2012, 12:44
da ZeroUno
Mi sono installato un wiki locale (con wikimedia).
Supponiamo che stia scrivendo un documento.
Quando si usa un editor di testo è buona norma salvare periodicamente (e anche spesso) per evitare di perdere tutto il lavoro in caso di crash, chiusure accidentali, o perchè salvo oggi e continuo domani...
E' possibile fare questo anche durante la scrittura di un articolo su un wiki, salvare in bozza e pubblicarlo solo quando ho terminato, senza dovermelo necessariamente scrivere in locale su un file di testo (dove, tra l'altro, non posso testare i wiki tag)?
Ormai anche tutte le webmail lo consentono, ed anche nei forum (sul form che sto utilizzando in questo momento).
Esiste qualche estensione che faccia questo?
In fondo il tasto "anteprima" c'è; basterebbe che questa "anteprima" venga anche salvata sul database.
Grazie
Re: Wikimedia: Salvare in bozza
Inviato: gio 7 giu 2012, 14:55
da Loris
Interessante... mi accodo alla richiesta.
Re: Wikimedia: Salvare in bozza
Inviato: gio 7 giu 2012, 16:05
da ZeroUno
Re: Wikimedia: Salvare in bozza
Inviato: gio 7 giu 2012, 16:57
da ZeroUno
Il primo è un po' datato e non supportato dalle ultime versioni di mediawiki, comunque richiede una modifica al database mi sembra.
Il secondo salva direttamente nel browser.
L'ho provato e funziona egregiamente ma bisogna disabilitare l'editor avanzato (quello presente anche in wikislacky).
Adesso vedo se riesco a patcharla per farlo funzionare anche con questo editor
Re: Wikimedia: Salvare in bozza
Inviato: lun 11 giu 2012, 19:39
da ZeroUno
Sto riuscendo a patcharlo per farlo funzionare anche con l'editor più avanzato (in verità patch su patch ormai l'ho quasi riscritto da zero

)
Domani (se non avrò troppo lavoro) dovrei essere in grado di pubblicarne una versione funzionante.
Re: Wikimedia: Salvare in bozza
Inviato: mar 12 giu 2012, 8:13
da Loris
Ottimo!
Re: Wikimedia: Salvare in bozza
Inviato: mar 12 giu 2012, 13:10
da ZeroUno
Gli esperimenti li sto facendo
quì.
Il wiki su cui finora stavo sviluppando è un altro ed è privato, questo invece è pubblico ed è vuoto.
Se vuoi fare un po' di esperimenti fai pure (creazione pagine, ecc). La registrazione è facoltativa (ma consigliata)
Al momento è installata la versione non modificata di clientsidedraft e l'editor di default è quello standard e su questo funziona. Non so se per usare il WikiEditor di mediawiki 1.19.0 è necessario registrarsi e metterlo sulle preferenze o no, ma con quello ancora il salvataggio non funziona (finchè non installo la versione modificata di clientsidedraft.
L'autosave è settato a 30 secondi per ora.
Per ora sono un po' impegnato con il lavoro; appena mi libero continuo.
Re: Wikimedia: Salvare in bozza
Inviato: mar 12 giu 2012, 16:24
da ZeroUno
Fatto.
Allora, per ora funziona così (non sono riuscito a fare altrimenti):
1) quando si preme sul pulsante "Visualizza Anteprima" (in fondo alla pagina), insieme all'anteprima compare anche un link "save draft"
2) quando si carica la pagina, se c'è una draft salvata allora verrà caricata e comparirà anche un pulsante 'annulla'
ATTENZIONE: quando viene caricata la draft non viene effettuato il controllo se per caso la pagina è stata modificata rispetto all'originale (per esempio da un altro utente) quindi fare attenzione.
Istruzioni per l'installazione:
Installare la seguente estensione:
http://www.mediawiki.org/wiki/Extension ... sideDrafts
Sostituire ClientsideDrafts.js con il seguente codice (nota: questo codice è soggetto a variazioni):
Codice: Seleziona tutto
(function(window, $, undef) {
"use strict";
var document = window.document;
var storage = window.localStorage, JSON = window.JSON;
var keyPrefix = 'ClientsideDrafts::drafts';
var mediaWiki = window.mediaWiki;
var textareaSelector = '#wpTextbox1';
// function showMessage(messaggio) {
var showMessage = function(messaggio) {
if (mediaWiki.util && mediaWiki.util.jsMessage) {
mediaWiki.util.jsMessage(messaggio); // MediaWiki 1.18
} else if (window.jsMsg) {
window.jsMsg(messaggio);
}
};
// function t() {
var t = function() {
var messaggio = mediaWiki.message.apply(mediaWiki, arguments);
return messaggio.toString();
};
if (storage === undef || JSON === undef) {
showMessage(t('clientsidedrafts-required'));
return; // No HTML5 storage or JSON support, exiting.
}
// State saved as pair { draft }
(function(title, userName) {
var key = [keyPrefix, userName || '', title].join('-');
var $textarea = $(textareaSelector);
// function loadKey(key) {
var loadKey = function(key) {
var s = storage.getItem(key);
if (s !== null) s = JSON.parse(s);
return s;
};
// function saveKey(key, data) {
var saveKey = function(key, data) {
if (!data){
storage.removeItem(key);
return;
}
if (data !== null) {
data = JSON.stringify(data);
}
storage.setItem(key, data);
};
// function loadDraft() {
var loadDraft = function() {
var state = loadKey(key);
if ($.isPlainObject(state) && state.draft) {
$textarea.val(state.draft);
showMessage('Draft caricata. (<a href="javascript:;" class="clientsidedrafts_skipdraft">annulla</a>)');
}
};
// function saveDraft() {
var saveDraft = function() {
var draft = $textarea.val();
var state = { draft: draft };
saveKey(key, state);
showMessage('Draft Saved');
};
// function deleteDraft() {
var deleteDraft = function() {
saveKey(key, false);
showMessage("Draft removed");
};
if(mediaWiki.config.values.wgAction=='edit'){
loadDraft();
}else{
showMessage('<a href="javascript:;" class="clientsidedrafts_savedraft">Save Draft</a>');
}
// Link "Save Draft" onclick
$('body').delegate('a.clientsidedrafts_savedraft', 'click', function(e) {
e.preventDefault();
saveDraft();
});
// Link "Annulla" onclick
$('body').delegate('a.clientsidedrafts_skipdraft', 'click', function(e) {
e.preventDefault();
deleteDraft();
var x=window.location.href;
window.location.href=x;
});
})(mediaWiki.config.values.wgTitle, mediaWiki.config.values.wgUserName);
})(window, jQuery);
Fatemi un po' di test.
Re: Wikimedia: Salvare in bozza
Inviato: gio 14 giu 2012, 14:04
da conraid
Ho inserito l'estensione, sembra che funzioni. Ma ho provato poco, non ho molto tempo in questo periodo
Re: Wikimedia: Salvare in bozza
Inviato: gio 14 giu 2012, 15:39
da ZeroUno
Sembra funzionare.
Ammetto che non è poi così intuitivo come funzionamento.
Secondo te si può migliorare qualcosa? (oltre ai messaggi che, come tutti i miei programmi, fanno schifetto e mischiano italiano e inglese

)
Mi sono accorto di una cosa.
Seguendo questi passi:
1) andare su 'modifica' ed effettuare una modifica
2) premere su 'visualizza anteprima' e salvare la draft
3) premere su 'salva la pagina'
4) riaprire la pagina in modifica
a questo punto viene riaperta la draft che, in questo caso, è identica all'originale (ma il messaggio lo mostra comunque), ma se tra il 2 e il 3 viene fatta un'altra modifica, senza salvarla come draft ma direttamente come pagina, ci si trova con il ricaricamento di una pagina vecchia.