Wikisource:Domande tecniche/Archivio/2018

Archivio delle domande tecniche del 2018

Portale progetti   Progetto qualità   Domande tecniche   Archivio   2018 

Elenco contributori a un libro modifica

@OrbiliusMagister, Candalua Pingo solo voi come rappresentanti dei possibili interessati: gli utenti "gestori" e gli utenti"sviluppatori". Ci siamo; adesso, in pagina Indice, il click sull'incona per visualizzare i "SAL 75% promuovibili" genera o rigenera anche l'elenco di tutti gli utenti che hanno contribuito all'ultimo livello SAL + tutti gli utenti che hanno fatto l'ultima modifica in qualsiasi pagina dell'Indice. Naturalmente sarebbe bello disporre anche dell'elenco di tutti gli utenti che hanno, comunque, contribuito in cronologia di ciascuna pagina, ma questo richiederebbe una elaborazione molto, molto più pesante.

Naturalmente non ho fatto in modo che le pagine attribuibili ai vari utenti fossero contate: sarebbe stato possibile ma non mi piace, sapete che detesto la competitività.

Al momento la lista è semplicemente salvata in localStorage.contributors, vorrei un suggerimento su dove/come salvarla, sempre che sia il caso di salvarla. --Alex brollo (disc.) 07:39, 31 gen 2018 (CET)[rispondi]

Magari non sempre, ma sarebbe utile (ritengo) arrivare (anche) alla lista completa. E sarebbe utile che fosse ben inchiodata, amalgamata nel file quando dal testo se ne trae un epub o simile. Così che almeno chi usa il lavoro ne "paghi" le conseguenze... --Silvio Gallio (disc.) 08:18, 31 gen 2018 (CET)[rispondi]
Come memoregex in pagina discussione indice paragrafo Contributori, Xavier121 09:36, 31 gen 2018 (CET)[rispondi]
@Silvio Gallio Eh, lo so... il problema è una questione di "risparmio energetico", rintracciare la cronologia completa di ciascuna pagina richiederebbe una chiamata al server per ciascuna pagina, mentre così le chiamo a blocchi di 50. Lo script diventerebbe quindi 50 volte più "pesante", a meno di trovare un trucco del tutto diverso. Lascio la cosa a "quelli bravi". --Alex brollo (disc.) 11:28, 31 gen 2018 (CET)[rispondi]

@OrbiliusMagister, Candalua, Xavier121, Silvio Gallio Più o meno dovremmo esserci. Il click sul gadget "sal 75% promuovibili" in Indice dovrebbe creare/aggiornare, molto silenziosamente ma lasciando una traccia in Ultime modifiche, la sezione Contributori della corrispondente pagina Discussioni indice. --Alex brollo (disc.) 22:25, 31 gen 2018 (CET)[rispondi]

Interessante. In effetti, dal mio punto di vista, era più che altro uno sfizio, per cercare di stabilire dei diritti di wikisource (non certo miei) in opere derivate che sono in genere piuttosto "dimenticose" di certe correttezze. Cmq ottimo lavoro, al solito. Ciao! --Silvio Gallio (disc.) 22:34, 31 gen 2018 (CET)[rispondi]

Bello, ma non interviene un po' troppo spesso? [1] --Luigi62 (disc.) 23:18, 4 feb 2018 (CET)[rispondi]

Concordo. Io uso molto il Salatore e quindi... --Silvio Gallio (disc.) 07:56, 5 feb 2018 (CET)[rispondi]
@Luigi62 In effetti un problema c'è: per come è costruito il tool, una sventagliata di chiamate ajax asincrone, l'ordine dei contributori è casuale e cambia ad ogni attivazione dello script, e quindi la pagina viene modificata anche se la lista dei contributori è formata dagli stessi elementi: vedi cronologia. Un rimedio c'è, stasera è tardino e rimando a domani: basterà, prima di scrivere la lista, ordinarla in ordine alfabetico; così se non ci sono variazioni nell'elenco, non ci dovrebbe essere una modifica della pagina. Alex brollo (disc.) 23:40, 5 feb 2018 (CET)[rispondi]
@Luigi62 Me smemorato; dal codice vedo che avevo già fatto tutto questo bel ragionamento.... e poi avevo cannato la funzione di ordinamento. Adesso dovrebbe essere sistemato. Alex brollo (disc.) 06:12, 6 feb 2018 (CET)[rispondi]
@Luigi62 Verifica anche tu, a me il problema sembra risolto: se la lista dei contributori non ha subito modifiche, adesso lo script non carica più una nuova versione della pagina in cronologia. Lo farà una volta sola, nelle vecchie liste, per mettere i contributori in ordine alfabetico. Alex brollo (disc.) 09:40, 7 feb 2018 (CET)[rispondi]
@Alex brollo Ieri ho portato un testo che non ho cominciato io al 75% e attivando il "salatore" è successo questo: [2]. Ne ho dedotto che solo gli ultimi contributori di una pagina vengano registrati cancellando i nomi precedenti. Il gadget è simpatico ma sarebbe meglio che funzionasse in maniera additiva. --Luigi62 (disc.) 08:14, 3 mar 2018 (CET)[rispondi]
@Luigi62 Nel momento dell'ideazione dello script, non esistevano campi di "contributori pregressi", e gli unici dati accessibili con facilità (esclusa la pesantissima ricostruzione della cronologia delle pagine) erano due: l'ultimo utente che ha modificato la pagina, e l'ultimo utente che ha aggiornato il SAL. A pensarci adesso hai ragione: niente impedirebbe di aggiungere gli utenti alla lista dei contributori, se già esiste. Certo, non verranno recuperati i contributori precedenti, ma almeno non verranno cancellati quelli già memorizzati. Grazie! E' fattibile e quindi va fatto. Alex brollo (disc.) 12:08, 3 mar 2018 (CET)[rispondi]

@Candalua Un template terribilmente complesso, per risolvere un problema effettivamente complesso: gli alberi genealogici. Occorrerebbe verificare se qualche altro progetto ha soluzioni più semplici, in caso contrario: lo importiamo? --Alex brollo (disc.) 23:19, 2 feb 2018 (CET)[rispondi]

Modifiche di eis modifica

  • all'atto della creazione di una pagina il SAL viene adesso impostato a 25%
  • spostandosi su una pagina diversa vengono adeguati al nuovo numero pagina:
    • wgPageName;
    • il link a Pagina;
    • il link a Discussione;
  • entrambi i link a Pagina e a Discussione aprono una nuova scheda, lasciando intatta la scheda dove corre eis. --Alex brollo (disc.) 23:01, 5 feb 2018 (CET)[rispondi]

Quesito su "testo semplice" modifica

Buongiorno a tutti.
Sono interessato soprattutto alla versione "semplice testo" dei documenti pubblicati da Wikisource per eseguire delle elaborazioni successive.
Ecco, per esempio, un frammento di Pandolfo Collenuccio, Canzone alla morte nella versione "semplice testo":

+++
Q

UAL peregrin nel vago errore stanco
+++

che ho dovuto correggere in:
+++
Qual peregrin nel vago errore stanco
+++

Mi domando perché conservare nel "semplice testo" residui del formato tipografico (in questo caso il capolettera).
In generale, le proprietà di stile non andrebbero sempre rigorosamente separate dal "semplice testo"?
Grazie. (post non firmato di ProtoMeandro)

Il quesito andrebbe rivolto ai "piani alti" come diciamo in gergo (gli sviluppatori di mediawiki), i tool di esportazione non sono sotto il notro controllo. Noi abbiamo fatto uno sforzo perchè il "testo semplice" che si ottiene semplicemente selezionando il testo e ricopiandolo su text editor sia corretto, e lo è, tranne il fastidio costituito dal numero dei versi:
QUAL peregrin nel vago errore stanco
De’ lunghi e faticosi suoi viaggi
     Per lochi aspri e selvaggi,
     4Fatto già incurvo per etate e bianco,
     Al dolce patrio albergo
     Sospirando s’affretta e si rimembra
     Le paterne ossa e la sua prima etate:
     8Di sè stesso pietate
     Tenera il prende; e le affannate membra
     Posar disía nel loco ove già nacque,
     E il buon viver gli piacque:

. Ugualmente corretta una estrazione del testo via jQuery dagli elementi .poem (in questo caso specifico). Come i "piani alti" abbiano creato il tool di esportazione "txt", non ne ho idea. --Alex brollo (disc.) 17:06, 12 feb 2018 (CET)[rispondi]

Grazie. Effettivamente il copia e incolla funzione. Solo che, per testi lunghi, su più capitoli, diventa gravoso. Anche la prosa crea problemi. Questo è un esempio tratto dalle favole di Esopo:
Due giovani comprarono insieme da mangiare da un cuoco, ed essendo il cuoco in certi altri negozj occupato, un di quei [p. 101 modifica]giovani pigliò un pezzo di carne, e lo diede all’altro.
Si possono usare le espressioni regolari, per purificare il testo, ma mi resta la curiosità di sapere perché i "piani alti" trattino in questo modo il testo semplice.
--ProtoMeandro (disc.) 19:20, 12 feb 2018 (CET)[rispondi]

Problema mw.toolbar.insertTags modifica

@Candalua, Ricordisamoa Una "funzione che funziona", ma molto grossolana (non risistema la posizione del cursore) è la seguente:

mw.toolbar.insertTags=function(pre,post) {
	var t=selection();
	t[1]=pre+t[1]+post;
	$(mw.activeElement).val(t.join(""));
	return false;
	}

Magicamente, quasi tutto torna a posto, i pulsanti che devono "incapsulare" incapsulano ecc., ma continuano a non funzionare i pulsanti del toolbox (tipo grassetto e corsivo) che usano una funzione diversa di incapsulamento, irragiungibile e immodificabile perchè murata viva all'interno di un oggetto creato da una mostruosa funzione anonima.

Quindi il problema non sta nella povera mw.toolbar.insertTags, ma in qualcosa che mw.toolbar.insertTags e quella diversa funzione hanno in comune. A questo punto mi perdo. Però, sotto eis, lancio una volta la ridefinizione della funzione mw.toolbar.insertTags e tutti i miei attrezzi e bottoni funzionano. Non mi pare il caso, comunque, di iniziare a mettere pezze, perchè il bug è così grosso che per forza devono sistemarlo i professionisti, i "developers" :-) --Alex brollo (disc.) 23:52, 15 feb 2018 (CET)[rispondi]

Scusa @Alex brollo, il problema è la deprecazione di mw.toolbar? --Ricordisamoa 14:28, 16 feb 2018 (CET)[rispondi]
@Ricordisamoa No, il ticket aperto illustra la dinamica del bug, che non riguardava esclusivamente mw.toolbar; una modifica generale del sistema di selezione del testo fatta per facilitare l'applicazione di VisualEditor; almeno così mi è parso di capire. La cosa più seria però è la mancata emissione di un avviso generale che ammetta l'esistenza del bug in atto causato dalle nuove versioni, e dia indicazioni su come comportarsi, fornendo anche i tempi (approssimativi) della soluzione del problema. Alex brollo (disc.) 15:47, 16 feb 2018 (CET)[rispondi]

AIUTO: il trova e sostituisci non funziona! modifica

Cari @Alex brollo, Candalua, Barbaforcuta ed informatici esperti,

