~funderscoreblog cgit wikiget in touch

Blocco alle modifiche

Blocco alle modifiche concorrenti

Se due persone cercano di modificare la stessa pagina wiki nello stesso momento, possono verificarsi degli spiacevoli conflitti. Senza un sistema di avviso, uno degli editori può salvare la pagina lasciando l'altro editore con un avviso riguardo i conflitti verificati. Per non incorrere in questi errori, è possibile visualizzare un avviso alle persone che cercano di modificare una pagina wiki già in fase di modifica da qualcun altro (il wiki tiene traccia della pagine che vengono modificate).

Per fare questo è possibile utilizzare il sistema di editlock. Ci sono tre livelli di blocco: di avviso (warn), di blocco (block) e nessuno (None ; disabilitato).

Se Moin viene configurato affinché avvisi quando qualcuno cerca di modificare una pagina già aperta in modifica, viene visualizzato un avviso indicante di aspettare finché l'utente che sta modificando la pagina non ha completato il suo lavoro.

Moin può anche essere impostato anche per bloccare una pagina in modifica, solo durante la modifica. Se qualcuno cerca di modificare la pagina, riceverà un messaggio indicante che la pagina è bloccata e non sarà possibile modificarla finché l'utente non ha completato il suo lavoro.

Una complicazione di questa caratteristica si può verificare quando una sessione di modifica viene iniziata, ma non completata:

Con ognuno di questi scenari la pagina risulterebbe avere un avviso permanente o essere bloccata indefinitamente. Perciò, le opzioni di avviso e blocco dispongono di un timeout: dopo alcuni minuti scadono. Il contatore ricomincia quando viene premuto il pulsante per l'anteprima. Se si sta modificando la pagina e viene premuto il pulsante per l'anteprima, si presume che si stia lavorando attivamente alla pagina e il contatore riparte da zero. Se si lascia la pagina o si esce per più del tempo massimo consentito, il blocco scade e le altre persone possono modificare liberamente la pagina.

Configurazione

La variabile edit_locking controlla il comportamento del sistema di blocco. Può avere i seguenti valori:

Annullare una modifica

Per quanto detto precedentemente nella descrizione del timeout, è necessario sempre usare il pulsante "Annulla" per annullare una modifica se è stato abilitato il blocco.

Esempi

Alcuni esempi con Alice e Bob:

nessun blocco (None) Alice inizia a modificare una pagina e Bob decide di modificare la stessa pagina. Non sa che qualcun altro sta modificando la stessa pagina, così entrambi fanno le loro modifiche e salvano il tutto. Non importa chi abbia iniziato per primo e abbia fatto più modifiche, chi salva per primo apporterà le modifiche alla pagina e il secondo dovrà unire le modifiche fatte o perderle.

avvisi di modifica (warn) Alice inizia a modificare una pagina e Bob decide di modificare la stessa pagina. Quando Bob preme il pulsante per la modifica, viene avvisato che qualcun altro la sta modificando. Se è gentile, lascia la pagina, ma può comunque salvare prima di Alice facendole perdere le sue modifiche.

blocco delle modifiche (lock) Alice inizia a modificare una pagina e Bob decide di modificare la stessa pagina. Quando Bob preme il pulsante per la modifica, viene avvisato che qualcun altro la sta modificando e la pagina è bloccata. Dovrà quindi aspettare che Alice abbia finito di apportare le sue modifiche.