OpenDocument

formato aperto per file di documento

Template:Da tradurre Il formato OpenDocument (ODF), abbreviazione di OASIS Open Document Format for Office Applications (Formato OASIS Open Document per Applicazioni da Ufficio), è un formato aperto per file di documento per il salvataggio e lo scambio di documenti per la produttività di ufficio come documenti di testo (come memo, rapporti e libri), spreadsheets, diagrammi, e presentazioni. Questo standard è stato sviluppato dal consorzio di industrie OASIS ed è impostato su di una versione di XML creata originariamente da OpenOffice.org.

Lo standard è stato sviluppato pubblicamente da varie organizzazioni, è pubblicamente accessibile, e può essere implementato da chiunque senza restrizioni. Il formato OpenDocument nasce per fornire una alternativa "aperta" a formati proprietari tra cui i famosi formati DOC, XLS e PPT usati da Microsoft Office, così come il formato Microsoft Office Open XML (il quale possiede varie restrizioni di licenze che impediscono alla concorrenza di usarlo). Organizzazioni ed individui che memorizzano i loro dati in un formato aperto come OpenDocument evitano di essere bloccati ad un singolo produttore software, lasciandolo liberi di cambiare software se il produttore del loro attuale software dovesse uscire dal mercato, alzare i prezzi, cambiare il software o cambiare i propri termini di licenza per qualcosa di meno favorevole.

OpenDocument è il solo standard per documenti editabili di produttività di ufficio che è stato verificato da un organismo per gli standard indipendente riconosciuto, è stato adottato da diversi produttori, e può essere adottato da qualunque fornitore (compresi venditori e sviluppatori di software proprietario usando il GNU GPL).

Implicazioni nelle politiche pubbliche

Dal momento che un obiettivo dei formati open come OpenDocument è quello di garantire accesso a lungo termine ai dati senza barriere legali o tecniche, le amministrazioni pubbliche ed i governi sono diventati progressivamente consapevoli dei formati aperti come questioni che riguardano le politiche pubbliche.

Nel 2002, il Dr. Edgar David Villanueva Nuñes, avvocato e rappresentante nel Congresso della Repubblica del Perù, ha scritto una lettera a Microsoft Peru sollevando questioni circa l'accesso gratuito e permanente a documenti con formati proprietari. All'inizio del 2005, Eric Kriss, Segretario dell'Amministrazione e delle Finanze in Massachusetts, è stato il primo membro di un governo di uno stato degli Stati Uniti a collegare i formati aperti ad uno scopo di politiche pubbliche: "E' obbligo prioritario del sistema democratico Americano che non possiamo avere i nostri documenti pubblici vincolati in un qualche tipo di formato proprietario, magari non visualizzabile in futuro, o soggetto ad un sistema di licenza proprietario che ne restringe l'accesso." [1]

Successivamente, a settembre 2005, il Massachusetts è diventato il primo stato ad assumere formalmente formati OpenDocument per i propri archivi pubblici ed, allo stesso tempo, rifiutare il formato proprietario di Microsoft XML, ora chiamato Microsoft Office Open XML format (vedi WordprocessingML). Questa decisione è stata presa dopo un esame dei formati di file durato due anni, intrattenendo al contempo molte discussioni con Microsoft. Microsoft Office, che ha quasi il 100% di quota di mercato presso gli impiegati dello stato, attualmente non supporta i formati OpenDocument. Microsoft ha provvisoriamente indicato che i formati OpenDocument non saranno riconosciuti nelle nuove versioni di Office, che pure supportano molti altri formati (tra cui ASCII, RFT, e WordPerfect), gli analisti ritengono che sarebbe semplice per Microsoft implementare lo standard. Le implicazioni delle mancata implementazione di OpenDocument all'interno della suite per ufficio, potrebbero rivelarsi negative perfino per Microsoft stessa se lo standard si affermasse.

Dopo l'annuncio del Massachusetts nel sostenere il formato OpenDocument, molte persone e molte organizzazioni hanno espresso opinioni su questa politica, sia a favore che contro. Adobe, Corel, IBM, e Sun hanno inviato lettere al Massachusetts sostenendo la decisione. Per contro, Microsoft ha inviato una lettera fortemente critica sulla misura. Anche un gruppo chiamato "Cittadini contro gli Sprechi del Governo" (Citizens Against Government Waste - CAGW) si è opposto alla decisione. Il gruppo sosteneva che questa politica del Massachusetts stabiliva "una preferenza arbitraria verso l'open source", sebbene entrambi i software, open source e proprietario, possono rispondere ai requisiti, ed entrambi i tipi di sviluppatori sono impegnati nel creare degli standard. Molti hanno considerato questa dichiarazione come un semplice comunicato stampa di Microsoft; InternetNews e Linux Weekly News hanno notato che la CAGW ha ricevuto finanziamenti da Microsoft, e che nel 2001 la CAGW ha inviato due lettere a sostegno di Microsoft nel caso giudiziario anti-trust di Microsoft, scoprendo che quelle lettere si rivelarono essere state "firmate" da persone defunte.