Ho scoperto un baco importante: il gadget cerca e sostituisci a destra in fondo alla toolbar "Avanzate" si comporta in modo strano: sostituisce correttamente, quallo che non fa correttamente è il "trova", effettuando cioè sostituzioni apparentemente a casaccio. Scrivo apparentemente perché se effettuo la stessa sostituzione in due momenti differenti sulla stessa pagina le sostituzioni sbagliate sono le stesse (un saggio qui dove ho chiesto di sostituire "che" con "chè"), ma provate a fare qualche esperimento anche voi, io non capisco dove stia il busillis. - εΔω 16:04, 18 feb 2018 (CET)[rispondi]

@OrbiliusMagister Io uso pressochè esclusivamente il Trova e sostituisci di Candalua, comunque quel gadget è sotto stretto controllo dei Piani Alti. Non escluderei che la genesi del bug sia collegato al "megabug del 15 febbraio". VisualEditor ci darà certamente ancora dei grattacapi, perchè stanno cominciando, evidentemente, ad adattare mediawiki alle necessità di VisualEditor. Quindi non basterà disabilitare VisualEditor per liberarsi del suo malefico influsso.
PS: visto, è ancora un problema di selezione del testo. Ci giurerei che è apparentato con il megabug. Avviso in Bar di stare lontano dal tool. --Alex brollo (disc.) 17:38, 18 feb 2018 (CET)[rispondi]
Aperto un ticket su phabricator: T187760. --Alex brollo (disc.) 15:23, 20 feb 2018 (CET)[rispondi]
@OrbiliusMagister, Candalua Se il bug persiste il ticket T187760 avrebbe bisogno di una spintarella , sta là ignorato. --Alex brollo (disc.) 09:31, 22 feb 2018 (CET)[rispondi]

Aggiungere "Trova" al nostro "Trova e sostituisci" modifica

@Candalua Non è impossibile. Forse non è nemmeno difficile. Infatti, già adesso c'è nel tool una caratteristica funzionante: nel caso vi sia una selezione di testo, le sostituzioni (tutte quelle previste dal memoRegex) avvengono solo all'interno del testo selezionato. Quindi, se si aggiungesse un meccanismo di ripetuta ricerca e selezione del testo, in linea di massima ci saremmo come "motore"; più difficili le verifiche logiche del meccanismo e soprattutto l'allestimento di un'interfaccia intuitiva, che dovrebbe essere quanto più possibile simile al "Trova e sostituisci" canonico per non confondere gli utenti (ma se il nostro trova e sostituisci funzionasse bene, potremmo anche sopprimere del tutto il tool integrato in toolbox). --Alex brollo (disc.) 07:40, 19 feb 2018 (CET)[rispondi]

Acchiappo di dati wikidata modifica

Da principiante su wikidata trovo Special:EntityData/ID.json che potrebbe essere molto comodo per una rapida guardata all'item in ambiente jQuery: esempio https://www.wikidata.org/wiki/Special:EntityData/Q3757067.json. Umanamente il risultato è illeggibile; ma per javascript no.

Ci sono altri modi più spicci? --Alex brollo (disc.) 08:59, 22 feb 2018 (CET)[rispondi]

Una robaccia di prova così:
risultato=""
$.getJSON("https://www.wikidata.org/wiki/Special:EntityData/Q3757067.json", function(data) {risultato=data})
scaraventata in console fornisce istantaneamente i dati, già comodamente decodificati e montati in un oggetto javascript. --Alex brollo (disc.) 12:03, 22 feb 2018 (CET)[rispondi]

Semplificazione dolorosa di Template:Wl modifica

@Candalua, Sbubi Le cose sono pronte per una "semplificazione drastica" di Wl, sacrificando il suo comportamento dinamico.

La nuova versione (al momento disattivata) attraverso il selettore wikidata crea un codice template con due parametri aggiuntivi, s e w, che sono link alla pagina Autore su itwikisource e alla pagina su wikipedia. Questo basta (anche senza più Lua):

  • se esiste il parametro s, può venire usato con la logica di AutoreCitato
  • se il parametro s non esiste ma esiste il parametro w, può essere usato w con la logica del template W;
  • se non c'è nè uno nè l'altro, per il link viene usato l'Id wikidata.

Anche se il testo sarà produrrà un link solo, è comunque pensabile di incorporare i tre link (wikidata, wikisource, wikipedia) in attributi data- di un qualche tag html per poterli recuperare e usare in qualsiasi modo via javascript.

Se l'elemento wikidata viene modificato, i link si rompono/restano non aggiornati :-( ma è possibile ideare qualche sistema per riallinearli. --Alex brollo (disc.) 00:36, 23 feb 2018 (CET)[rispondi]

Credo che ci sia un problema, guardate qui. Dipende dalle ultime modifiche? --Luigi62 (disc.) 21:54, 23 feb 2018 (CET)[rispondi]
@Luigi62 Sì, grazie della segnalazione, errore banale mio. Alex brollo (disc.) 22:57, 24 feb 2018 (CET)[rispondi]

Revisione dei gadget modifica

Ho avuto un'idea (abbiate coraggio...)

Immaginiamo di creare tre gadget di edit, uno per ciascun livello di esperienza dell'utente: iniziale, medio, avanzato. In ciascuno dei gadget dovrebbero selezionarsi tutti quelli opportuni per quel livello, tutti insieme in un unico script monoblocco; i livello medio e avanzato dovrebbero sommare a quello base tutto quello che va aggiunto. Un po' meno di libertà di configurazione, ma un notevole aumento della facilità di manutenzione e di creazione di pagine di aiuto. L'esperienza di BAT è eccellente, è esattamente uno script monoblocco che funziona eccome - ma non uno script che suggerirei perchè è irto di incompatibilità con l'ambiente normale. Che ne dite? --Alex brollo (disc.) 22:49, 24 feb 2018 (CET)[rispondi]

View in sequence modifica

Non potrò chiamarlo vis ma l'idea è: immaginiamo un tool che permetta di scorrere le pagine in visualizzazione con la stessa velocità con cui sono scorse in eis. Sarebbe molto utile per una occhiata in "quasi visualizzatore", ma con il vantaggio di disporre del testo a fronte. Questo sarebbe il passo 1. Ma.... immaginiamo che questo accrocchio si apra in una schermata di edit, e che "sotto" la pagina visualizzata ci sia già una schermata di edit della stessa pagina.... la cosa si fa interessante, soprattutto per il passaggio SAL 75%-SAL 100%, che richiede, di regola, modifiche puntiformi che devono essere rapide. --Alex brollo (disc.) 10:31, 27 feb 2018 (CET)[rispondi]

Si, si è una buona idea! Complimenti! Oltretutto in VIS la ricerca per parole chiave è velocissima. Magari ai dettagli possiamo pensare con calma :D --Silvio Gallio (disc.) 12:21, 3 mar 2018 (CET)[rispondi]
Primo passo fatto; adesso l'anteprima di eis si apre nella stessa posizione e con lo stesso aspetto della normale visualizzazione (i comandi di eis restano tutti attivi, doppio click sul box di visualizzazione e "sparisce"). Il secondo passo sarà semplicemente non chiudere il box di visualizzazione passando da una pagina all'altra e aggiornarlo automaticamente con il nuovo contenuto --Alex brollo (disc.) 07:38, 4 mar 2018 (CET).[rispondi]
@Alex brollo Hola, bella l'anteprima-in-pagina ma quando doppio-clicco non mi tiene le modifiche, forse non mi è chiaro come dovrei fare. Io durante un edit guardo l'anteprima un sacco di volte per vedere l'effetto di una prova che ho fatto. Dovrei forse salvarla ogni volta? Prima c'era il tasto annulla che mi faceva tornare all'edit in corso, c'è ora un equivalente? Fateme sapè. --divudi (disc.) 10:00, 4 mar 2018 (CET)[rispondi]
@Divudi85 In teoria il doppio click dovrebbe equivalere all'annulla; devo verificare. Lavori in corso comunque, ma da adesso in avanti lavoro su una copia personale. --Alex brollo (disc.) 13:31, 4 mar 2018 (CET)[rispondi]
(a latere) Ho avuto dei problemini con Pt. Nulla di grave, alla fine. Però mi sono accorto di non sapere come sono definiti. Mi spiego (spero): il Pt a fine pagina e Pt a inizio pagina hanno funzioni diverse e spesso si comportano anche, diversamente. Credo sia preferibile definirli univocamente per evitare contorsionismi linguistici nel caso se ne parli assieme nello stesso post (come mi stava accadendo). O questa definizione esiste già e io non lo so e mi scuso e mi piacerebbe saperlo, oppure propongo: "Pt-basso" per quello in fondo alla pagina e "Pt-alto" per quello successivo. Saluton --Silvio Gallio (disc.) 09:12, 5 mar 2018 (CET)[rispondi]

──────────────────────────────────────────────────────────────────────────────────────────────────── Per chi volesse provare il nuovo eis in lavoro:

  1. disattivare il gadget eis in Preferenze-accessori;
  2. aggiungere al proprio common.js Utente:[nome utente]/common.js il codice: importScript("Utente:Alex brollo/eis.js");. --Alex brollo (disc.) 09:36, 5 mar 2018 (CET)[rispondi]
Primi test, in effetti il passaggio SAL 75% - SAL 100% può essere fatto (con cautela) totalmente dalla maschera di visualizzazione, si "beccano" meglio piccolissimi errori come le i non accentate ecc. Per ora la modifica si fa chiudendo l'anteprima con un doppio click, correggendo in edit e rientrando in anteprima che risulta aggiornata. Il menu eis (salvataggi, sal ecc) funzionano regolarmente. Certo che se fosse possibile editare i piccoli errorini senza chiudere e riaprire l'anteprima.... ;-) --Alex brollo (disc.) 12:25, 5 mar 2018 (CET)[rispondi]
Risolto anche un altro piccolo problema; coin eis attivo, vengono modificati dinamicamente i link delle linguelle "Leggi" e "Modifica", che ricaricano la pagina in modalità non-eis; nella nuova versione di eis ricaricano correttamente la pagina corrente in eis. --Alex brollo (disc.) 16:46, 5 mar 2018 (CET)[rispondi]
@Alex brollo adesso non ridere ma proprio non ricordo come si usa il common.js (dev'essere per via del nome...). Ho cliccato su Aiuto lì a sinistra ma c'è ancora quel link sbagliato di cui noi comuni mortali chiediamo il perché del cambio ma "voi" superni non vi degnate di chinarvi sul povero popolo. :D Epperò così l'help non funziona. E allora ti tocca lavorare di più e rispondermi. Saluton Silvio Gallio (disc.) 19:02, 5 mar 2018 (CET)[rispondi]
@Silvio Gallio Ci tenevo molto al fatto che tu ti proponessi come cavia :-) Non preoccuparti: tu disattiva da Preferenze->Accessori il gadget eis, e avvisami, io subito dopo ti attiverò la variante sperimentale. Comunque non è difficile: clicca qui, crea la pagina, copiaincolla il codice importScript("Utente:Alex brollo/eis.js");, salva, finito. Alex brollo (disc.) 19:10, 5 mar 2018 (CET)[rispondi]
Adesso lo faccio di disabilitare il coso. Stavo girando a cercare notizia del common.js in 'Pedia e -mi pare- io non ho un commom.js attivo. ? Vado alla preferenze. Salum Silvio Gallio (disc.) 19:12, 5 mar 2018 (CET)[rispondi]
@Alex brollo Fatto, credo ciao! - Si controllato, eis non parte. Tocca a te Silvio Gallio (disc.) 19:15, 5 mar 2018 (CET)[rispondi]

