Wikisource:Domande tecniche/Riflessioni sui dati

Da Wikisource.

Questa pagina - a cui potrebbero seguire altre se l'esperimento viene giudicato positivamente - contiene riflessioni personali su un tema specifico; qualcosa di più simile alla pagina di un blog che a una pagina cooperativa wiki. Pertanto - per non perdere tempo - la scriverò "in prima persona", in quanto descrive, al momento, riflessioni, esperienze, "scoperte" personali; ma se la mettessi in una mia sottopagina, nessuno lo troverebbe.

Ciò nonostante, segue le comuni regole di libera modificabilità da parte di qualsiasi contributore.

La molteplicità dei dati presenti e utilizzabili all'interno del progetto source; la loro diversa accessibilità da parte del contributore umano, dell'utente bot, dei template, degli javascripts; la loro diversa modificabilità da parte di ciascuno di questi "utenti" in senso lato; le profonde differenze fra il contenuto dei dati delle pagine di visualizzazione, di modifica, e di anteprima; i dati del tutto originali che circolano su it.source, ottenuti con la "semantizzazione"; i meccanismi di condivisione dei dati, e di trasferimento dei dati da una pagina all'altra costituiscono un insieme complesso, ed in continua evoluzione. Vi è inoltre la possibilità - estremamente potente ma più impegnativa per i server - di utilizzare richieste dirette relative al contenuto di altre pagine, via Ajax; ma ritengo utile riflettere sull'utilizzo dei dati disponibili localmente, prima di affrontare le possibilità (illimitate) che potrebbero essere ottenute con un'interrogazione Ajax.

I dati contenuti in una pagina in visualizzazione[modifica]

Mi scuso adesso del fatto che quanto dirò per molti sarà di una banalità sconcertante, al limite del lapalissiano.... me altri non lo è. Da adesso, non mi scuserò più.

In visualizzazione, i dati contenuti sono unicamente quelli che vengono "restituiti" dal server come risposta alla richiesta contenuta nell'URL con cui la pagina viene aperta. In pratica, si tratta di codice XHTML, che contiene sia "la cornice" della pagina come appare nel browser (intestazioni, logo, link, messaggi, pulsanti...) che il "contenuto", ossia il risultato dell'elaborazione del codice wiki introdotto dall'utente in fase di edit. Il contenuto della pagina può essere visualizzato con il comando del browser "Visualizza sorgente". Avendo montati accessori come Firebug, è possibile esaminare i contenuti in modo più dettagliato e organizzato.

Nella pagina in visualizzazione, non c'è alcuna traccia del codice wiki, utilizzato dal server per produrla; il codice è stato trasformato in puri elementi html, fino a essere quasi "irriconoscibile". In particolare, non c'è alcuna traccia dei template e nessuna distinzione fra testo appartenente alla pagina e testo "transcluso". Non c'è nemmeno traccia dell'usuale codice wiki. L'unica cosa che resta riconoscibile, del testo inserito in edit, è il puro testo non formattato e gli eventuali tag html inseriti come tali.

All'interno del codice, possono anche esserci delle parti di testo reso invisibile con un parametro display=None. Tale testo non è visualizzato ma è perfettamente accessibile a uno script.

Ma sono disponibili anche altri due tipi di dati, "esterni" rispetto al codice della pagina, piuttosto interessanti: l'eventuale "stringa di query" alla fine dell'URL, e il contenuto di eventuali cookie. In entrambi, possono essere inseriti dati che non appartengono alla pagina corrente, ma alle pagine precedentemente visitate. Un esempio brillante di uso della stringa di query per trasferire dati da una pagina all'altra è il sistema di numerazione versi, recentemente introdotto da Candalua. In quel caso, il numero di verso finale di una pagina è trasferito alla pagina successiva proprio attraverso la stringa di query dell'URL. Dei coockie non facciamo ancora uso specifico, ma è una cosa fattibile.

Tutti questi dati sono accessibili via javascript.

I dati contenuti in una pagina di Modifica[modifica]

Nella pagina di modifica, i dati contenuti sono totalmente diversi. Esiste, ovviamente, il codice wiki della pagina, all'interno del box di modifica; non esiste invece alcuna traccia del codice html generato dal server sulla base del codice wiki, nè del codice generato dalle estensioni. Ad esempio:

  1. non esiste traccia del codice generato dall'espansione dei template
  2. non esiste traccia del codice generato dalle estensioni (es. tabella dei link alle pagine nel nsIndice)
  3. non esiste traccia del codice generato dalla transclusione

Possono però esistere dati trasferiti alla pagina attraverso la stringa query dell'URL; dati provenienti da eventuali cookie; dati registrati in variabili javascript oppure ottenuto da un meccanismo ajax attraverso una query al server.

I dati contenuti in una pagina di Anteprima[modifica]

Nella pagine di Anteprima sono disponibili sia i dati tipici di una pagina in visualizzazione, che quelli disponibili in una pagina di modifica. Lo svantaggio è che la richiesta di un'Anteprima è opzionale, e quindi eventuali meccanismi di automazione, che sfruttino la messe di dati disponibili, possono funzionare solo se l'utente deliberatamente attiva l'anteprima. Dipendendo da un comportamento opzionale dell'utente, i risultati di un'eventuale procedura risulterebbero incostanti e inaffidabili. (continua)