Visual Editor

Discussioni relative alla Gestione del wiki Guide@Debianizzati.Org
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Visual Editor

Messaggio da marcomg »

Ho configurato il VisualEditor e l'editor sorgente ora ha la barra per le scorciatoie.
~ Marco
Avatar utente
HAL 9000
wiki member
wiki member
Messaggi: 1595
Iscritto il: 10/08/2009, 10:01

Re: Visual Editor

Messaggio da HAL 9000 »

Ormai sono troppo abituato all'editor sorgente, ma è senz'altro essere utile per chi voglia iniziare a scrivere guide o estendere quelle esistenti, ma si senta intimorito dalla sintassi di MediaWiki.

Segnalo che le "note" (<ref></ref> e <references/>) non sembrano funzionare, ma ci sono tra le scorciatoie dell'editor testuale e c'è la loro descrizione in aiuto.
Non so se hai provato ad aggiungerle, o è solo rimasta la descrizione. Sarebbero molto utili comunque per risolvere il problema dei link esterni.
Ricordarsi di modificare il primo messaggio della discussione per aggiungere [RISOLTO] prima del titolo, quando conclusa.

Wiki: APT e Repository, Comandi utili, Collabora.
Manuali di Debian 12 "bookworm" (PC): installazione, aggiornamento.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Visual Editor

Messaggio da marcomg »

No, bisogna aggiungerle.
Più tardi lo farò. Ho spulciato il manuale di MediaWiki ed ho selezionato alcune estensioni che possono tornare utili.
Una è Extension:Cite che avevo aggiunto ai segnalibri (mi voglio vedere tutte le estensioni incluse nel pacchetto standard). Per fortuna cite è inclusa nel pacchetto MediaWiki quindi non serve scaricare files aggiuntivi.

Grazie della segnalazione 🙂
~ Marco
Avatar utente
s3v
Hero Member
Hero Member
Messaggi: 5964
Iscritto il: 31/12/2008, 11:54

Re: Visual Editor

Messaggio da s3v »

Ma Scribunto è stata messa e poi tolta? Si può rimettere?
CategoryTree fu attivata da pmate ma c'erano problemi e crash, non so se hanno risolto ma non era molto utile.
Cite è utile.
Le altre non le ho viste ma eviterei per il momento il JS se non si può farne a meno a causa di potenziali problemi di sicurezza. Altre estensioni immagino che vadano a caricare troppo il server (tipo la conversione in pdf) ma non saprei.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Visual Editor

Messaggio da marcomg »

s3v ha scritto: 17/03/2021, 20:22 Ma Scribunto è stata messa e poi tolta? Si può rimettere?
Io non la ho mai installato. Non serve ad eseguire Lua all'interno delle pagine MediWiki? Ci serve? Se ci serve la installiamo, altrimenti potrebbe essere una possibile falla di sicurezza, forse più di JS.
s3v ha scritto: 17/03/2021, 20:22 non era molto utile
Effettivamente non abbiamo categorie così annidate.
s3v ha scritto: 17/03/2021, 20:22 JS se non si può farne a meno a causa di potenziali problemi di sicurezza
I cookies di autenticazione dovrebbero essere settati HttpOnly, quindi "abbastanza al sicuro" da XSS. Tra l'altro il rischio maggiore è per gli account da amministrazione.
s3v ha scritto: 17/03/2021, 20:22 Altre estensioni immagino che vadano a caricare troppo il server (tipo la conversione in pdf) ma non saprei.
Al momento non mi sembra ci siano criticità di questo tipo, però se non servono le considererei dannose :razz:
~ Marco
Avatar utente
HAL 9000
wiki member
wiki member
Messaggi: 1595
Iscritto il: 10/08/2009, 10:01

Re: Visual Editor

Messaggio da HAL 9000 »

Per Cite si potrebbe disporre uno script di conversione in modo che tutti i link esterni gestiti in passato manualmente (con uso di <sup> e link a sezioni della stessa pagina) facciano uso della nuova estensione.
Questa dovrebbe essere la guida più complessa, quindi se si riesce con questa, per tutte le altre non dovrebbero esserci problemi.

Bisogna individuare la prima occorrenza di "<sup>[[#Collegamenti esterni | [N]]]</sup>" e sostituirlo con la riga "[N] ..." a fondo pagina tra <ref name="idN">...</ref>, e sostituire le eventuali ulteriori occorrenze dello stesso link con <ref name="idN"/>. E ripetere il tutto per ogni link N. Infine rimuovere tutte le righe dalla sezione, che dovrebbe essere generata automaticamente (o scrivendo esplicitamente <references/>).

Per pagine complesse però come quella già citata, potrebbe essere preferibile dividere i link in diverse sottosezioni con uso di group, quindi anche se si può usare come prova per lo script, penso dovrebbe essere modificata comunque a mano per favorirne la leggibilità il più possibile.