Secondo il datasheet OpenDocument di OASIS, "il Ministero della Difesa di Singapore, il Ministero delle Finanze francese ed il suo Ministero dell'Economia, Finanza e Industria, il Ministero della Salute brasiliano, la Città di Monaco in Germania, il Consiglio Municipale di Bristol nel Regno Unito, e la città di Vienna in Austria stanno tutte adottando applicazioni che supportano OpenDocument".

OpenDocument è stato sottoscritto dalla Commissione Europea. L' Unione Europea ha raccomandato OpenDocument come base per formati di file standard e per lo scambio di documenti. E' stato inoltre raccomandato che lo standard impiegato per i documenti dovrebbe essere determinato in funzione di quello che diventerà standard internazionale. OpenDocument è già uno standard secondo un organismo indipendente riconosciuto per gli standard (OASIS), ed è stato sottoposto alla ISO (International Organization for Standardization) per la standardizzazione, mentre non c'è prova che i formati XML di Microsoft o i vecchi DOC/PPT/XLS subiranno tale processo. Molti si attendono che l'ISO approvi ed accetti OpenDocument usando un processo di approvazione lampo, e che una volta ratificato lo standard, l'Unione Europea richiederà OpenDocument come standard per i documenti di produttività da ufficio dell'Unione Europea.

Standardizzazione

La versione 1.0 delle specifiche OpenDocument è stata sviluppata dopo laboriosi sviluppi e discussioni da diverse organizzazioni. Il primo meeting ufficiale OASIS per discutere lo standard è avvenuto il 16 dicembre 2002; OASIS ha approvato OpenDocument come uno standard OASIS il 1 Maggio 2005. Il gruppo ha deciso di erigerlo su una versione precedente del formato OpenOffice.org, essendo questo già un formato XML con la maggior parte delle proprietà desiderate. Si noti, comunque, che OpenDocument non è la stessa cosa del vecchio formato OpenOffice.org; sono state introdotte molte modifiche ed esperienze sul campo basate sul feedback fornito da molti singoli utilizzatori ed organizzazioni.

Il processo di standardizzazione ha coinvolto gli sviluppatori di molti prodotti integrati per ufficio o relativi sistemi per documenti, tra cui (in ordine alfabetico):

Assente eccellente è stata la Microsoft, sopratutto perché Microsoft è membro OASIS e principale venditore di software di suite da ufficio.

Tale assenza è avvenuta a dispetto della richiesta del TAC (Telematics between Administrations Committee) dell'Unione Europea, che il 25 Maggio 2004 aveva raccomandato a "Soggetti industriali attualmente non coinvolti nel Formato Open Document OASIS di considerare a prender parte al processo di standardizzazione allo scopo di incoraggiare un più vasto consenso dell'industria intorno a tale formato". Al contrario, Microsoft ha deciso di sviluppare esclusivamente il proprio formato incompatibile, senza apporti o revisioni dall'esterno. A causa di questa assenza di un diffuso riesame pubblico ed indipendente del formato di Microsoft, molti ipotizzano che il formato di Microsoft sarà più difficile da implementare per gli altri, o che il formato di Microsoft manca di importanti caratteristiche in confronto a OpenDocument.

Specifiche

Le estensioni dei files ed i relativi tipi MIME sono inclusi nello standard ufficiale rilasciato da OASIS in data 1 Maggio 2005.

Documenti

Per quanto i riguarda i documenti OpenDocument, le estensioni più comuni sono:

  • .odt - documenti di testo;
  • .ods - fogli di calcolo ;
  • .odp - presentazioni;
  • .odg - grafica;
  • .odb - database.

Da notare come ogni estensione abbia in comune le prima due lettere (od sta per OpenDocument) e utilizzi una terza lettera per identificare il tipo (t per text, s per spreadsheet e così via), permettendo una facile memorizzazione. Nella tabella che segue troviamo il tipo MIME associato ai tipi di file OpenDocument:

Tipo di file Estensione Tipo MIME
Testo .odt application/vnd.oasis.opendocument.text
Database .odb application/vnd.oasis.opendocument.database
Foglio di calcolo .ods application/vnd.oasis.opendocument.spreadsheet
Presentazione .odp application/vnd.oasis.opendocument.presentation
Disegno .odg application/vnd.oasis.opendocument.graphics
Grafico .odc application/vnd.oasis.opendocument.chart
Formula .odf application/vnd.oasis.opendocument.formula
Immagine .odi application/vnd.oasis.opendocument.image
Modello di documento .odm application/vnd.oasis.opendocument.text-master

Template

OpenDocument supporta anche i template. Un template racchiude le informazioni di stile e formattazione del documento ma non il contenuto del documento stesso. Anche per le estensioni dei template vale la stessa regola descritta per quelle dei documenti: le prime due lettere sono comuni a tutti i template (ot, OpenDocument template), la terza è relativa ai singoli tipi di template; la tabella li riassume tutti:

Tipo di file Estensione Tipo MIME
Testo .ott application/vnd.oasis.opendocument.text-template
Foglio di calcolo .ots application/vnd.oasis.opendocument.spreadsheet-template
Presentazione .otp application/vnd.oasis.opendocument.presentation-template
Disegno .otg application/vnd.oasis.opendocument.graphics-template
Grafico .otc application/vnd.oasis.opendocument.chart-template
Formula .otf application/vnd.oasis.opendocument.formula-template
Immagine .oti application/vnd.oasis.opendocument.image-template
Pagina web .oth application/vnd.oasis.opendocument.text-web

Funzionalità

É chiaro perciò che con OpenDocument si possono creare documenti di testo (ad es., quelli solitamente editabili con un comune elaboratore di testi), fogli di calcolo, presentazioni, disegni, immagini, grafici, formule matematiche, database e modelli di documento (che possono combinare i vari formati) e, ovviamente, creare template per molti di loro.

Lo standard ufficiale dell'OASIS relativo ad OpenDocument ne definisce tutte le capacità. Haumacher (2005) fornisce una specifica formale per gli hyperlink, mentre Eisenberg (2005) concentra l'attenzione sul formato in maniera più dettagliata.

Il testo che segue riassume tutte le funzionalità del formato.

Metadata

Il formato OpenDocument supporta i metadata (informazioni relative ai dati) grazie ad un set di elemenenti metadata predefiniti, mantenendo comunque la possibilità per l'utente di creare elementi personalizzati. I metedata prededefiniti sono: Generator, Title, Description, Subject, Keywords, Initial Creator, Creator, Printed By, Creation Date and Time, Modification Date and Time, Print Date and Time, Document Template, Automatic Reload, Hyperlink Behavior, Language, Editing Cycles, Editing Duration e Document Statistics.

Contenuto

Il formato di testo di OpenDocument supporta sia le funzionalità tipiche sia quelle avanzate: si possono creare intestazioni di vario livello, liste di tipi diversi (numerate o meno), paragrafi numerati, mantenere una traccia dei cambiamenti effettuati. Si può ricorrere alla sequenza di pagine e agli attributi di sezione per controllare la disposizione del testo. Collegamenti ipertestuali, Ruby text (che fornisce annotazioni ed è fondamentale per alcuni linguaggi), segnalibri e riferimenti sono anch'essi supportati, insieme a meccanismi per la generazione automatica di tabelle, come ad esempio tavole dei contenuti, indici, bibliografie eccetera.

Un esempio di set di tabelle nel formato OpenDocument sono senza dubbio i fogli di calcolo; è possibile quindi formattare le tabelle e l'intero foglio di calcolo nella maniera desiderata, grazie alle grandi funzionalità che offerte dal formato. Porzioni di database, filtri, data pilots (equivalente delle tabelle pivot di Excel) sono supportati ed è possibile controllare tutte le modifiche effettuate al documento.

Il formato grafico supporta la rappresentazione vettoriale, nella quale è possibile definire un gruppo di layers e relativo contentuto. Si possono ottere diverse forme come rettangoli, linee, poligoni regolari e non, cerchi ed ellissi, percorsi, polilinee, connettori e crearne di nuove; è possibile ricorrere a forme in 3D, come scene, luci, cubi, sfere e rotazioni. Ovviamente tutto ciò non è sufficiente per creare filmati o comunque scene in 3D elaborate, ma è più che sufficiente per documenti personali o per l'ufficio.