Grrrr! devo aver malcompreso qualcosa; ho fatto anche la pag. 35 del Milani ma non si è salvata. (ed è anche piena di ref). Vabbè riprovodomani se ho tempo stasera sono cotto causa altri giochi e rischio di lavorare "gratis". Comunque si direbbe un buon inizio. Credo (!) debba essere reso chiaro il meccanismo dei click e doppio click. Ma è solpa della mia stanchezza. --Silvio Gallio (disc.) 22:12, 5 mar 2018 (CET)[rispondi]

Mah, per ora ho provato un paio di pagine. La prima cosa che mi viene da dire è che -sorry- è un po' rischioso. Ovvero. Io clicco su Anteprima poi lavoro di tastiera e modifico nella solita pagina, poi vado a guardare e sembra tutto a posto. Invece no. Bisogna salvare!! Deve essere così che ieri sera mi sono amputato gli occhi con i ref e poi sono rimasto a terra, dico bene? Poi, sono spariti i tasti "dentro" Anteprima, in alto a destra. Per cui se clicchi "Annulla" esci e perdi tutto mentre prima se Annullavi tornavi in Anteprima o che altro (mo' non ricordo) ma non "abbandonavi la pagina" - che vabbé che c'è l'allarme però... Dico bene? Forse servirebbe un altro tasto per entrare intitolato non Anteprima ma "Lavora qui dentro ma se non salvi ti freghi" o qualcosa del genere. :D A più in là Silvio Gallio (disc.) 14:45, 6 mar 2018 (CET)[rispondi]

Eis test news modifica

Tutto vero Silvio ma sto pensando ad altro :-) Annulla ha fregato anche me.... e ci vuole un sistema per evidenziare meglio l'avvenuto salvataggio, certo. Ci penseremo poi.

In modalità anteprima, selezionate due o tre parole (non una sola! Un pezzetto di testo che sia "unico"!) con il mouse; appena mollate il mouse vi compare un boxetto tipo Trova & sostituisci ma estremamente semplificato; potete solo correggere il testo nel campo Sostituisci. Cliccate OK, e in un nanosecondo vedrete comparire la correzione nel testo di anteprima. Salvate... la modifica è stata modificata. Quindi è possibile correggere errori puntiformi del testo in pagine in sequenza senza mai uscire dalla visualizzazione di Anteprima. Non stressate con testi lunghi o con testi "a cavallo" di acapi o di testi un po' dentro e un pò fuori di un template! Il trucco funziona solo per correzioni dentro puro testo, e probabilmente non funzionerà in moltissimi casi particolari. In quel caso si chiude l'anteprima e si lavora direttamente sulla maschera di edit. Ma per chi ama trovare errorini in visualizzazione.... già questa versione primitiva è una goduria. --Alex brollo (disc.) 01:17, 7 mar 2018 (CET)[rispondi]

Attenzione: questa soluzione è del tutto provvisoria, è solo una prova che "può essere fatto". Può essere razionalizzata e molto semplificata, fino al punto di far apparire una finestrella di modifica testo sovrapposta al testo selezionato (con un effetto "quasi Visual Editor"). Nel frattempo ho eliminato il pulsante Annulla; per uscire da eis basta ricaricare la pagina con i pulsanti "canonici" Leggi o Modifica. --Alex brollo (disc.) 08:54, 7 mar 2018 (CET)[rispondi]
Uhm! Il giochetto è simpatico ma un po' troppo macchinoso e fa perdere molto tempo. Va più o meno bene se vuoi rimnanere in Anteprima ma solo per qualche "ciappino", per un lavoro denso no. Come avrai visto per i test sto usando un pezzo di Milani che ha un OCR orrendo così c'è un sacco da fare. Per ora si stava meglio quando si stava peggio. :( --Silvio Gallio (disc.) 12:19, 7 mar 2018 (CET)[rispondi]
Ma certo! Il sistema funziona bene per la rilettura finale di un ottimo SAL 75% e anche per la ripassata paranoide di pagine già SAL 100%, allo scopo di individuare quegli errorini di singoli caratteri che spesso sfuggono in modalità edit ma che invece sono più evidenti in modalità view. Per il passaggio SAL 25% "grezzo" -> SAL 75% non va nemmeno preso in considerazione e nemmeno nel caso in cui ci sia formattazione da sistemare (tranne eccezioni per "amatori"). Hai mai provato a usare VisualEditor in nsPagina? Prova, e dopo dimmi se c'è paragone fra le due velocità.... --Alex brollo (disc.) 15:15, 7 mar 2018 (CET)[rispondi]
Ah beh, alooora...! altro discorso! Però però attenzione a non creare differenze non facilmente rilevabili nei vari quadri. Mica sempre si capisce quello che stai usando. Questo, appunto, accade. Un giochino per piccole cose troppo simile a uno per grossi lavori. Salum Silvio Gallio (disc.) 16:22, 7 mar 2018 (CET)[rispondi]
@Silvio Gallio Ovviamente sto stressando lo scarafone, vedo già un gran numero di piccoli e grandi problemi, ma l'idea generale è che dopo una certa praticaccia si afferra l'idea che il modo migliore di usarlo è alternare le due modalità a seconda dei casi - tenendo conto che anche in modalità view la sottostante modalità edit è pienamente attiva e accessibile ai vari gadget di modifica. Il che offre modalità di lavoro nuove; ci vuole però un tasto/una modalità di refresh della maschera di visualizzazione, inoltre il doppio click per chiuderla non va bene: il doppio click deve restare dedicato alla selezione delle parole da modificare. Io uso due hotkeys (Ctrl+Shift+4 per salvare a SAL 4 e proseguire, Alt+3 per salvare a SAL 75% e proseguire) che non sono ancora "montate" nel gadget. In breve, per passare a SAL 100% una serie di pagine SAL 75% che sono perfette, basta un Ctrl+Shift+4 per ciascuna. --Alex brollo (disc.) 17:11, 7 mar 2018 (CET)[rispondi]
Ovviamente. Però se stanno nascendo due gadget simili bisogna stare attentini. Magari con un giuoco di colori che li distingua. Chessò una fascia verde e una gialla o rossa o blu. Non dico colorare tutto il fondo anche perchè i colori di wiki sono orridi. Mi pare che l'optimum sia "un" gadget che faccia tutto, ma più veloce... Bene, man mano che trovo tempo cerco si seguire ma non farmi pensare troppo mi viene mal di testa. e/o sonno. Una cosa ho capito (ce ne voleva eh!) che il visualizzatore non va molto bene per questo lavoro. Non mi ero reso conto che leggeva il testo e non le figure. :) per cui se c'è un errore, o anche un non-errore tipo punteggiatura strana, non hai l'appoggio per essere certo della situazione immaginifica. Salum Silvio Gallio (disc.) 19:56, 7 mar 2018 (CET)[rispondi]

<-] Ho pistolato un po' qualche pagina di una certa Margheritina e non sono sicuro che il giochino abbia un valor assoluto. Però molto dipende da come sei abituato a lavorare. e io decrepito sono legato alle modalità preistoriche. Anche eis per me è piuttosto nuovo (ti rammento che sono "tornato" da poche settimane dopo 5 anni di quasi totale assenza) certo che adesso ti sto stressando abbastanza da riprendere il tempo lasciato. :P - Salum Silvio Gallio (disc.) 20:48, 7 mar 2018 (CET)[rispondi]