Ci sarà infine anche da aggiornare le linee guida del Wiki, per trattare Cite.

--- --- ---

Per Scribunto non mi pronuncio: potrebbe essere utile per i template più complessi, e sicuramente più leggibile del codice MediaWiki, ma ignoro se sia sicuro o meno.

Per le altre estensioni direi anch'io che possiamo farne a meno.
Ricordarsi di modificare il primo messaggio della discussione per aggiungere [RISOLTO] prima del titolo, quando conclusa.

Wiki: APT e Repository, Comandi utili, Collabora.
Manuali di Debian 12 "bookworm" (PC): installazione, aggiornamento.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Visual Editor

Messaggio da marcomg »

Forse può essere utile https://www.mediawiki.org/wiki/Extensio ... xHighlight per l'evidenziazione della sintassi degli script le altre le ho viste non credo ci servano.
~ Marco
Avatar utente
HAL 9000
wiki member
wiki member
Messaggi: 1595
Iscritto il: 10/08/2009, 10:01

Re: Visual Editor

Messaggio da HAL 9000 »

In effetti sì, e mi era sfuggito che SyntaxHighlight supporta anche bash. Quindi potrebbe essere utile per le guide che riportano degli script.
Ricordarsi di modificare il primo messaggio della discussione per aggiungere [RISOLTO] prima del titolo, quando conclusa.

Wiki: APT e Repository, Comandi utili, Collabora.
Manuali di Debian 12 "bookworm" (PC): installazione, aggiornamento.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Visual Editor

Messaggio da marcomg »

Allora per Scribus aspetto S3v, ho visto che ha creato un Modulo:Autori Lua‎.
Più tardi provo a mettere SyntaxHighlight.
~ Marco
Avatar utente
s3v
Hero Member
Hero Member
Messaggi: 5964
Iscritto il: 31/12/2008, 11:54

Re: Visual Editor

Messaggio da s3v »

JavaScript viene eseguito sui browser degli utenti e l'estensione Gadget preleva codice JavaScript esterno e lo inietta nella pagina web; la sicurezza possibilmente a rischio è quella degli utenti.
L'interprete Lua viene eseguito lato server e non ci sono problemi di sicurezza conosciuti che non possano essere evitati con l'applicazione di una normale politica di aggiornamento dei pacchetti.

Gli script Lua sono utili per semplificare la scrittura, il mantenimento e l'aggiornamento dei template.
Inoltre rendono più facile la vita agli utenti in quanto molte informazioni da fornire ai template "dall'esterno" possono essere ricavate automaticamente.
Il modulo Autori_Lua evita il passaggio dell'argomento "Numero_revisori" al template, per cui chi verifica una guida ha un parametro in meno da specificare.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Visual Editor

Messaggio da marcomg »

