Discussioni progetto:Qualità/Pagina indice

Discussioni attive

Questa pagina viene creata nel luglio 2010 per discutere la revisione del codice delle pagine Indice.

Obiettivi:

  1. comprendere a fondo il codice del MediaWiki:Proofreadpage index template, usato con lievi adattamenti du en.source e su fr.source;
  2. comprendere a fondo le modifiche alla pagina introdotte su it.source al momento dell'avvio del proofreading;
  3. pianificare la "normalizzazione" delle pagine Indice su it.source, e successivamente ricostruire gli eventuali abbellimenti/miglioramenti sulla base di uno schema largamente utilizzato

Note generaliModifica

Il NsIndice è il "cuore" della procedura proofread, ed è trattato in modo molto diverso dalle altre pagine. Anche il nsPagina ha molte particolarità, ma non a livello altrettanto spinto.

Lo schema della pagina obbedisce a regole molto strette, perchè il contenuto dei vari campi è strettamente correlato da un lato alla sorgente delle immagini, dall'altro al legame fra pagina Indice e sequenza delle pagine Pagina, creata automaticamente quando il file sorgente è un file multipagina djvu o pdf. Per limitare i possibili errori nell'input dei contenuti, in fase di edit uno script js trasforma "al volo" il codice della pagina in un form a campi fissi. E' anche possibile, con opportuni accorgimenti, generare per i campi dei menu a tendina.

Lo schema della pagina indice è contenuto in MediaWiki:Proofreadpage index template, pagina protetta il cui accesso è riservato agli utenti sysop. La lista delle variabili che deve essere gestita dal template è contenuta in un secondo file: MediaWiki:Proofreadpage index attributes, anch'essa protetta. Il codice delle due pagine è organizzato in modo che venga creata una tabella; ed in effetti, su en.source e su fr.source, in cui esistono implementazioni "standard" del modello di pagina proposto da Meta, il codice stesso di MediaWiki:Proofreadpage index template è, in sostanza, il codice di una tabella. Su it.source, invece, il codice ha l'aspetto di una chiamata a due diversi template: {{Intestazione pagine indice inizio}} e {{Intestazione pagine indice fine}}; il codice tabella è limitato alla sola cella che contiene il riferimento alle pagine Pagina:. Tutti gli altri campi sono passati come parametro ai due template esterni, che a loro volta producono il codice della tabella prevista dal software. Questa scelta ha consentito una personalizzazione molto più spinta della pagina Indice: su it.source, ma ha lo svantaggio di dover essere aggiornata con molta più cura in caso di sostanziali novità nell'estensione proofread, e creando obiettive difficoltà a chi, esterno a it.source, interpellassimo per dare una mano negli upgrade.

In fase di edit, nei browser più lenti compare per un attimo, sullo schermo, il codice "reale" della pagina, immediatamente rimpiazzato dallo script js che la gestisce. Per studiare con calma il codice di una pagina Indice qual'è, prima della trasformazione, basta disattivare temporaneamente javascript sul browser utilizzato, oppure studiare l'output di Speciale:Esporta.

Ad esempio, con la funzione Esporta su Indice:Ardigo - Scritti vari.djvu si ottiene (oltre a vario altro codice xml) questo contenuto (leggermente modificato per maggiore facilità di lettura):

{{:MediaWiki:Proofreadpage_index_template 
|Autore=Roberto Ardigò 
|Titolo=Scritti vari (Ardigò) 
|InizialeTitolo=S 
|NomePagina=Scritti vari (Ardigò) 
|TitoloOriginale=Scritti vari 
|Sottotitolo=raccolti e ordinati da Giovanni Marchesini 
|Editore=Le Monnier 
|Città=Firenze 
|Anno=1922 
|Immagine=Ardigo - Scritti vari.djvu{{!}}page=3 
|URLTesto= 
|Progetto= 
|Qualità=25 
|Pagine={{Indice pagine|1}}<pagelist /> 
|Sommario=
* {{Indice sommario|0|Ardigo - Scritti vari.djvu/7|Prefazione|7}} 
* {{Indice sommario|0|Ardigo - Scritti vari.djvu/17|Opere filosofiche|17}} 

.....

* {{Indice sommario|0|Ardigo - Scritti vari.djvu/281|Versi|281}} 
* {{Indice sommario|0|Ardigo - Scritti vari.djvu/303|Indice|303}} 
}}

{{HideIfEmpty}} e {{IfEmptyDo}}Modifica

Creati i due template di servizio {{HideIfEmpty}} e {{IfEmptyDo}}, utilizzati in tutti i campi opzionali di en:MediaWiki:Proofreadpage index template.