Le presentazioni possono essere potenziate con animazioni che consentono di controllare suoni, forme e testo, nascondendo e mostrando solo quello che si vuole.

Il formato grafico permette di creare immagini per mostrare dati numerici, con la possibilità di inserire titoli, sottotitoli, commenti e legende. Il formato definisce la serie di dati da usare per la rappresentazione grafica e molte tipologie di grafici (a linee, a torta ecc.)

Anche i form sono supportati, grazie all'implementazione dello standard preesistente XForms.

Formattazione

È possibile effettuare diverse operazioni su stile e formattazioni grazie alla versatilità del formato.

Il layout di pagina è determinato da una varietà di attributi, come ad esempio: dimensione della pagina, formato numero, orientamento della stampa, margini, bordi (con relativo spessore), padding, ombre, sfondo, colonne, ordine di stampa delle pagine per la stampa, numero della prima pagina, scala, centratura della tabella, altezza massima della nota a piè pagina e suo separatore.

Testata e fondo pagina possono avere dimensioni variabili e possono essere personalizzate con margini, bordi, sfondi, ombre ecc.

Esistono moltissimi attributi per testo, paragrafi, testo ruby, sezioni, tabella, colonne, liste.. Ogni carattere può avere un preciso font, una sua dimesione e tutto un'insieme di altre proprietà. È possibile determinare lo spazio verticale dei paragrafi attraverso attributi come mantieni uniti, vedovo ed orfano e garazie ad altri attibruti come drop caps si può assegnare una formattazione speciale. La lista è lunghissima, uno sgardo alla guida dello standard fornirà maggiori dettagli.

Formule nei fogli di calcolo

Con OpenDocument le formule matematiche che appaiono sullo schermo possono essere descritte, grazie anche all'attributo tabella:formula. Il formato permette anche di cambiare tutta quella serie di informazioni tipicamente incluse in un foglio di stile, come formati e tabelle pivot.

Sono state mosse alcune critiche verso la sintassi ammessa in tabella:formula, accusata di non essere accuratamente dettagliata. Nella specifica OpenDocument 1.0 le formule vengono descritte attraverso una serie di semplici esempi (definire un range di dati, utilizzare la funzione Somma() e così via); le perplessità riguardano proprio questo punto, poichè secondo alcuni è necessaria una specifica per le funzioni nei fogli di calcolo più dettagliata e precisa, che descriva la sintassi e la semantica, e ad essa affiancare alcuni esempi dimostrativi. Il comitato promotore dell'OpenDocument ha ribattuto dicendo che tutto ciò è estraneo ai loro scopi, visto che la sintassi di tali formule non è in XML, e che comunque l'uso delle formule è molto semplice, visto che molte di esse si basano su altre ormai in uso da diversi anni in molte tipologie di fogli di calcolo. La possibilità di leggere facilmente il codice sorgente (in quanto, ribadiamo, esso è pubblico) e la facilità di comprensione dell'output XML sta spingendo diversi gruppi ed organizzazioni verso la creazione di una più chiara e dettagliata specifica che definisca cosa è possibile inserire in una formula e cosa no. Tutto ciò ovviamente non invaliderà quanto fatto fino ad ora nella creazione dello standard OpenDocument.

Si noti che tutto ciò non è uno svantaggio nè nei confronti dell'Open XML di Microsoft (anch'esso non specifica le formule nei dettagli), nè verso il formato binario che sta alla base di Microsoft Excel (del quale non sono mai completamente definiti in pubblico semantica e sintassi).

All'interno del formato

Un file OpenDocument può essere sia un semplice file XML che usa <office:document> come elemento radice o un archivio Jar contenente una serie di file e cartelle. Vista l'impossibilità di definire contenuto binario o thumbnails in maniera diretta attraverso l'XML, si tende a privilegiare il formato basato sugli archivi Jar. A supporto di tale affermazione c'è la possibilità che alcune applicazioni che usano OpenDocument non supportino il salvataggio ed il caricamento del solo file XML (cosa che ovviamente non si verifica col file Jar). L'algoritmo di compressione assai semplice rende i files creati con OpenDocument significativemente più piccoli per dimensioni dell'equivalente file creato con Microsoft Office, dettaglio da non sottovalutare, soprattutto da parte di quelle aziende che hanno la necessità di conservare un ampio numero di file per un lungo periodo o che si trovano nelle condizioni di dover scambiare scambiare file attraverso la rete senza appesantirne il traffico. Una volta decompressi, la gran parte dei dati è contenuta in file XML che possono essere facilmente interpretati e modificati come si fa con un qualunque altro file XML. Possono essere incluse anche cartelle che contengono immagini e suoni in formati differenti dall'SVG e lo SMIL rispettivamente e comunque qualunque altro tipo di file che è contenuto in un documento ma che non è espresso in XML.