s3v ha scritto: 20/03/2021, 10:15 JavaScript viene eseguito sui browser degli utenti e l'estensione Gadget preleva codice JavaScript esterno e lo inietta nella pagina web
Esattamente, ma se non sbaglio i gadget vanno attivati manualmente (comunque non penso serva l'estensione gadget).
s3v ha scritto: 20/03/2021, 10:15 L'interprete Lua viene eseguito lato server e non ci sono problemi di sicurezza conosciuti che non possano essere evitati con l'applicazione di una normale politica di aggiornamento dei pacchetti.
Me la devo studiare bene, soprattutto credo sia saggio impedire l'uso del plugin a tutti gli utenti (non vorrei che tutti fossero in grado di mettere codice a piacere).
Sicuramente essendo stato inserito tra i plugin di default di MediaWiki devono averlo reputato abbastanza sicuro, ma come viene gestita la memoria (per esempio uno modifica lo script che carica un vettore di lunghezza sempre maggiore su un template comune a molte pagine, ci manda mezzo wiki offline perché PHP finisce la memoria), probabilmente si può ridurre ulteriormente l'uso della memoria a lua, però è delicato. Gira in sandbox, ma a cosa si da accesso?
s3v ha scritto: 20/03/2021, 10:15 semplificare la scrittura, il mantenimento e l'aggiornamento dei template
Quanti template gioverebbero di questo? Sicuramente il template autori, poi?
Dai penso che dopo il 25 sia in grado di guardarmelo e lo attivo assieme a geshi (se hai link ulteriori oltre la pagina di help di MediaWiki sono benvenuti 😁), se lo ha attivato Wikipedia deve essere sicuro.

Comunque forse ho capito perché è impossibile attivare gzip sul wiki
https://m.mediawiki.org/wiki/Topic:Vzxi8uroe2eo23gk
~ Marco
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Visual Editor

Messaggio da marcomg »

Allora ho un problema. Se commento la riga 1073 in includes/MediaWiki.php, cioè

Codice: Seleziona tutto

apache_setenv( 'no-gzip', '1' );
La compressione gzip funziona perfettamente. Ora bisogna capire dove sia il problema :(
Se qualcuno di voi anche può darci uno sguardo sarebbe fantastico.

Nel frattempo ho aggiunto il plugin per evidenziare la sintassi e modificato la pagina di aiuto
https://guide.debianizzati.org/index.ph ... _con_GeSHi
probabilmente bisogna rivedere la tabella che ho fatto (in particolare la larghezza delle colonne).
Bisognerà anche aggiungere la modifica per cite. Nel frattempo mi studio Scribunto 😉
~ Marco
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: Visual Editor

Messaggio da marcomg »

Ho installato Scribunto. Funziona tramite php-luasandbox. Ho impostato massimo 10MB e 3 secondi di esecuzione per gli script LUA. Forse sono anche troppi.
Ho dovuto cancellare e ricreare la pagina per farla vedere come modulo LUA.
@S3v quando hai tempo controlla che funzioni tutto a dovere :mrgreen:
~ Marco
Avatar utente
HAL 9000
wiki member
wiki member
Messaggi: 1595
Iscritto il: 10/08/2009, 10:01

Re: Visual Editor

Messaggio da HAL 9000 »

Di seguito questo codice un po' schifoso (il mio javascript è molto arrugginito e in fondo ha solo utilità temporanea), quando usato con Greasemonkey (ovviamente abilitandolo su https://guide.debianizzati.org/*), aggiunge un pulsante "Update links!" nelle guide Wiki che fanno uso della vecchia sintassi per i link esterni, permettendone l'aggiornamento automatico con uso della nuova estensione Cite (soltanto se si utilizza "Modifica sorgente").

Codice: Seleziona tutto

var pattern_url = /\n *\[[0-9]+\][^\n]*/
var pattern_link = /<sup>[^<]*\| *\[[0-9]+\] *\]\] *<\/sup>/
  
function replace_links() {
  var textArea = document.getElementById("wpTextbox1");
  var text = textArea.value;
  var result = pattern_url.exec(text);
  var newStr = "<references/>";
  var values = [];
  var valueIsAlreadyUsed = [];
  while (result != null) {
    var str = result.toString();
  	var l = str.indexOf("[") + 1;
    var r = str.indexOf("]", l);
    var num = str.substring(l, r);
    var e = str.indexOf("<br");
    if (e == -1)
      values[num] = str.substring(r + 1);
    else
      values[num] = str.substring(r + 1, e);
    valueIsAlreadyUsed[num] = false;
    text = text.replace(result, newStr);
    newStr = "";
    result = pattern_url.exec(text);
  }
  result = pattern_link.exec(text);
  while (result != null) {
    var str = result.toString();
    var l = str.indexOf("|") + 1;
    l = str.indexOf("[", l) + 1;
    var r = str.indexOf("]", l);
    var num = str.substring(l, r);
    if (valueIsAlreadyUsed[num]) {
      text = text.replace(result,"<ref name=\"id" + num + "\"/>");
    } else {
      valueIsAlreadyUsed[num] = true;
      text = text.replace(result,"<ref name=\"id" + num + "\">" + values[num] + "</ref>");
    }
    result = pattern_link.exec(text);
  }
  textArea.value = text;
  var button = document.getElementById("replace_links_button");
  button.parentNode.removeChild(button);
  alert("Done!");
}

var textArea = document.getElementById("wpTextbox1");
if (textArea != null && pattern_url.exec(textArea.value) != null && pattern_link.exec(textArea.value) != null) {
  var divId = document.getElementById("mw-content-text");
  var newButton = document.createElement("input");
  newButton.setAttribute("type", "button");
  newButton.setAttribute("id", "replace_links_button");
  newButton.setAttribute("name", "replace_links");
  newButton.setAttribute("value", "Update links!");
  newButton.onclick = replace_links;
  divId.insertBefore(newButton, divId.childNodes[0]);
}
Non c'è alcun controllo su caratteri speciali e tutto è tagliato e incollato "brutalmente" ma, se tutto è stato scritto correttamente, non dovrebbero esserci problemi. Su "Installazione Debian" ha funzionato (anche se non ho salvato le modifiche, l'ho fatto solo come test personale essendo la guida più complessa con link esterni, perché penso sia meglio intervenirvi manualmente con i gruppi, per non perdere i raggruppamenti tra i vari link).
Ricordarsi di modificare il primo messaggio della discussione per aggiungere [RISOLTO] prima del titolo, quando conclusa.

Wiki: APT e Repository, Comandi utili, Collabora.
Manuali di Debian 12 "bookworm" (PC): installazione, aggiornamento.
Rispondi