Nooit meer metadata invoeren – deel 8

Natuurlijk had ik na de vragen die ik gisteren stelde over Open Office gewoon even een paar dagen op reacties moeten wachten, maar dat heb ik dus niet gedaan. En dus heb ik Open Office Versie 1.9.100 gedownload van hun website (dat was op dit moment de meest recente bèta) en ben aan de slag gegaan. En ik moet zeggen dat ik onder de indruk ben.
Open Office
Nee, ik heb niet gekeken of Open Office de Office-omgeving van mijn keuze zou worden, ben ook niet van plan Microsoft Office 2003 Professional (18,75 EURO via surfspot) te verwijderen van mijn laptop. Het ging me voornamelijk om de metadata functionaliteiten van Open Office al heb ik natuurlijk ook af en toe links en rechts gekeken.
Ik had vandaag niet veel tijd, dus heb ik het beperkt tot de tekstverwerker (Writer). Wellicht komen de andere onderdelen nog in latere posts aan bod.
Omdat het de eerste post over Open Office is, ook even kort wat over de installatie:

Installatie van Open Office
De installatie van Open Office verliep in mijn geval probleemloos. Ik heb er voor gekozen om een Custom Setup uit te voeren en kwam in het lijstje features die ik kon installeren onderstaande twee componenten tegen:

Open Office Windows Explorer Extension - Klik voor grotere versie Open Office Activex plugin - Klik voor grotere versie

Voordat je Open Office installeert ziet Windows XP niets raars aan een bestand dat met Writer gemaakt is. Er is een tabblad getiteld Samenvatting waar je de belangrijkste gegevens (titel, onderwerp, categorie, trefwoorden, opmerkingen, invoer, auteur, revisienummer) in kwijt kunt.
De Windows Explorer extension brengt daar verandering in en maakt het in Windows XP mogelijk veel meer informatie op te vragen (zie hieronder). De Office ActiveX plugin is er (blijkbaar) voor om het tonen van Open Office documenten ook in Internet Explorer mogelijk te maken. Ik het deze niet getest op werking in Firefox.

Open Office metadata in Windows XP
Na installatie van Open Office en de Office Windows Explorer Extension weet Windows XP opeens heel veel van een Writer-bestand:

Eigenschappen algemeen - Klik voor grotere versie Eigenschappen Dokumentstatistik - Klik voor grotere versie Samenvatting 1 - Klik voor grotere versie Samenvatting 2 - Klik voor grotere versie

De incidentele Duitstalige teksten zijn waarschijnlijk bètafoutjes. Ik hoop dat het twee keer voorkomen van een tabblad genaamd Samenvatting dat ook is.

Structuur van een SXW-bestand
Ik had al eens laten zien hoe een Microsoft Word-document eruit ziet als je het opent: voor mensen onleesbare code. Nou, een Open Office Writer-document (een SXW-bestand) is wat betreft samenstelling/structuur/opbouw voor heel veel mensen goed te begrijpen. Het eerste wat je moet weten is dat een SXW-bestand eigenlijk een ZIP-bestand is met daar in een aantal andere bestanden:

Inhoud SXW - Klik voor grotere versie

Je ziet hier een aantal afbeeldingen (in zowel WMF als JPG formaat)een paar XML-bestanden (content.xml, manifest.xml, meta.xml, settings.xml, styles.xml), een bestand thumbnail.png en een tweetal bestanden zonder extensie (layout-cache en mimetype).
Je hoeft niet veel van metadata te weten om te verwachten (hopen?) dat meta.xml de informatie over de metadata van het document bevat:

Open Office meta - Klik voor grotere versie

En voor het geval je het zou willen weten: thumbnail.png is inderdaad wat je zou denken dat het is. Het is een kleine afbeelding van het document. Door Windows XP wordt die automatisch gemaakt als je op het bestand klikt, maar voor bijvoorbeeld een online repository kun je gewoon dat bestand gebruiken.

Voor de kenners van de IMS Contentpackaging-specificatie: het manifest.xml heeft niet alleen een iets afwijkende naam, maar zeker ook een afwijkende (platter / eenvoudiger dan IMSCP) bestandsstructuur:

OO Package - Klik voor grotere versie

Als je zelf een wilt kijken wat er allemaal in zo’n bestand zit en/of er bestanden uit wilt halen dan kan dat heel gemakkelijk. Windows XP ziet het als een gewoon ZIP-bestand en zal de optie ‘Bestanden uitpakken’ aanbieden en elk ZIP-programma kan het bestand lezen.

