Outlines bieten eine strukturierte Sicht auf Informationen. Zusätzlich besteht die
Möglichkeit, mit diesen Informationen weitere Daten zu verknüpfen, sowie
Instruktionen zu hinterlegen, die nach Bedarf ausgeführt werden können. Aus
technischer Sicht ist die Outline
ein Baum, der aus OutlineNode
s besteht,
wobei die Outline
selbst gleichzeitig der Wurzelknoten ist. Jeder Knoten hat eine
textuelle Beschreibung. Zusatzinformationen können mit Hilfe von User Properties[70] hinterlegt werden. Instruktionen werden über die API
um die Klasse Instruction
definiert.[71]
Ein Anwendungsfall der Outline ist die Definition von Lesezeichen für ein Dokument. Häufig wird für jede Kapitelüberschrift eine Sprungmarke definiert. In der grafischen Benutzeroberfläche werden die Lesezeichen neben den Dokumentinhalten angezeigt. Wählt der Nutzer ein Lesezeichen aus, wechselt die Darstellung zu jener Seite, auf der das entsprechende Kapitel beginnt. Verschiedene Dokumentformate bieten auch die Möglichkeit, solche Lesezeichen in ein Dokument einzubetten.
Die Definition von Dokument-Lesezeichen ist lediglich ein möglicher Anwendungsfall. Das Outline Konzept ist abstrakt gehalten, sodass eine Vielzahl weiterer Anwendungsfälle existiert. Im angeführten Beispiel repräsentiert die Outline eine semantische Struktur: Die Kapiteleinteilung eines Dokuments. Alternativ könnten Positionen innerhalb des Dokuments abgelegt werden, die ein Nutzer für wichtig erachtet. Auch Fundstellen einzelner Worte oder ein Überblick zu Themen innerhalb des Textes sind denkbar. Darüber hinaus gehend könnte die Outline auch Zusammenhänge zwischen mehreren Dokumenten beleuchten oder Dokument-Favoriten eines Nutzers vormerken.
In der Arbeit mit Dokumenten entstehen viele Anwendungsfälle für Outlines – sie sind jedoch nicht auf Dokumente fixiert. Stattdessen können sie Informationen im Allgemeinen repräsentieren. Dies könnten Sammlungen von Hyperlinks oder Textbausteinen sein, aber auch Anweisungen die Auswirkungen auf die grafische Benutzeroberfläche oder einen Dokumentverarbeitungsprozess haben.
Mit den Klassen DefaultOutline
und DefaultOutlineNode
enthält die jadice document platform
eine vollständige Outline Implementation, die in Integrationen direkt verwendet
werden kann.[72] In manchen Fällen werden Outlines auch durch den Lesevorgang erzeugt.[73]
[70] Siehe Interface PropertiesProvider
.
[71] Details zu Instruktionen finden sich unter „Instructions und Executors“.
[72] Ein Beispiel dazu nennt „Beispiele zur Outline-API“.
[73] Details dazu gibt „Eingebettete Lesezeichen“.