Questa non l'ho capita bene: prova a vedere le versioni cancellate del template: esso è stato creato quando ancora le funzioni del parser non permettevano comportamenti condizionali a seconda della presenza o meno di valori nei parametri. C'è un motivo per cui resuscitare tali cadaveri? - εΔω 17:30, 21 lug 2010 (CEST)
Semplicemente, i due template sono molto usati negli altrui MediaWiki:Proofreadpage index template. Usarli permetterebbe di rendere il nostro codice molto più simile a quello degli altri, fino al punto di permetterci anche dei test di "importazione di prova tal quale", cosa che non potremmo fare se mancano.
C'è inoltre un secondo motivo, più sottile: il template {{HideIfEmpty}} nasconde alcuni dati in visualizzazione, ma la struttura del dato viene inclusa comunque nell'html generato dal server, cosa che non avviene maneggiando alcune forme di codice #if. Ho una certa simpatia istintiva per la prima soluzione, anche perchè potrebbe semplificare molto il codice di template complessi, che sono resi quasi illeggibili da molte strutture #if annidate (l'idea di rivedere il codice di {{Intestazione}}, ad esempio, mi atterrisce....)..
In conclusione: sia che lo usiamo, che non lo usiamo, mi sembra un tool da avere a disposizione. --Alex brollo (disc.) 09:43, 26 lug 2010 (CEST)

Qualità e fasi di lavoro delle pagine IndiceModifica

Il nostro sistema Qualità non è compatibile con la "categorizzazione per fasi di lavoro" comprese nel menu a tendina usato da en.source e fr.source per le pagine indice (e previsto nel proofreadpafe index templade di default). Una soluzione per salvare capra e cavoli sarebbe di sdoppiare la cosa in due campi distinti, uno relativo alla nostra qualità SAL, un secondo, a tendina, per registrare le fasi di lavorazione "canoniche" per permettere una categorizazzione della pagine Indice conguente con quella delle source maggiori. Che ne dite? --Alex brollo (disc.) 09:48, 26 lug 2010 (CEST)

In linea di principio è un passo da fare, ma resta il problema di "sincronizzare" i due sistemi e di documentare il tutto. Per il secondo ci si arriva con discussioni e pagine di aiuto apposite, cosa che si raggiunge normalmente, ma per il primo problema la vedo terribilmente dura, e ho notato che la manutenzione manuale è troppo improba ed esposta all'errore umano per essere continuata. - εΔω 12:08, 26 lug 2010 (CEST)
sì, occorrerà esplorare la "strada radiobutton" (esattamente come in tutti gli altr tipi di pagina) per aggiornare la qualità delle pagine Indice. Non facile, ma forse, aguzzando l'ingegno, ci si potrebbe riuscire. basterebbe che il radiobutton modificasse il contenuto di un campo della form. Attirerò l'attenzione di Candalua sulla cosa.... vediamo intanto cosa succede a infilare un template Qualità tal quale nel nuovo campo.. --Alex brollo (disc.) 12:46, 26 lug 2010 (CEST)
Non succede niente di drammatico. Il template viene accettato senza discussioni e non scompagina la pagina Indice. Ovviamente, al momento, non genera la categorizzazione, ma già il fatto che non causi disastri e venga conservato non è male. Test in Indice:Ardigo - Scritti vari.djvu. Se resta là dovrebbe essere modificabile dallo stesso script che gestisce il template via radiobutton in Ns0... --Alex brollo (disc.) 12:52, 26 lug 2010 (CEST)
YES YES! Con una minima modifica di {{Intestazione pagine indice inizio}} il template qualità tal quale, ficcato nel campo Qualità del form, fa tutte le cosine che deve fare (genera le categorie, ecc). Adesso non resta che montare i radiobutton anche sulle pagine Indice e lo script js dovrebbe aggiornare un tl Qualità se lo trova; il passo successivo è di "insegnare" allo script che se non lo trova, deve infilarcelo non in testa, ma dentro alla form... e poi la pagina Indice diventerà tal quale una della pagine ns0. Almeno penso. Candalua? Ci sei, che c'è di nuovo "occorrenza" ;-) ?
NO! meglio ancora! mettendo il tl qualità IN TESTA AL CODICE della pagina, fuori dal tl MediaWiki ecc, tutto funziona perfettamente! Basta far fare agli script js esattamente quello che fanno nelle pagine ns0, niente di più e niente di meno! NON serve il campo Qualità! Mi correggo: al primo edit con js attivato il codice del template qualità viene "rullato". Prima bsogna estendere i js alle pagine Indice e poi verificare cosa succede.

Alex brollo (disc.) 13:46, 26 lug 2010 (CEST)

Ritorna alla pagina "Qualità/Pagina indice".