Metadata toevoegen in Open Office Writer
In Open Office Writer voeg je metadata toe via de optie ‘eigenschappen’. Het invoerscherm is beperkter dan bij bijvoorbeeld Microsoft Word. Je hebt de ingebakken eigenschappen en een tabblad met vier aanpasbare eigenschappen:

Eigenschappen in Open Office Writer - Klik voor grotere versie Eigen properties in Open Office - Klik voor grotere versie

Je kunt de namen/labels van de eigen velden aanpassen, bijvoorbeeld zodat er staat ‘copyright’ en ‘player’. Hoewel vier weinig is/lijkt, heb ik er niet meer nodig.

Metadata uit een Open Office Writer document
Een ZIP-bestand lezen met behulp van PHP is niet moeilijk, het lezen van een XML-bestand is eveneens geen probleem. Dus technisch komt het hier neer op het openen van het ZIP-bestand, het meta.xml bestand ophalen en de gewenste elementen eruit halen.

Het enige wat voor mij wat extra werk/voorbereiding betekende was het feit dat PHP 5 niet meer standaard de benodigde DLL (php_zip.dll) voor het lezen van ZIP-bestanden meegeleverd krijgt (dat is in PHP 4 wel nog zo). Ik moest dus eerst de PECL-modules downloaden en in de ext-map van PHP zetten.

Het PHP-bestand zie er zo uit (txt-bestand, 7kB) en resultaat ziet er ongeveer zo uit:

Metadata uit Open Office Writer - Klik voor grotere versie

Van Writer naar PDF
Een klein zijpad nog: ik heb het Open Office Writer bestand ook opgeslagen als PDF-bestand. Daarbij heb je de mogelijkheid om ook de bijbehorende navigatiestructuur op basis van de kopjes boven de hoofdstukken en paragrafen te laten genereren:

Open Office PDF - Klik voor grotere versie

Ik vind dat opvallend omdat ik dat bij de andere converters meestal niet tegen kom als optie (zeker niet bij de gratis converters).

PDF eigenschappen - Klik voor grotere versie PDF eigenschappen - Klik voor grotere versie

De in Writer ingestelde eigenschappen worden ook opgenomen in het PDF-bestand. Ook dat is iets wat je bij de andere converters vaak niet ziet. Met name de converters die als ‘printer’ werken zullen hier niets mee kunnen. Handig dus dat Open Office Writer dat wel kan. In Windows XP zie je overigens dat er ook een tabblad Samenvatting getoond wordt als je de eigenschappen van het gegenereerde PDF-bestand opvraagt. Hier zijn de eigenschappen leeg. Dat is echter bij alle PDF-bestanden het geval en is dus een ‘fout’ van XP, niet van Open Office.

Mijn PHP-script dat je nu kunt downloaden zal overigens nog niet in staat zijn de eigenschappen uit het PDF-document te filteren. Er is namelijk compressie op het PDF-document toegepast. En dat betekent dat de metadata er zo in opgeslagen is:

PDF metadata met compressie - Klik voor grotere versie

Is een probleem dat is opgelost, maar de code is nog niet verwerkt in het bestand dat je kunt downloaden.

Samenvatting/conclusie
Zoals ik al zei doe ik geen uitspraken over de vraag of je zou moeten overstappen op Open Office of niet. Daar is het aantal andere factoren veel te groot voor. Wat het automatisch kunnen verzamelen van metadata uit de bestanden die door Open Office Writer opgeslagen worden, zowel in het ‘eigen’ formaat als in PDF, betreft is het echter zeker eenvoudiger dan bij Microsoft Word.

De keuze voor het aparte meta.xml bestand maakt initiatieven rond bijvoorbeeld het integreren van informatie over de Creative Commons Licentie die op een document van toepassing is eenvoudig. Zeker als de benodigde interface-elementen beschikbaar komen zal dat het toevoegen van die informatie gemakkelijk maken.

Bij Open Office is gekozen voor het gebruik van Dublin Core als basis voor de metadata. Alles wat niet in Dublin Core beschikbaar is wordt aangevuld met eigen elementen (ter herkennen aan de prefix META: ). Moeten we dan niet, net als voor de Creative Commons Licentie gebeurt, ook een extensie voor IEEE LOM maken zodat we ook LOM-specifieke informatie erin kwijt kunnen?