@Silvio Gallio Quali due gadget? Tieni conto che a fine sperimentazione, e chiesto il parere degli attuali utilizzatori del "vecchio" eis, il vecchio eis sarà sostituito dal nuovo eis e fine. --Alex brollo (disc.) 11:04, 8 mar 2018 (CET)[rispondi]
@Alex brollo Io sono solo molto diffidente. Tu costruisci cose e disfi cose a velocità ipersonica. Chennesò di dove vuoi arrivare? Mo' l'ho capito dove per ora vuoi arrivare. Ma poi? Eh? :D -Comunque, bene, un eis è cosa buona; più attrezzature vi sono incaprettate meglio è. Sto alla finestra (adesso che il freddo è calato). Mi riservo di bacchettarti i pollici. :DD Salum Silvio Gallio (disc.) 14:05, 8 mar 2018 (CET)[rispondi]
@Alex brollo un paio di cosette parlando di eis: 1) Come si chiude la finestrella "cerca/cambia" che appare in alto a destra? Vedo solo 'OK' ma quello, poveretto lui, ti cambia quello che gli dici. Ma se non voglio cambiare e temo di cliccare sbagliato? (a me stava succedendo). Non ho capito come fare a restare nella pagina ma anche chiudere la finestra senza uscire del tutto (ovvio che sono io il niubbo, lo sai che sono un niubbo permanente!). 2) le freccette della barra eis sono belline ma ancora piccoline e poco "frecciose"; 3) "Anteprima", (con l'eis che ho adesso) funziona come un interruttore, puoi strologare qualcosa "on/off" da inserire nel tasto con i simboli(o scrivendolo)? Alla lunga si impara, naturalmente ma, alla lunga.... Ho attivato l'Editor, ho provato a scrivere un paio di righe e l'ho tolto subito. Non mandarmi altri suggerimenti del genere :D Grazie. Buon uichend Silvio Gallio (disc.) 11:16, 10 mar 2018 (CET)[rispondi]
@Silvio Gallio ok, aggiungerò un pulsante "annulla" per chiudere la finestrella cerca/sostituisci; al momento per chiuderla senza problemi basta una sostituzione "nulla" (Cerca e Sostituisci identici) ma non è intuitivo. Correggerò anche il pulsante "anteprima" che in effetti non è intruitivo. Da parte mia, sento anche l'esigenza di un pulsante "Aggiorna" nella maschera di visualizzazione, per forzare la visualizzazione delle modifiche ad esempio dopo aver cliccato uno dei tools di "Strumenti per la rilettura". Vado avanti con i test. --Alex brollo (disc.) 14:14, 10 mar 2018 (CET)[rispondi]
@Alex brollo - Ciao ho fatto un paio di prove anche se vedo non hai avuto tempo di sistemare la eis-pulsantiera. Ulteriori suggerimenti: (con eis) quando usi "salva" e appare la spunta, valuta se questa può rimanere fino alla chiusura della pagina o della procedura o del salvataggio, insomma che rimanga visibile più a lungo (senza rompere) In fin dei conti se non usi eis quando salvi esci anche e hai un riscontro subito. Poi, similmente, se cambi da 25% a 75%, nei bottoni rimane ma in alto, in Anteprima, restano i due quadratini viola; così non sai a che punto sei e di chi ti puoi fidare. Per essere sicuro io sono "costretto" ad aprire Source in un'altra finestra e andare in "Ultime modifiche" (non mi è venuto in mente altro metodo...) buona domenica Silvio Gallio (disc.) 09:13, 11 mar 2018 (CET)[rispondi]

──────────────────────────────────────────────────────────────────────────────────────────────────── @Silvio Gallio La seconda che hai detto: giustissimo! In realtà io non ne sento l'esigenza perchè uso "super-hotkeys" che in un colpo solo modificano il SAL, salvano e mandano avanti di una pagina ma è un propblema da risolvere. Abbi un po' di pazienza, sto lavorando a una cosetta: far sparire completamente il box di modifica, ridurlo a un campo "sostituisci" piccolino che deve comparire esattamente dove c'è il testo selezionato. Enter salva le modifiche, Esc rinuncia. E' una modifica importante e molto profonda, se funzia poi pensiamo agli altri dettagli. Alex brollo (disc.) 13:41, 11 mar 2018 (CET)[rispondi]

@Alex brollo Non ho nessun problema di pazienza visto che non ho fretta. Non sono poi "tanto" presente qui. Sto solo segnalando quelle piccole cose che adesso vedo. Poi quello che vuoi raggiungere lo sai tu. D'altra parte anche se non usi chiavi bollenti quando salvi e procedi non hai bisogno di vedere il risultato; lo vedi per bene. È solo quando sei a metà del guado che salvi ma resti nella pagina che ti si presenta il problema della dicotomia. Salum Silvio Gallio (disc.) 14:29, 11 mar 2018 (CET) dimenticavo, ieri avevo abilitato il visual editor e quella combinazione di tasti CTRL+freccia destra NON mi faceva più apparire il "famoso" apostrofo. Adesso ho disabilitato ed è tornato. Wew! Silvio Gallio (disc.) 14:29, 11 mar 2018 (CET)[rispondi]
@Alex brollo Visto il bottone anteprima/wikitesto (bellissima la soluzione del cambio !!) e vista anche la finestrella editoriale (l'ho aperta ma non so come. (Doppio click? evidenziazione? entrambi?). Per le frecce potresti andare a vedere i primi "caratteri speciali" in "Canadese aborigeno" :D ᐆᐋ ᐒᐘ ᑂᑇ ᗓᗛ Wow! (che poi magari significa "fesso chi legge" :DD 'Notte Silvio Gallio (disc.) 22:35, 11 mar 2018 (CET)[rispondi]
@Alex brollo Non so se è normale ma poco fa sistemendo un pagina in eis/Visualizza ho cambiato tre errori tipografici evidenziando la parola e poi aprendo con doppio click. Però una volta tolto l'errore e uscito non è cambiato nulla. Ma forse è normale. Boh. Ovviamente poi ho usato wikitesto. --Silvio Gallio (disc.) 16:25, 13 mar 2018 (CET)[rispondi]
@Silvio Gallio Uscito come? Per ora se esci con un Enter, acchiappa la modifica; se esci con un Esc, chiude senza modifica; se esci selezionando altrove, chiude senza modificare; se esci con un click la situazione è confusa. Io sono orientato a fare in modo che comunque uscendo si salvi, tranne il caso dell'uscita con Esc.
Sta il fatto che presa mano diventa automatico salvare con Enter. --Alex brollo (disc.) 17:00, 13 mar 2018 (CET)[rispondi]
Uscito come? Bella domanda :) mo' non ricordo. Comunque ho letto la documentazione linkata qui sotto. Mi pare che la nota 3 sia importante: se devo correggere un errore alla volta mi sparo. Oppure, come sempre ho capito male. Ho già mal di testa. Silvio Gallio (disc.) 17:15, 13 mar 2018 (CET)[rispondi]

Fritto misto di stamattina modifica

@Alex brollo - Prova a guardare cosa succede in questo testo:[[3]]. Dovresti essere a pagina 1, ma se con EIS vai indietro, arrivi a pagina zero e anche meno uno. Come sempre sarà colpa mia ma non è nemmeno questo il problema (o forse si) è che non vedo la relativa immagine a fianco. Questo tanto per cominciare bene la giornata :D Silvio Gallio (disc.) 08:16, 15 mar 2018 (CET)[rispondi]

@Alex brollo Adesso mi è venuto un dubbio e sono andato avedere cosa succede dall'altra parte, alla fine. Sempre con EIS, se apri l'ultima pagina e poi provi ad andare avanti...ci vai! l'immagine rimane la stessa ma a fianco si aprono (?) pagine bianche. (giornata sempre 'più meglio') Silvio Gallio (disc.) 08:33, 15 mar 2018 (CET)[rispondi]

@Alex brollo E non è finita! Ho fatto un test, ho aperto l'ultima pagina "effettiva" djvu/276), sempre con EIS sono andato avanti con la freccia; come prima si è aperta una pagina bianca (djvu/277)con l'immagine della pagina precedente. Questa volta ho provato a scrivere qualcosa, ho cliccato su firma e ho salvato. Bene 'si è salvato! (ma si vede - almeno credo- solo con EIS). Ho ripetuto l'esperimento nella pagina successiva (djvu/278) con identico risultato. Tutto ciò è molto buffo. Spero che riuscirai a eliminare le pagine. Silvio Gallio (disc.) 08:33, 15 mar 2018 (CET)[rispondi]

@Alex brollo Ancora cose particolari. Partendo dalle "ultime modifiche" e cliccando sulla pagina fantasma [[4]] djvu/278 si riapre per bene la pagina. L'immagine è quella della 276 ma il testo è quello scritto da me. Da notare che non ci sono le frecce < e > per cambiare pagina ma quella per andare alla pagina indice. Per contro, aprendo la pagina fantasma [[5]] djvu/277, questa presenta una freccia "<" indietro presumo perché la 276 esiste davvero e manca quella ">" avanti che sarebbe per una pagina fantasma. Silvio Gallio (disc.) 09:44, 15 mar 2018 (CET)[rispondi]

@Alex brollo Adesso -se non ti dispiace- parliamo anche di VIS. Dunque, sono andato a vedere cosa è successo a seguito degli esperimenti di prima con EIS. Ebbene VIS mostra anche la pagina fantasma djvu/277, probabilmente perché è quella di destra mentre la "vera" djvu/276 è a sinistra. infatti la djvu/278 non viene raggiunta. Che cosa significhi tutto ciò è per me imperscrutabile. Tu scruta bene. Silvio Gallio (disc.) 10:21, 15 mar 2018 (CET) Dimenticavo, in VIS non c'è modo di arrivare all'ultima pagina con un click solo? Sarebbe stato comodo. In questo testo le pagine finali non sono numerate in arabo ma in romano e la finestrella mi ha dato solo dei punti interrogativi... Direi che per oggi basta. Io non vado a cercare rogne ma sembra che arrivino da sole. Salum Silvio Gallio (disc.) 10:21, 15 mar 2018 (CET)[rispondi]

@Silvio Gallio Grazie, problema visto, ci rifletto un po'. In realtà niente impedisce di creare pagine che non esistono sul djvu (a suo tempo ho anche pensato di usare la pagina 0 per scopi particolari: idea subito abbandonata). --Alex brollo (disc.) 14:35, 15 mar 2018 (CET)[rispondi]
@Silvio Gallio prova a vede' adesso.... le due pagine da cancellare sono cancellate. Sei un annusatore di bug molto prezioso! Alex brollo (disc.) 21:28, 15 mar 2018 (CET)[rispondi]
@Alex brollo Spiacente. sono entrato nella pagina 276, con le freccette di EIS sono avanzato di una pagina, Immagine a destra + bianco a sinistra. scritto e firmato la pagina 277. (però l'indirizzo è djvu/276) ? comunque vedi che nelle ultime modifiche c'è? . scusa se non mi trattengo sono piuttosto fuso stasera. A più in là Silvio Gallio (disc.) 22:15, 15 mar 2018 (CET)[rispondi]
@Silvio Gallio C'era meno di una possibilità su 100 (precisamente, una su 133) che tu pescassi il buco.... e l'hai trovato al primo colpo. Mi spiegherai come fai; quale maligna (ma utile) ispirazione ti guida. Domani però.... stasera a nanna. Alex brollo (disc.) 23:10, 15 mar 2018 (CET)[rispondi]
@Alex brollo Dopo tanti anni dovresti saperlo che quando si tratta di rompere 'a me non mi' batte nessuno :) - visto che qua sotto hai detto che ti sembra di essere a buon punto, aspetto che ti illuda per bene e poi colpirò. :D -Ti ricordo che ci sono tre o quattro dettagli che (giustamente) per ora hai tralasciato. Non so se fra questi c'è il 'problema' delle nota a lato in "Anteprima". Salum Silvio Gallio (disc.) 08:32, 16 mar 2018 (CET)[rispondi]
Tanto per non smentirmi, una domanda. Premesso che io parlo per quello che vedo nel mio monitor (16/9), trovo che sarebbe sempre e comunque comodo che EIS partisse sempre e comunque "dappersé" quando clicchi la linguetta "Modifica". Poi uno lo usa o non lo usa a piacemento suo. A me quella barretta in quella posizione non dà assolutamte fastidio anzi. Per contro pensa al risparmio energetico di tutti quei movimenti del dito indice... Silvio Gallio (disc.) 09:16, 16 mar 2018 (CET)[rispondi]
@Alex brollo Difficile.... eis causa una specie di cataclisma nella pagina, non è compatibile con il normale editing. La "fatica dell'indice" è a mio parere necessaria. In più, è una cosa così particolare e anti-intuitiva che non va imposta all'utente generico. --Alex brollo (disc.) 10:07, 16 mar 2018 (CET)[rispondi]
Oh! Mai che vada bene. Tocca laurà. Ma -poniamo- uno lo mettesse nelle preferenze di far partire l'EIS quando apri modifica? Per esempio uno che l'indice lo vuole tenere riposato? :D In pratica non è la stessa cosa? Se puede? Poi chi non lo conosce o non lo vuole può sempre scegliere. Mi sembra quella vignette con i due oratori. Oratore blu: "Più diritti per tutti!" e il popolo beh si mmh grunt. Oratore rosso: "Meno diritti per gli altri" e il popollo wow! yeehh! hurrà!. Occhio che la vignetta è americana e i colori... Silvio Gallio (disc.) 12:12, 16 mar 2018 (CET)[rispondi]

Un bel passo avanti modifica

Ho scovato il sistema per agganciare l'aggiornamento del testo, in visualizzazione, a uno dei tool Strumenti per la rilettura; l'effetto è quanto mai soddisfacente, sembra magico, e il trucco adesso può essere esportato anche ad altri tools (aggiusta paragrafi, unisci linee...). Alex brollo (disc.) 12:47, 13 mar 2018 (CET)[rispondi]

Passo passo scrivo una specie di doc qui: Utente:Alex brollo/Documentazione eis nuova versione --Alex brollo (disc.) 16:54, 13 mar 2018 (CET)[rispondi]
Mi manca ancora un passetto per essere completamente soddisfatto: un chiaro "segnale" visivo del fatto che la pagina corrente è stata modificata e che quindi un semplice avanzamento o indietreggiamento senza salvare farebbe perdere le modifiche. Ipotizzo di usare, come "segnale", il bordo del box di visualizzazione, che potrebbe cambiare colore (es. da nero a un rosso dopo modifiche) ma non funzionerebbe in "modalità edit"; forse sarebbe più opportuno un alert. --Alex brollo (disc.) 07:40, 16 mar 2018 (CET)[rispondi]
@Alex brollo Ieri ho fatto due o tre pagine per prova. Direi che la parte "vecchia" vada bene; sulla parte "nuova" mi sembra ci sia un piccolo (grande?) problema. Quello di "centrare" la nuova stringa quando si tratta solo di togliere o mettere gli apostrofi per il corsivo. Ma riproverò più tardi con calma, se posso. --Silvio Gallio (disc.) 08:35, 19 mar 2018 (CET)[rispondi]
Al momento togliere apostrofi (usati per i codici corsivo-maiuscolo) è impossibile; metterli dovrebbe essere possibile, ma "a mano". --Alex brollo (disc.) 12:28, 19 mar 2018 (CET)[rispondi]

Rivoluzioneeee! modifica

Una stramba idea mattiniera mi ha fatto intravedere una modalità totalmente innovativa per caricare i testi di IA bypassando le attuali difficoltà di IA Upload. Il test è questo: Pagina:Chizzola - Risposta Di Donn' Ippolito Chizzuola alle bestemmie e maldicenze in tre scritti di Paolo Vergerio, 1562.djvu/5; il suo risultato: l'idea sembra funzionare. Sono certo che qualcuno di voi lettori di Bar tecnico già indovinerà dove vado a parare :-) --Alex brollo (disc.) 09:06, 22 mar 2018 (CET)[rispondi]