Grazie all'ampia specifica del formato di compressione utilizzato, è possibile per un utente estrarre i file e modificarli manualmente; ciò consente, ad esempio, la riparazione di file corrotti o comunque qualsiasi manipolazione di livello semplice. Ovviamente è possibile per l'utente definire un livello di compressione preferito, magari utilizzando altri programmi per la compressione di file. Ciò, unito all'uso di programmi per l'ottimizzazione delle dimensioni delle immagini, permette un'ulteriore riduzione del 40% dello spazio occupato dal file.

OpenDocument fornisce una separazione tra contenuti, layout e metadata ben definita (per una descrizione delle componenti più importanti si rimanda ai paragrafi successivi). All'interno del file compresso si trovano infatti i seguenti file e cartelle:

  • File XML:
    • content.xml
    • meta.xml
    • settings.xml
    • styles.xml
  • Altri file:
    • mimetype
  • Cartelle:
    • META-INF/
    • Thumbnails/

I file in formato XML sono oltretutto creati utilizzando il linguaggio Relax NG, che permette la definizione degli schemi XML. Tale linguaggio è anch'esso definito da una specifica dell'OASIS ed è anche contenuto nello standard ISO/IEC 19757: Document Schema Definition Languages (DSDL).


content.xml

content.xml è senza dubbio il file più importante tra quelli che si trovano nell'archivio. In esso si trova il contenuto del documento (ad eccezione di dati binari, come ad esempio le immagini). Il formato di base è ispirato all'HTML e, benchè sia più complicato, resta comunque di facile interpretazione da parte dell'utente:

<text:h text:style-name="Heading_2">Questo è un titolo</text:h>
<text:p text:style-name="Text_body"/>
<text:p text:style-name="Text_body">
   Questo è un paragrafo. Le informazioni di formattazione si trovano in Text-body style. 
   Il seguente tag vuoto text:p è un paragrafo vuoto (una linea priva di caratteri).
</text:p>

styles.xml

styles.xml contiene le maggior parte delle informazioni relative allo stile (una piccola porzione è contenuta infatti in content.xml). I tipi di stile includono:

  • Stile dei paragrafi
  • Stile delle pagine
  • Stile dei caratteri
  • Stile dei frame
  • Stile delle liste

Qualunque operazione sulla formattazione appare in questo file.

meta.xml

meta.xml contiene i metadati del file (ad es.: autore o ultima modifica). Il contenuto ha più o meno questa struttura:

<meta:creation-date>2003-09-10T15:31:11</meta:creation-date>
<dc:creator>Daniel Carrera</dc:creator>
<dc:date>2005-06-29T22:02:06</dc:date>
<dc:language>es-ES</dc:language>
<meta:document-statistic
      meta:table-count="6" meta:object-count="0"
      meta:page-count="59" meta:paragraph-count="676"
      meta:image-count="2" meta:word-count="16701"
      meta:character-count="98757"/>

I nomi dei tag <dc:...> sono quelli definiti nello standard XML Dublin Core.

settings.xml

settings.xml contiene informazioni come il fattore di zoom o la posizione del cursone, ovvero tutte quelle informazioni che non hanno nulla a che fare con il contenuto o il layout.

mimetype (file)

mimetype è un semplice file di una sola linea contenente il tipo mime del documento; è necessario poichè la semplice estensione del file non basta per rendere il file riconoscibile, essendo solo un modo semplice per permettere all'utente di individuare velocemente il file.

Reuse of existing formats

Lo standard OpenDocument ha lo scopo di utilizzare solo ed esclusivamente quanto descritto dallo standard XML e crea nuove tag solo quando gli standard esistenti non implementano la funzionalità richiesta. Come abbiamo visto, infatti, OpenDocument utilizza DublinCore per i metadata, MathML per le formule, SVG per la grafica vettoriale, SMIL per i contenuti multimediali ecc.




...TRADUZIONE IN CORSO...

Collegamenti esterni

Generali:

I siti seguenti si riferiscono a software che è stato sviluppato attorno allo standard OpenDocument,

I seguenti documenti riguardano nello specifico la scelta dello standard OpenDocument da parte del Massachussetts