Repository 32bit  Forum
Repository 64bit  Wiki

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.

Wikimedia: Salvare in bozza

Messaggioda ZeroUno » gio giu 07, 2012 11:44

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
ZeroUno
Staff
Staff
 
Messaggi: 4411
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Wikimedia: Salvare in bozza

Messaggioda Loris » gio giu 07, 2012 13:55

Interessante... mi accodo alla richiesta.
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett
Avatar utente
Loris
Admin
Admin
 
Messaggi: 7589
Iscritto il: dom mar 30, 2003 23:00
Località: Gradisca D'Isonzo
Nome Cognome: Loris Vincenzi
Slackware: 14.1
Kernel: 3.10.17
Desktop: Kde 4.10.5

Re: Wikimedia: Salvare in bozza

Messaggioda ZeroUno » gio giu 07, 2012 15:05

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: 4411
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Wikimedia: Salvare in bozza

Messaggioda ZeroUno » gio giu 07, 2012 15:57

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: 4411
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Wikimedia: Salvare in bozza

Messaggioda ZeroUno » lun giu 11, 2012 18:39

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
ZeroUno
Staff
Staff
 
Messaggi: 4411
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Wikimedia: Salvare in bozza

Messaggioda Loris » mar giu 12, 2012 7:13

Ottimo!
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett
Avatar utente
Loris
Admin
Admin
 
Messaggi: 7589
Iscritto il: dom mar 30, 2003 23:00
Località: Gradisca D'Isonzo
Nome Cognome: Loris Vincenzi
Slackware: 14.1
Kernel: 3.10.17
Desktop: Kde 4.10.5

Re: Wikimedia: Salvare in bozza

Messaggioda ZeroUno » mar giu 12, 2012 12:10

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: 4411
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Wikimedia: Salvare in bozza

Messaggioda ZeroUno » mar giu 12, 2012 15:24

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
ZeroUno
Staff
Staff
 
Messaggi: 4411
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Wikimedia: Salvare in bozza

Messaggioda conraid » gio giu 14, 2012 13:04

Ho inserito l'estensione, sembra che funzioni. Ma ho provato poco, non ho molto tempo in questo periodo
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Wikimedia: Salvare in bozza

Messaggioda ZeroUno » gio giu 14, 2012 14:39

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
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4411
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

cron