Espongo la mia idea in modo un po' meno criptico.
Disporre dell'xml della pagina permette l'uso integrale di tutto ciò che di meglio sta nello strato testo del file djvu. E tutto accessibile con normalissimi tools locali in javascript - nessun bisogno di nessun bot nè DjvuLibre nè tools remoti - tutto lì a portata di mano, enormi scenari per l'inventiva di appassionati e per l'applicazione immediata dei risultati con un click da parte di qualsiasi utente. Guardate la pagina, prima che venga cancellata: ci sono le coordinate delle singole parole, ossia la loro posizione nella pagina e la loro grandezza (font); dalla posizione relativa delle parole si possono desumere centrature, allineamenti a destra, indentature; da questa pagina molto complessa non si vede chiaramente, ma penso che si possano desumere anche le righe di separazione. Sono convinto che a pensarci si possa scovare il modo di distinguere le parti in versi da quelle in prosa e pure varie tabelle. Il tutto accessibile e permanentemente salvato in una delle versioni della pagina. L'uovo di Colombo - quello a cui sto dando la caccia da anni. --Alex brollo (disc.) 22:01, 22 mar 2018 (CET)[rispondi]
La cosa funzia. Primo test qui: Pagina:Albertazzi - Top, 1922.djvu/259; lo script test (poche righe!) per la conversione xml -> testo qui: Utente:Alex brollo/xml2text.js. --Alex brollo (disc.) 23:40, 22 mar 2018 (CET)[rispondi]
Prima delusione. Sono incappato nel limite di "pesantezza" delle pagine, 2048 kB. Non ci fosse stato, avrei potuto caricare l'intero _djvu.xml di un libro "medio" e tentarne uno split; niente da fare. Tocca usare programmi esterni, per procedere, come minimo un bot python, e questo azzoppa tutta l'idea. Alex brollo (disc.) 07:21, 25 mar 2018 (CEST)[rispondi]
Pazientate con il soliloquio ;-); le cose vanno avanti, l'xml di IA, brutalmente caricato in nsPagina, viene convertito al volo in un testo "normale" da postOCR. Esperimento in corso sulle pagine di Indice:Albertazzi - Vecchie storie d'amore, 1895.djvu. --Alex brollo (disc.) 09:32, 28 mar 2018 (CEST)[rispondi]

Trattino misterioso modifica

In questa pagina ci sono dei trattini invisibili. Se copiate e incollate in blocco note il testo compaiono dei trattini nascosti (braccia, fulmineranno, orologeria). Hanno codice esadecimale C2AD e nel browser si vedono solo se va a capo. Probabilmente ce ne sono molti sparsi in tutto il testo. Non sono "pericolosi" ma non sarebbe meglio eliminarli? --Luigi62 (disc.) 21:02, 25 mar 2018 (CEST)[rispondi]

