Wikimedia: Salvare in bozza

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Wikimedia: Salvare in bozza

Messaggio 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
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
Loris
Admin
Admin
Messaggi: 7730
Iscritto il: lun 31 mar 2003, 0:00
Nome Cognome: Loris Vincenzi
Località: Gradisca D'Isonzo
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio da Loris »

Interessante... mi accodo alla richiesta.
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio da ZeroUno »

Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio 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
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio 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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
Loris
Admin
Admin
Messaggi: 7730
Iscritto il: lun 31 mar 2003, 0:00
Nome Cognome: Loris Vincenzi
Località: Gradisca D'Isonzo
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio da Loris »

Ottimo!
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio 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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio 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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio da conraid »

Ho inserito l'estensione, sembra che funzioni. Ma ho provato poco, non ho molto tempo in questo periodo

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Wikimedia: Salvare in bozza

Messaggio 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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Rispondi