Rework:ArchitekturMultivalent

From Wiki

Jump to: navigation, search
« Annotations-GUI Übersicht Packages Multivalent »

Contents

Multivalent Browser in Daffodil

Allgemeine Informationen

Der Multivalent-Browser entstand an der Berkeley-Universität. Hauptautor ist Thomas A. Phelps, Mitglied des UCB Digital Library Projektteams. Die Idee hinter dem Multivalent-Browser ist es, eine einheitliche Schnittstelle für jegliche meschenlesbare Dokumente zu schaffen und zudem leicht erweiterbar zu sein. Die Schlagworte dabei sind: Anytime, anywhere, Any type und Every way. Der Multivalent-Browser arbeitet intern mit einem Metaformat, in welches Beispielsweise CSII,PDF,DVI,man-pages,etc. problemlos importiert werden können. Der Vorteil ist liegt auf der Hand. Jegliche Funktion, die ein Dokument in irgendeiner Weise verändern kann, muss nur ein einziges Mal programmiert werden.

Probleme des MVBs: Dokumentation

Der Multivalent-Browser ist von seinem Autor als leicht zu erweiterndes Tool konzipiert worden. Viel Freiheit geht in Programmen meist mit hoher Komplexität einher, die gut dokumentiert werden sollte. Dabei macht sich der geringe Umfang der Dokumentation des Multivalent-Browsers negativ bemerkbar. Diese umfasst leider nur das Allergröbste. Die Konzepte, die der Multivalent verwendet, sind auch für den Anfänger gut verständlich. Die interne Umsetzung ist jedoch oft nicht intuitiv und hätte zusätzliche Erklärungen dringend nötig. Wenn man den Multivalent durch neue Behaviours erweitern möchte, hat man dabei noch gute Chancen. Hat man vor, diesen in andere Programme einzubetten, ist man darauf angewiesen sich selbst zurechtzufinden. Die Dokumentation wie man den Multivalent-Browser einbettet ist auf eine kleine Beispieldatei für das Browserfenster selber beschränkt.

Probleme des MVBs: Forum

Es existiert ein Forum, in welchem Fragen zum Multivalent gestellt werden können. Im Gros ist der Einzige, der Fragen beantwortet und beantworten kann, der Autor Thomas Phelps selber. Man kann sich darauf einstellen, dass die Antworten meinst Einzeiler sind.

Probleme des MVBs: Darstellung

Die PDF-Darstellung ist oft nicht korrekt und kann meistens nur durch Größenänderung des Fensters wieder beseitigt werden.

Probleme des MVBs: Serialisierung!!!

Wichtig! Der Multivalent-Browser ist darauf ausgerichtet robust zu speichern! Dies ist so fest verankert im Multivalent-Browser, dass es nicht anders ohne Modifikationen möglich ist. Die robuste Speicherung ist leider nicht so einfach zu benutzen. Der DocTree des MVBs besteht aus Nodes, die keine eindeutigen Werte haben. Es sind merkwürdigerweise nicht einmal die absoluten Positionen der Nodes absolut (leidige Erfahrung des Textautors). Daher erkläret sich übrigens auch die falsche Positionierung von Notes bei der Größenänderung. Wer versucht, die Nodes zu serialisieren, kann eine der beiden folgenden Lösungen wählen:

  • Lösung 1: Man benutzt die Methode des Multivalent-Browsers, um aus Spans, XML zu machen. Dies geht sehr einfach. Diese sammelt man und speichert sie ab. Das Laden gestaltet sich als schwieriger. Man muss alle XML-Teile zusammenfügen und die richtige URL setzen. Je nach Span-Typ muss man die noch Werte im XML-Baum verändern und sich aus ca. 3 Klassen, die nötigen Funktionen rauskopieren, um daraus wieder einen Baum zu erstellen.
  • Lösung 2: Man versucht die Nodes doch irgendwie absolut zu machen. Das funktioniert, indem man die Position einer Node im "content" ermittelt. Das geschieht durch einfaches Zählen. Man ermittelt dann Start- und Endposition des Nodes (mit oder ohne Offset). Die restlichen Positionsangaben speichert man mit. Man kann dadurch einen vollständigen Span rekonstruieren.

Links

« Annotations-GUI Übersicht Packages Multivalent »
Personal tools