@Luigi62 Che occhio! Bravo a scovarli! Sì, vanno eliminati. Al momento ho provato se possono essere eliminati via memoRegex (possono), ma sarà bene aggiungere la loro eliminazione nelle sostituzioni che partono automaticamente al momento del caricamento dell'OCR e comunque del postOCR. --Alex brollo (disc.) 08:36, 26 mar 2018 (CEST)[rispondi]
@Alex brollo, Luigi62 Cercando insource:/­/ (copiate e incollate, dentro c'è il carattere incriminato), risultano 85 occorrenze. Dovrebbe trattarsi del w:en:Soft hyphen. Danni non ne dovrebbe fare, ma concordo che è meglio eliminarli. Magari stasera faccio passare il bot. Can da Lua (disc.) 09:42, 26 mar 2018 (CEST)[rispondi]
Intanto ho aggiunto la sua eliminazione alla funzione cleanup() di RegexMenuFramework. E' questa che viene chiamata dopo caricamento dell'OCR su pagina nuova? Il danno che prevedo è l'erroneo risultato di comparazione di stringhe. --Alex brollo (disc.) 10:05, 26 mar 2018 (CEST)[rispondi]

La silhouette delle linee in una pagina modifica

Immaginate di guardare una pagina a piccolo ingrandimento, tanto da vedere la silhouette delle linee di testo ma da non riconoscere i caratteri. Le linee si dispongono in "forme rettangolari", diversamente disposte nella pagina e con alcune grossolane caratteristiche riconoscibili: margini sinistro e destro, "densità" (altezza di ciascuna linea + interlinea), allineamento giustificato o non giustificato (sia a sinistra che a destra)

Tutti questi dati di "disposizione spaziale" sono perduti nel puro testo OCR, ma sono presenti ed elaborabili nel testo mappato (ossia nel testo in cui alle parole sono associate le loro coordinate nella pagina).

Se riusciamo a tradurre bene la silhouette delle linee in probabile natura del testo, facciamo un grosso passo nella pre-formattazione del testo; le cose più importanti sono la distinzione l'identificazione di header e footer, l'identificazione dei titoli, la distinzione fra prosa e poesia, il riconocimento delle annotazioni a più di pagina.

Bisogna riuscire a definirle a parole; poi la conversione in algoritmi - data una buona definizione a parole - dovrebbe essere possibile. Esempio, i "rettangoli-poesia" sono definibili come "rettangoli di testo con margine sinistro allineato per la maggior parte delle righe e margine destro non allineato e nettamente più stretto della larghezza pagina", i "rettangoli- annotazioni" sono "rettangoli a fondo pagina, con font minore rispetto alla parte superiore della pagina". Help needed.... --Alex brollo (disc.) 08:25, 26 mar 2018 (CEST)[rispondi]

Tesseract... aiuto!!!! modifica

Due notizie una buona l'altra meno.

Notizia buona: tesseract produce opzionalmente un pdf ricercabile ossia: un pdf con l'immagine, sotto la quale c'è uno strato testo mappato. Il bello è che tale pdf può essere convertito al volo in un djvu con testo mappato regolare con pdf2djvu: il che apre interessanti prospettive.

Notizia catttiva: i miei tentativi di interpretare le istruzioni per l'installazione dei file lingua sono falliti con frustrazione enorme; sono disponibili nel sito file tipo ita.traineddata con la laconica istruzione di decomprimerli con 7-zip, ma col cavolo che 7-zip li sa decodificare. Qualcuno può aiutarmi? --Alex brollo (disc.) 11:35, 4 apr 2018 (CEST)[rispondi]

Ciao Alex, da quanto leggo qua mi sembra di capire che l'italiano sia già incluso nell'installazione di base e che quindi basti chiamare il comando con il parametro -l ita (addirittura, nel caso di documenti scritti in italiano non corrente, proverei con -l ita+ita_old), o sbaglio?
Se si vuole invece usare un altro file .traineddata allora prova a seguire queste istruzioni dove si dice di mettere il file dentro la cartella "tessdata" e quindi chiamarlo con il parametro -l. In ogni caso non credo tu debba decomprimere i file compilati... --L0ll0 (disc.) 15:22, 4 apr 2018 (CEST)[rispondi]
@L0ll0 Immagino di essermi incastrato su una sciocchezza: capita. Magari le istruzioni si riferivano al "trattamento" di un blocco zippato di file traineddata dei vari linguaggi... Posso chiederti di provare a installare anche tu e fare una prova che tutto funzi a dovere? Mi sentirei più tranquillo. Se le cose funziano è fatta: basta una pype jp2->tiff->tesseract->pdf2djvu e abbiamo un djvu dalle immagini di Internet Archive senza toccare le routine DjvuLibre e senza avere FineReader; l'OCR sarà così così, ma poi è possibile con un altro processo sostituire, volendo, l'OCR tesseract con l'OCR Internet Archive (una cosetta delicata, ma spero fattibile), cosa che si potrebbe fare anche in un secondo momento. --Alex brollo (disc.) 15:44, 4 apr 2018 (CEST)[rispondi]

E se il formato djvu morisse....? modifica

.... nulla è eterno. Potrebbe succedere. Ho una proposta per sostituirlo.

Quello che si deve salvare sono tre elementi:

  • formato del tutto aperto (questo esclude il pdf fin dall'inizio) e possibilmente accessibile con linguaggi standard;
  • rappresentazione delle pagine come immagini;
  • rappresentazione del testo mappato (ossia con le coordinate degli elementi testuali) di ciascuna immagine.

Tutti questi elementi possono essere contenuti in una cartella, zippata o no, contenente pagina per pagina i file immagine (qualsiasi formato; meglio jpg) e il file che rappresenta il testo mappato (xml, hOCR). Struttura semplice, completamente accessibile, facilmente modificabile, "elastica". Si perderebbe solo la compressione tipica dei djvu, ma effettivamente oggi non è un elemento critico; e comunque già oggi le immagini dei djvu sono convertite in jpg prima di essere utilizzate.

Che ne dite? --Alex brollo (disc.) 21:03, 7 apr 2018 (CEST)[rispondi]

@Alex brollo Come inizio suona bene. Comincia a dare un nome al formato che ci capiamo, poi magari un estrattore per suggerlo dai formati più usati; poi serve un SW per costruire i file delle pagine nella giusta sequenza, poi un Toy per aggiungere/togliere pagine, e, ovviamente un SW per generare l'OCR (mica possiamo tutti comperare FineReader...). Infine (e qui ti voglio) il formato fallo inghiottire al Kommoner. (Dai che scherzo) vai avanti... sono davvero impressionato e curioso di vedere. 'Notte --Silvio Gallio (disc.) 21:55, 7 apr 2018 (CEST)[rispondi]
Chiamiamolo "SlyVius" :-D. Quanta roba chiedi! Non ti basterebbe un convertitore SlyVius2DjVu e Djvu2SlyVius? Tieni conto che SlyVius non sarebbe un "formato", sarebbe solo una comune cartella. Zippata diventerebbe un unico file. Alex brollo (disc.) 17:24, 8 apr 2018 (CEST)[rispondi]
Un nome che dovresti spiegare (è terribilmente 'evocatorio' e mi puzza un po :). Poi, premesso che io sono l'ignorantone che sai, penso che se alla fine si riesce ad ottenere il testo in NS0, la pagina Indice e un po' tutto il mondo come oggi lo abbiamo, con in più tutto il tuo Valore Aggiunto, personalmente sono felice. Poi, lo sai, devi passare per le famose Forche di Caudio. Solo che i Sanniti sono Alemanni... Silvio Gallio (disc.) 14:40, 11 apr 2018 (CEST)[rispondi]


@Alex brollo Ciao Cerchiamo di farmi capire (che così sei sicuro...). Un passo alla volta. Primo passo: da dove si parte? Mettiamo che scansiono un libro (ne ho giusto uno piccolo del 1838 -ce ne sono 3 o 4 copie in Italia-) ottengo diciamo 100 immagini TIF o jpg o BMP o che? (so che preferisci il TIF). Una volta impacchettate per bene le immagini col numero abbinato cosa se ne fa?
Re:-
Alternativa: il testo è in AI o altrove, lo scarichiamo. In che formato, visto che Djvu sta scomparendo-?
Re:-
Per ora fermiamoci qui. Poi quando questo è più chiaro al niubbo perenne (io) passiamo alle mosse successive. Ti va? Silvio Gallio (disc.) 09:40, 16 apr 2018 (CEST)[rispondi]
Al momento il formato non è morto. Distinguiamo le prospettive lontane da quelle vicine. Oggi, penso sia una cosa eccellente procedere con il caricamento sistematico di ogni libro anche su Internet Archive oltre che su Commons. --Alex brollo (disc.) 11:04, 16 apr 2018 (CEST)[rispondi]

Sezioni automatiche modifica

C'è qualcuno che mi può scrivere del codice per spezzare una pagina in due sezioni. Mi spiego meglio: posiziono il cursore in un certo punto e premendo un comando la parte da inizio pagina al cursore viene compresa tra <section begin="1" /><section end="1" /> e la parte dal cursore a fine pagina viene compresa tra <section begin="2" /><section end="2" />. --Luigi62 (disc.) 22:42, 15 apr 2018 (CEST)[rispondi]

Belobello! Anchio volio :) (in effetti vedo che esiste un tasto "section" della bottoniera che mette inizio e fine nell'area selezionata. Ma questo mi pare più buono almeno in certi casi) --Silvio Gallio (disc.) 09:29, 16 apr 2018 (CEST)[rispondi]
Il coside codice (che bel typo! i miei script potrebbero benissimo essere chiamati "cosidi"....) , come dice Silvio, esiste già; ti aggiornerò il tuo PersonalButtons.js in modo che ti compaia il pulsante "section" a cui accenna Silvio, che ce l'ha già funzionante. --Alex brollo (disc.) 11:28, 16 apr 2018 (CEST)[rispondi]
Fatto, lo script agisce, se non ricordo male, su un massimo di tre sezionamenti (lanciato dentro la seconda sezione la separa ulteriormente). I nomi di default delle sezioni sono s1, s2 ed eventualmente s3. --Alex brollo (disc.) 12:28, 16 apr 2018 (CEST)[rispondi]
@Luigi62, Silvio Gallio Dimenticai di pingare.... :-( Alex brollo (disc.) 22:50, 16 apr 2018 (CEST)[rispondi]
@Alex brolloPerfetto! Grazie. Ne approfitto per chiederti se non sarebbe meglio aggiungere anche le virgolette prima del nome della sezione, perché non è detto che in un futuro non sia obbligatorio... --Luigi62 (disc.) 07:27, 17 apr 2018 (CEST)[rispondi]
@Luigi62 Hai ragione. Spetta un attimo, approfitto per sistemare, importando la routine in MediaWiki:Gadget-Tools.js in modo che lo script non sia più una cosa "personale"; quando lo sposto lo sistemo. E' curioso che tu abbia immaginato lo script esattamente com'era.... una notevole "convergenza di logiche". :-) --Alex brollo (disc.) 08:07, 17 apr 2018 (CEST)[rispondi]
@Luigi62 Prova adesso, dovresti ottenere anche le virgolette... e ho ripulito il tuo PersonalButtons.js. Alex brollo (disc.) 22:06, 17 apr 2018 (CEST)[rispondi]

Osservazioni su Baretti modifica

Guardando un po' a fondo il sito-fonte del Baretti vedo che:

  • sono disponibili e scaricabili le immagini delle singole pagine in formato jpg;
  • l'URL di queste immagini segue regole abbastanza precise; e semplici;
  • la grandezza delle immagini non è costante, ma di solito si aggira sui 1200 px di larghezza;
  • il tipo colore è in scala di grigi;
  • l'URL base è http://www.erasmo.it/baretti/jpg/;
  • segue un nome jpg con numerazione progressiva ma non "ben sistemata" e precisamente la sequenza è:
    • da B0001.JPG a B0099.JPG,
    • da B00100.JPG a B00120.JPG;
    • da B4001.JPG a B40064.JPG;
    • da B5001.JPG a B50060.jpg.
  • interessante il fatto che la numerazione delle pagine JPG segue la numerazione delle pagine della rivista, per cui l'immagine B00120 corrisponde a una pagina numerata 120; il che suggerirebbe di costruire tre "mega-djvu" rispettivamente di 120, 64 a 60 paginoni.

Se il sito non ha attivato script "anti-grabbing", dovrebbe essere possibile scaricare tutte le immagini in una cartella. --Alex brollo (disc.) 15:21, 5 mag 2018 (CEST)[rispondi]

benefici del mega file? (io sto caricando anche tutti i numeri su archive e per moltiplicare le chiavi di accesso sto mettendo l'indice in descrizione e taggando tutti gli autori) --divudi (disc.) 13:07, 6 mag 2018 (CEST)[rispondi]

Come inserire sottocapitoli di capitoli nell'indice? modifica

Salve, sto avendo problemi nella trascrizione e formattazione del seguente libro, da me inserito ed indicizzato.(ho iniziato da poco a trascriverlo, quindi per quello bisogna aspettare ancora un bel po'). ( https://it.wikisource.org/wiki/Indice:MarinellaDellaNobilt%C3%A0EtDell'EccellenzaDelleDonneEt.djvu ). In questo libro il capitolo 5 della prima parte ha 11 sottocapitoli, che penso di aver inserito male in quanto non si presentano come link rossi come gli altri capitoli. Qualcuno sa in dove sbagliai e come rimediare? Grazie mille. --LeonardoSaponara (disc.) 23:54, 8 lug 2018 (CEST)[rispondi]

@LeonardoSaponara Penso che sia semplicemente troppo lungo: ho provato ad accorciare il nome e il link funziona normalmente. Ti consiglio di ridurre al minimo il nome tipo "Titolo del testo"/Prima parte/Capitolo I, tanto il nome esteso è nel titolo e non c'è alcun motivo pratico di avere URL lunghissimi, anzi la presenza del carattere "&" è causa si problemi all'uso di tools aggiuntivi (anche le lettere accentate ma in misura minore). --Luigi62 (disc.) 07:42, 9 lug 2018 (CEST)[rispondi]

Problema Modulo:Dati? modifica

Buongiorno. Sto cercando di creare il modulo per questo indice. Dopo aver cliccato su "importa dati", non succede nulla. La console di Firefox mi dice che "parseIndice is not a function" . Qualcuno ha problemi simili? Mi sono perso qualcosa io?--Omino di carta (disc.) 08:41, 15 lug 2018 (CEST)[rispondi]

Pywikibot imbizzarrito modifica

@Candalua e altri manovratori di bot: una recente modifica API mi riempie l'interfaccia bot con due messaggi per ogni lettura pagina; ho aggiornato il pacchetto core, e i messaggi continuano. Possibile che il pacchetto non sia stato ancora aggiornato per adeguarsi alla modifica API? A voi succede la stessa cosa? Queste cose mi causano una enorme frustrazione :-( --Alex brollo (disc.) 18:11, 17 ago 2018 (CEST)[rispondi]

TemplateStyles modifica

@Alex brollo (e altri autori di template): da qualche tempo è installata l'estensione TemplateStyles, che consente di includere un css dentro un template, con la sintassi:

<templatestyles src="Template:Name/styles.css" />

Questo ci permette finalmente di svuotare progressivamente Common.css da tutto ciò che non è site-wide, così da renderlo più leggero e facilitare la gestione degli stili.

Quando viene creato un nuovo template, è quindi fortemente consigliato di mettere gli eventuali stili in una pagina Template:Nome/styles.css (usiamo sempre questa naming convention), evitando così di appesantire il Common.css.

Nota 1: questi fogli di stile sono modificabili da tutti gli utenti, contrariamente a quelli globali che solo gli interface admin possono modificare.

Nota 2: il riferimento al foglio di stile deve essere assoluto. Quindi se il template viene spostato, e il suo css con lui, va aggiornato il puntamento. Can da Lua (disc.) 12:39, 4 set 2018 (CEST)[rispondi]

@Candalua Ho seguito la cosa ma mi era rimasto un dubbio: il css viene esportato in ePub? Poi: è garantito che il css del templateStyles venga caricato per ultimo, in modo da rullare altri stili caricati con ResourceLoader? E' meglio usare classi con nome sicuramente univoco? Direi comunque di cominciare a provare. --Alex brollo (disc.) 13:36, 4 set 2018 (CEST)[rispondi]
Il css del templatestyles non viene caricato come foglio di stile esterno, ma viene incorporato nella pagina. Ergo dovrebbe essere esportato in ePub (bisogna provare). Inoltre ha priorità su altri stili uguali (ma comunque è meglio sempre scegliere nomi univoci). Can da Lua (disc.) 15:04, 4 set 2018 (CEST)[rispondi]
Procedo con i test usando Indice:Polo - Il milione, Laterza, Bari 1917.djvu e il template {{Block}} (ancora "vergine", mai utilizzato). --Alex brollo (disc.) 08:54, 15 set 2018 (CEST)[rispondi]
@Candalua Pensi che sia opportuno inserire una "regola" per cui le classi definite nelle pagine TemplateStyle siano sempre non omonime con altre classi che girano (es. prefissandole con t- o altro)? Devono essere non omonime con altre classi TemplateStyle caricate magari in altri template? --Alex brollo (disc.) 14:10, 15 set 2018 (CEST)[rispondi]
Mi sono dato un paio di risposte (mi era sfuggito che avevi già suggerito di evitare omonimie, cosa peraltro difficile da garantire).
La sintassi carica semplicemente il css come style nel body. Quindi, tutte le classi definite nel css "prendono vita" e possono perfino essere utilizzate direttamente. Ci sarà da stare attenti…. potentissimo ma cefaleogeno. Alex brollo (disc.) 23:47, 15 set 2018 (CEST)[rispondi]
Non solo! Il tag <templatestyles… /> non ha nulla a che vedere con i templates, funzia anche inserito direttamente in una pagina qualsiasi. Potrebbe essere quindi usato anche come "workstyles", un css specifico per opera. Prevedo però conflitti non da poco… --Alex brollo (disc.) 23:55, 15 set 2018 (CEST)[rispondi]
Forse trovata la sintassi giusta per impedire la "confusione di classi", test in {{Block}} Alex brollo (disc.) 08:16, 16 set 2018 (CEST)[rispondi]
Funziona, tuttavia il css sanitizer mi dà una info "Don't use adjoining classes": il trucco purtroppo sta esattamente nell'usarle. Devo preoccuparmi? Usando le "adjoining classes" il css dovrebbe agire soltanto nelle div che hanno anche la classe corrispondente a quello specifico template, e che viene assegnata di default. Alex brollo (disc.) 08:23, 16 set 2018 (CEST)[rispondi]

pdf WIP modifica

In Utente:Alex brollo/pdf.py memorizzo lo script su cui sto lavorando, focalizzato sui pdf Opal. In breve, l'obiettivo è di trasformare i pdf Opal a doppia facciata, separati in pdf multipli e con pagine da eliminare (fastidioso soprattutto il "retro come pagina iniziale", per il visualizzatore IA è essenziale che la prima pagina sia fronte), in file pdf pronti al caricamento su IA (facciata singola, fusione dei vari pdf in pdf unico, correzione inizio con pagina retro). --Alex brollo (disc.) 18:20, 26 set 2018 (CEST)[rispondi]

Tre hotkeys personali (eventualmente da condividere) modifica

  1. un Ctrl+Alt+n che equivale al click sul bottone personale "note"
  2. un Ctrl+Alt+2 che sostituisce l'immagine pagina corrente copn quella della pagina successiva (per darci una sbirciata)
  3. un Ctrl+Alt+1 che sostituisce l'immagine pagina corrente copn quella della pagina precedente (per tornare indietro)

Codice in Utente:Alex brollo/PersonalButtons.js. Tutte e tre mi servivano per Il milione (Laterza,1912) su cui sto lavorando, alla fine mi sono deciso vincendo la pigrizia.... --Alex brollo (disc.) 01:13, 28 set 2018 (CEST)[rispondi]

un Phe-bot per noialtri? modifica

cari amici,

da un bel po' il M&S non va per l'inattività di Phe-bot. Ho lanciato una richiesta d'aiuto sul gruppo Telegram Wikisource global community ma probabilmente non ci sarà una soluzione in tempi brevi. Ho trovato il codice dello script M&S in questa pagina. È possibile organizzare il servizio di M&S localmente? - εΔω 11:00, 28 set 2018 (CEST)[rispondi]

@OrbiliusMagister Purtroppo ho perso da tempo l'accesso all'ambiente Tools, era al limite delle mie capacità e al primo intoppo (cambio di pc...) tutto il castello di carte è crollato. Il link allo script è comunque prezioso, finalmente potrei riuscire a capire l'algoritmo di "match" su cui mi sono inutilmente scervellato.... prima di tutto per puro e semplice interesse personale, poi si vedrà. Di certo, non posso contribuire in alcun modo a realizzare un vero tool da server. :-( Alex brollo (disc.) 22:05, 28 set 2018 (CEST)[rispondi]
Lo script chiama per il misterioso match un altro script, align.py, scritto in aramaico.... va bè, studiamo l'aramaico :-) --Alex brollo (disc.) 22:20, 28 set 2018 (CEST)[rispondi]
Comincio vagamente a capire.... sono entrato nel paese dei balocchi :-) --Alex brollo (disc.) 16:13, 29 set 2018 (CEST)[rispondi]
Prima osservazione. Da qualche parte in mediawiki gira un "estrattore di strato testo pdf". Il meccanismo del match richiede unicamente che gli sia passato il puro strato testo di ciascuna pagina. Assolutamente niente impedisce quindi di collegare l'estrattore di testo al tool e di poter fare il M&S anche per i file pdf. --Alex brollo (disc.) 22:36, 29 set 2018 (CEST)[rispondi]
pdftotext.exe (libreria pdf) estrae lo strato OCR di un pdf in un file txt in cui le pagine sono divise da un carattere "Form Feed". Questro almeno nel primo pdf BEIC che ho provato. Non dovrebbe esserci la minima difficoltà a "alimentare" Match con questo file txt, che comprende tutte le pagine, comprese quelle vuote. Alex brollo (disc.) 22:57, 29 set 2018 (CEST)[rispondi]

PersonalButtons.js vs. PersonalButtons modifica

@Divudi85, Candalua, Ruthven L'idea PersonalButtons è quella di permettere di allestire "bottoni personali" che vengono aggiunti alla "bottoniera" fissa (fissa! non ne potevo più della toolbox che scrolla!). PersonalButtons.js nasce molto tempo fa su itwikisource; PersonalButtons è un suo sviluppo molto successivo e perfezionato, nato su oldwkisource nel mio "periodo napoletano".

Le differenze:

PersonalButtons.js PersonalButtons
javascript normale testo
modificabile solo dall'utente e da amministratori dell'interfaccia modificabile da qualsiasi utente (ci si può aiutare a vicenda anche senza essere amministratori dell'interfaccia)
problemi di sicurezza nessun problema di sicurezza
non implementa meccanismo per shortcuts personalizzati implementa meccanismo per shortcuts personalizzati
può definire funzioni javascript non può definire funzioni javascript
dipendenza da altri script itwikisource dipendenza dal solo script BAT

Bisognerebbe unificare le due procedure, senza causare disastri; la mia preferenza personale cade certamente su PersonalButtons. L'idea è di usare PersonalButtons nel caso che PersonalButtons.js non esista; ma si potrebbe anche pensare di utilizzarle insieme; in questo caso la bottoniera raccoglierebbe bottoni dell'una e dell'altra. Opinioni? --Alex brollo (disc.) 20:23, 22 nov 2018 (CET)[rispondi]

Il PersonalButtons lo uso già altrove e devo dire che è utile per fare una parte delle operazioni del BAT, ossia inserire i template. Un esempio tipico sarebbe selezionare il testo che poi il pulsante centra con {{c|.
Per avere una bottoniera più pulita, le operazioni andrebbero separate: da un lato i javascript di PersonalButtons.js e dall'altro l'inserimento di testo. Un'idea sarebbe di trasformare in gadget le singole operazioni di PersonalButtons.js, da far apparire come pulsanti nella bottoniera. --Ruthven (msg) 06:29, 23 nov 2018 (CET)[rispondi]
@Ruthven Dopo un momento di smarrimento forse ho capito: mi stai chiedendo di dare la possibilità all'utente di "alimentare la propria bottoniera" scegliendo i singoli bottoni attraverso la normale interfaccia Preferenze->Accessori. Non rinuncerò volentieri alla possibilità di alimentarla anche con un sistema più spiccio, anche perchè una delle idee base è proprio quella di evitare le complicazioni che derivano dalla creazione di gadget (prima di tutto, la necessità di avere il flag di amministratore dell'interfaccia; secondo, i fastidi che derivano dal ritardato aggiornamento di ciò che passa da mw.loader.load); ma ci penso come integrazione per una terza alternativa. Alex brollo (disc.) 07:59, 23 nov 2018 (CET)[rispondi]
@Alex brollo Esatto, suggerivo di creare gadget che permettano di alimentare la propria bottoniera con le funzionalità già integrate nel PersonalButtons.js. Il flag di amministratore d'interfaccia te lo si può assegnare con una semplice votazione, sia qui, che su oldsource, che sull'eventuale nap.source. Per il resto, affinché un gadget si attivi più velocemente, spesso va deselezionato > preferenze salvate > riselezionato > preferenze salvate. --Ruthven (msg) 11:28, 23 nov 2018 (CET)[rispondi]
Grazie del suggerimento, l'avevo scoperto mediante tentativi ed orrori ma una conferma mi è molto utile. Qui sono già, ahiloro, amministratore dell'interfaccia, su oldwikisource preferisco un profilo prudente, se a qualcuno gli script piaceranno saranno convertiti in gadget dopo una bella ripulita al codice. Alex brollo (disc.) 17:31, 23 nov 2018 (CET)[rispondi]

Speciale:PagineIndice modifica

@Divudi85, OrbiliusMagister Speciale:PagineIndice è ricchissima di dati, ma poco utilizzabili; è però possibile estrarre i dati e renderli molto più evidenti e manipolabili, raccogliendoli in una tabella ordinabile (primi test: Utente:Alex brollo/PagineIndice).

Ci sono due possibili strategie:

  1. trasformare al volo sul posto la pagina Speciale:PagineIndice sostituendo il contenuto con una tabella (non so se sarà possibile che sia "sortable"); il risultato sarebbe dinamico ma "evanescente", non memorizzabile (meglio: memorizzabile con un po' di difficoltà);
  2. scaricare i dati su una normale pagina come wikitesto, in questo caso il risultato sarebbe stabile e ordinabile, ma non aggiornato. Così è costruita Utente:Alex brollo/PagineIndice

Due domande:

  1. questa roba potrebbe servire?
  2. se servisse, quale strategia giudicate più comoda e utile? Alex brollo (disc.) 14:33, 1 dic 2018 (CET)[rispondi]
Il mio POV è il seguente:
  • Affiancare la pagina speciale alla tua invece di sostituirla con la tua permette di salvare il meglio di entrambe le possibilità.
  • Un bot potrebbe aggiornare periodicamente le statistiche? A me la sortabilità garba moltissimo e già disporre di un prospetto anche solo settimanale delle nostre pagine indice ci aiuterebbe molto.
  • Se volessimo curare l'estetica mi piacerebbe una miniatura delle copertine del libro (anche a 30px non di più) in ogni riga pescando il dato dallepagine indice; inoltre si potrebbero mutuare i colori del SAL e metterli in intestazione (o molto più pastellati come sfondo in colonna?).
  • Sull'utilità ti posso già riportare che molti indici anche già riletti hanno nascoste pagine non create in inizio o alla fine, generalmente SAL 0% che andrebbero create anche solo per avere il libro completamente creato.
  • Infine sarebbe fortissimo avere una specie di "Phe-tools per noialtri", cioè percentuali o grafici di andamento per il nostro progetto (ma questo è una utopia). In ogni caso il pagina è utilissima. - εΔω 18:19, 1 dic 2018 (CET)[rispondi]
concordo in pieno, sarebbe un'ottima maniera, in certe occasioni, anche per concentrare gli sforzi, o per dare blande direttive (come hai fatto per la deledda "Forza, manca poco"). Oppure, per esempio, per i newcomers. "Appena arrivato? Questi libri hanno bisogno del tuo aiuto per essere riletti" E con poco sforzo al neofita gli dai la gasatura di aver finito un libro. Quello che scoraggia molti, credo sia il muro di pagine rosse. Me lo immagino perchè scoraggia anche me a volte, e quindi certi giorni cerco un libro cominciato da me o da altri a cui mancano poche pagine per salarlo (al 75%, io rileggo poco).
Riguardo le tue domande non ho ancora capito la pagina special come genera questi dati e se lo fa lì per lì ogni volta. Sarebbe figo fosse sempre aggiornata ma forse non è questo l'ambiente più adatto e una lettura costante di tutto per aggiornare pagine personalizzate farebbe esplodere la piattaforma. Cmq senza troppe modifiche alla pagina attuale forse basterebbe poter avere delle funzioni cerca più avanzate, tipo gli attuali filtri della pagina osservati speciali, ma questo lo dico per gli utilizzi che ne farei io. Pensando alla community rimando a quello che ho scritto nel primo paragrafo. --divudi (disc.) 11:54, 2 dic 2018 (CET)[rispondi]
@Divudi85, OrbiliusMagister Intanto grazie a entrambi per aver letto e apprezzato :-) altrimenti avrei abbandonato immantinente lo sviluppo.
  • non so se la pagina Speciale:PagineIndice è "dinamica" o si basa su elaborazione periodica; però si può sperimentare.
  • tutti i dati convertiti in tabella sono già presenti nella pagina, ma sono nascosti dentro il codice html; la pagina li presenta in formato graficamente attraente e basta. Niente impedisce di far comparire sulla pagina un bottone, "Traduci in tabella", per cui la pagina non sarebbe sostituita ma solo integrata dalla possibilità di una visualizzazione alternativa.
  • Niente impedisce di far comparire, dopo conversione in tabella, un secondo bottone "Salva nella pagina...." in modo da salvare solo i dati che si ritengono particolarmente interessanti.
  • Un bot potrebbe fare la stessa lettura dell'output di Speciale:PagineIndice e la stessa conversione dei dati + salvataggio, ma io eviterei e comunque non ho più accesso a ToolLabs. Non ho pescato le API su cui la pagina si appoggia.
  • Le pagine indice possono essere lette a blocchi di 500, quindi in sole 5 chiamate si leggono tutte.
  • Il recupero di qualsiasi dato che non sia già presente nell'output di Speciale:PagineIndice appesantirebbe enormemente la cosa perchè richiederebbe una ulteriore elaborazione per ciascun indice. Al momento, eviterei.
  • Il campo "key", che per ora ho trascurato, è veramente interessante, ma quasi solo per quegli indici di cui abbiamo "normalizzato" il nome. Provate con un cognome autore.
Conclusione: vado ancora un po' avanti, ma pianino. :-) . Per favore, pingatemi perchè io seguo solo il Bar e i ping... e pingate pure gli altri utenti che pensate possano essere interessati. Alex brollo (disc.) 00:32, 5 dic 2018 (CET)[rispondi]

Conclusione provvisoria modifica

@OrbiliusMagister, Divudi85 Progetto attuale: fare in modo che direttamente nella Speciale:PagineIndice compaia un bottone che, cliccato, trasformi sul posto la pagina nella tabella; a questo punto un secondo bottone potrebbe permettere di memorizzare la tabella su una propria pagina o dove si vuole. Se non ne vale la pena, basta ricaricare la pagina (magari per modificare la richiesta con l'apposito form) e tutto scompare. Che ne dite? Questo eviterebbe parecchio codice. Alex brollo (disc.) 23:12, 12 dic 2018 (CET)[rispondi]

@Alex brollo, ottimo compromesso --divudi (disc.) 15:04, 13 dic 2018 (CET)[rispondi]
: @Divudi85, Mess Naturalmente la osservazione di Mess apre nuovi scenari.... tutti gli indici in un'unica tabellona con una sola lettura ... :-) --Alex brollo (disc.) 13:54, 14 dic 2018 (CET)[rispondi]

Nel marasma: fare ordine nei javascript modifica

@Candalua, Ruthven, OrbiliusMagister Mi sono proposto di fare ordine nei javascript, o meglio: di scriverli daccapo. Comincio con una proposta di Ruthven, che è quella di fare ordine nella bottoniera usando la strategia [utente]/PersonalButtons piuttosto che quella [utente]/PersonalBurttons.js.

Per cominciare con il piede giusto occorre aderire ad alcuni principi e verificare sistematicamente il codice con un validatore js; io ho scelto https://validatejavascript.com/ che si basa su ESlint.

A parte le sottigliezze formali trovo due grossi problemi:

  1. gli script non devono creare variabili nè funzioni globali;
  2. qualsiasi oggetto o funzione che "esca" dallo script deve essere aggiunta come proprietà dell'unica variabile globale ammessa, cioè mw; gli script ben fatti, se hanno bisogno di funzioni o variabili globali, devono trovarle dentro mw.

Siamo d'accordo fin qui? Se sì, essendo le variabili e le funzioni generali proprie di itwikisource abbastanza numerose, pensate sia opportuno attribuirle direttamente a mw oppure riunirle in un unico oggetto di mw? mi spiego, prendendo in considerazione le usatissime funzioni find_stringa() che al momento è globale (e il cui nome dovrà essere findStringa) e produciLista:

  • creo mw.findStringa e mw.produciLista;
  • creo mw.g.findStringa e mw.g.produciLista (dove g sta per globale)

O altro? Naturalmente servirà anche una "strategia di migrazione" con una fase "ibrida" altrimenti si spacca tutto.... --Alex brollo (disc.) 23:57, 4 dic 2018 (CET)[rispondi]

Ciao @Alex brollo! Sí, in linea di massima sarebbe ottimale che si occupasse meno spazio globale possibile (anche nulla) e al massimo agganciarsi in mw ma sempre occupando meno "padri" possibili. Queste sono linee guida ereditate da come vengoni realizzati i plugin per jQuery. Dal punto di vista dell'accesso sarebbe tipo mw.alex.saluta(), mw.alex.abbraccia() etc. Per esempi concreti dai un'occhiata a come ragionano in phab:source/mediawiki/browse/master/resources/src/jquery/. Comunque bisogna dire che il regno dei gadget nei wiki é panico e sangue, quindi qualsiasi cosa farai per migliorare la situazione sappi che diverrai un eroe contemporaneo :D --Valerio Bozzolan (disc.) 13:35, 5 dic 2018 (CET)[rispondi]
@Valerio Bozzolan Grazie mille, soprattutto per il fatto che sapere che i gadget e resourceloader sono "tosti" mi fa sentire meno imbecille.... :-) .... purtroppo proprio adesso che mi sembra di aver capito come funzia la questione ResourceLoader nei gadget, cerco di aggirarla.... :-). Sì, anch'io vedo molto bene l'idea di aggiungere a mw un solo "ramo principale" a cui appiccicare il resto. L'idea è di far "comunicare" i vari script solo attraverso mw invece di usare la fusione del namespace, come mi sembra faccia ResourceLoader; facendo così diventano tutte iffy autonome, e tanti saluti. resta da vedere come gestire i processi di "popolamento" asincrono di mw. --Alex brollo (disc.) 18:26, 5 dic 2018 (CET)[rispondi]
@Alex brollo Ecco il trucchetto:
( function ( mw ) {
    // trucchetto per assicurarsi che esista mw.alex (già esistente, o oggetto vuoto)
    mw.alex = mw.alex || {};

    mw.alex.faiCose = function () {
        return 'cose';
    };
} )( mw );
Così in qualsiasi ordine vengano eseguiti non sovrascrivono gli altri. --Valerio Bozzolan (disc.) 19:17, 5 dic 2018 (CET)[rispondi]
Grazie, me ne ricorderò, ma la situazione è leggermente più intricata. Devo aggiungere un passaggio in cui esamino se dentro mw.alex c'è quello che voglio per far correre faiCose e se non c'è devo procurarmelo; io farei così, essendo url l'url di uno script dove viene definito quello di cui ho bisogno (funzioni mw.alex.f1, mw.alex.f2...):
( function ( mw ) {
    mw.alex = mw.alex || {};
    // se mancano metodi a mw.alex (dipendenze) caricali e poi esegui vai()
    // altrimenti esegui vai() subito
    if (mw.alex.f2 === undefined) {/7
           $.getScript(url, function() {
                   vai();
               }
           } else {
                vai();
           }
    function vai() {
        mw.alex.faiCose = function () {.... };
        ...
        return false;
    }
} )( mw );
Mi sto complicando inutilmente la vita? Anche nello script url dovrebbe esserci una struttura simile, o no? La logica dovrebbe essere: "il primo script che NON trova mw.alex lo crea e ci mette dentro le sue cose; gli altri aggiungono solo le loro cose se non ci sono già" Alex brollo (disc.) 20:36, 5 dic 2018 (CET)[rispondi]
@Valerio Bozzolan Grazie della tua dritta, ovviamente ho verificato che quanto sopra non funziona, ho dovuto ripiegare battuto e scornato dall'astuzia dell'architettura di ResourceLoader ma.... mi pare di aver imparato un sacco e qui: mul:User:Alex brollo bis/PersonalButtons.js la prima versione grossolana ma funzionante della questione (validata con ESLint). Dovrebbe essere uno script multiprogetto, devo ancora verificare, quello di cui sono certo è che è privo di dipendenze e che non "inquina" il ns globale. Adesso parte l'avventura della "grande revisione".... Alex brollo (disc.) 01:07, 9 dic 2018 (CET)[rispondi]
@Alex brollo Scusa se sono stato superficiale. Il mio consiglio a lungo termine è di richiedere di diventare amministratore dell'interfaccia in https://test.wikipedia.org e di creare e testare lì il tuo codice (un gadget) e gestire con ResourceLoader le sue dipendenze (altri gadget) cosicché tu sia libero di usare gli strumenti adatti per la gestione delle dipendenze e, una volta che tutto sarà pronto, un amministratore dell'interfaccia di Wikisource potrà importarlo qui. In tal modo potrai concentrarti al 100% nella programmazione poiché tutte le dipendenze saranno semplicemente dichiarabili in MediaWiki:Gadgets-definition ed attuate da ResourceLoader automaticamente e tutto sarà eseguito nel giusto ordine, quindi dallo script "B" saprai che hai sicuramente a disposizione tutte le cose fornite dallo script "A".
Il mio consiglio a breve termine invece è di prendere atto che l'iniezione di script lato-client e la gestione delle loro dipendenze è una questione non banale, perché sebbene tutti usino jQuery.getScript(), quest'ultimo non dà garanzia che lo script desiderato abbia terminato l'esecuzione. Quindi se non vuoi impazzire e non vuoi intasarti di codice, il mio suggerimento è di caricare lo script A, il quale fa le sue cose e poi lancia lo script B, il quale fa le sue cose e lancia lo script C, etc. Così sai al 100% che quello prima è stato eseguito, perché è lui stesso che ti ha chiamato:
// script A: questo script dichiara cose utili, fa le sue cose, e poi chiama B
( function ( mw ) {
    // non sovrascrivere mw.alex
    mw.alex = mw.alex || {};

    // non sovrascrivere questa configurazione
    mw.alex.messaggioPredefinito = mw.alex.messaggioPredefinito || "Benvenuto";

    mw.alex.preparaCose  = function() { /* cose */ };
    mw.alex.altreRobe    = function() { /* cose */ };
    mw.alex.boh          = function() { /* cose */ };

   jQuery.getScript( "l'altro script B" );
} )( mw );

// script B
( function ( mw ) {
    if( ! mw.alex || ! mw.alex.boh ) {
        jQuery.error( "alex script B: wtf hai caricato lo script A?" );
    }
    var a = mw.alex.preparaCose();
} )( mw );
--Valerio Bozzolan (disc.) 11:24, 9 dic 2018 (CET)[rispondi]

──────────────────────────────────────────────────────────────────────────────────────────────────── @Valerio Bozzolan Il mio interesse era proprio quello di vedere dove si può arrivare senza usare ResourceLoader, qui su it.source ho il flag e lo userò di nuovo quando mi sentirò pronto. Sono appagato dei risultati; adesso mi prendo una pausa e rimpinzo lo script di documentazione, altrimenti, come succede spesso, dopo un po' mi domando: ma cosa cavolo voleva fare chi ha scritto 'sta roba? per poi scoprire.... che l'ho scritta io :-(. Ma prima: editare, editare! --Alex brollo (disc.) 13:05, 9 dic 2018 (CET)[rispondi]

«fare debug significa investigare in un'omicidio... in cui spesso sei l'asssassino» cit. un canale Reddit che non ricordo asd --Valerio Bozzolan (disc.) 01:12, 12 dic 2018 (CET)[rispondi]

Qualcuno di voi ha usato OO? Sto cominciando (dopo il primo momento di panico) a provarci.... ma un aiutino sarebbe gradto :-) --Alex brollo (disc.) 00:53, 20 dic 2018 (CET)[rispondi]

Pingo un po' di gente.... @Candalua, Ruthven, Valerio Bozzolan e se dimentico qualcuno fra gli utenti js-nerd fatemelo presente. --Alex brollo (disc.) 19:41, 20 dic 2018 (CET)[rispondi]
Io no, ma rilancio il ping: @Valepert, Daimona Eaytoy. --Ruthven (msg) 23:04, 20 dic 2018 (CET)[rispondi]
Personalmente l'ho usato, sia in versione PHP che per JS, per ricostruire l'interfaccia del filtro anti abusi, e ancora ogni tanto mi capita di doverlo usare. Una cosa che ricordo è che la documentazione non è perfetta (anzi, per alcune cosette è quasi assente). La documentazione disponibile è tutta qui. --Daimona Eaytoy (disc.) 18:23, 21 dic 2018 (CET)[rispondi]

Template Blocco a destra modifica

Qualcuno sa perché il template {{Blocco a destra}} in ns0 sta a destra e in nsPagina sta a sinistra? Vedi l'ultima pagina di questo testo come esempio. --Luigi62 (disc.) 23:05, 22 dic 2018 (CET)[rispondi]