Mit dem Release 0.3, das seit Dienstag, dem 1.5.2007, bei Sourceforge heruntergeladen werden kann, ist die Topic Maps Engine QuaaxTM, die von mir entwickelt wird, wieder etwas erwachsener geworden. QuaaxTM ist die erste Implementierung von PHPTMAPI, der Portierung des TMAPI (für Java) nach PHP5. TMAPI ist das De facto-Standard-API für Topic Maps.
Ich möchte die wichtigen Neuerungen und Änderungen kurz vorstellen. Das wesentliche neue Feature ist die Implementierung der PHPTMAPI-Indizes. Somit steht jeweils ein Index für Topic Maps-Konstrukte zur Verfügung. Z. B.: „Gib alle Topics eines bestimmten Typs zurück.“
Der Index wird jeweils als sog. helper object über das Topic Maps-Objekt eingebunden: $topicMapObject->getHelperObject($implementationDirectoryName, $implementationClassName).
Das aktuelle Release implementiert lediglich die Indexklassen. Diese greifen bei Aufruf direkt auf die Datenbank zu. Es ist damit also kein separater, optimierter Index umgesetzt worden.
Eine weitere Neuerung stellt die Einbindung von TopicMapSystem in der TopicMapSystemFactory dar (lookup procedure). Bisher wurde der Pfad zur konkreten Implementierung von TopicMapSystem in einer ASCII-Datei editiert. Hierbei kam es unter Linux zu Schwierigkeiten, da am Ende der Zeile Steuerzeichen den angegebenen Pfad verfälschten. Mit Release 0.3 wird dieser nun in einer TopicMapSystemFactory.lookup.php angegeben, die über include in TopicMapSystemFactory eingebunden wird. Ebenso wird mit der Einbindung der Indizes über Index.lookup.php verfahren (und entsprechend mit weiteren möglichen Hilfsobjekten). TopicMapSystemFactory.lookup.php und Index.lookup.php sollten Bestandteile von PHPTMAPI werden, da die lookup procedure derart definitiv auf allen Systemen funktioniert.
Mit Release 0.3 lässt sich QuaaxTM wesentlich komfortabler auf einem Webserver positionieren. Alle Einbindungen von Dateien (=Klassen) über require sind nicht mehr in den einzelnen Dateien definiert, sondern werden an einer Stelle über __autoload() bei Bedarf eingebunden (lazy inclusion).
Neben diesen Features sind auch einige Fehler behoben worden. In diesem Zusammenhang ist speziell das Merging von Topics zu erwähnen ($thisTopic->mergeIn(TopicInterface $otherTopic)).
Wie sehen die weiteren Aufgaben bzgl. QuaaxTM aus? Als ein wichtiges To Do steht die Umsetzung des Mergings von Topic Maps an. Dies ist die letzte fehlende Funktionalität, die PHPTMAPI definiert. Der Im- und Export von XTM sind weitere zentrale Funktionalitäten, die realisiert werden sollten. Analog zu den TMAPI-utils sollten diese als PHPTMAPI-utils angeboten werden.
Wie auch auf der Projektseite von QuaaxTM formuliert, würde ich mich über Unterstützung in der Weiterentwicklung sehr freuen. Ihr könnt mich dazu über die Kontaktseite von t8d erreichen.
Keine Kommentare
Kommentare zu diesem Beitrag als RSS 2.0 feed.
Kommentar abgeben