Prof. Dr. Detlef Stern

Zettel

Das wichtigste Element eines Zettelstore ist die Sammlung aller Zettel. Jenseits einer organisatorisch philosophischen Frage, was denn ein „Zettel“ an und für sich sein könnte, ist der technisch logische Aufbau eines Zettels für das Verständnis zum Zettelstore elementar wichtig.

Dieser Aufbau ist von der Art und Weise zu unterscheiden, wie ein Zettel tatsächlich gespeichert wird. Der Zettelstore erlaubt die Speicherung von Zetteln als Dateien in einem Verzeichnis, stellt aber auch vordefinierte Zettel bereit, die in der Software selbst untergebracht sind.

Ein Zettel besteht logisch aus zwei Bestandteilen:

  1. der eigentliche Zettelinhalt,
  2. Daten über den Zettel.

Daten über etwas heißen häufig, so auch beim Zettelstore, Metadaten. So etwas sollte man zum Beispiel im Kontext von eMails kennen. Da gibt es den eigentlichen Inhalt der eMail, aber auch Daten über die eMail, wie beispielsweise der Absender, der Betreff, andere Adressaten oder der Absendezeitpunkt.

Für einen Zettel verwaltet der Zettelstore explizit fünf Metadaten:

  1. den Erstellzeitpunkt. Dieser ist, sekundengenau, zugleich die Identifikation des Zettels.
  2. den Titel / die Überschrift. Dieses Datum wird verwendet, um eine erste Zusammenfassung des Zettels zu erhalten und diesen in einer Auflistung von Zetteln schnell zu finden.
  3. die Rolle / Kategorie. Es gibt unterschiedliche Gründe einen Zettel zu erstellen. Ein Zettel kann eigene Gedanken widerspiegeln, eine (Literatur-) Quelle zusammenfassen oder ein Ausgrabungsartefakt beschreiben.
  4. Schlagworte / „Tags“, um die Kategorisierung weiter zu verfeinern und um eine weitere Suchmöglichkeit anzubieten.
  5. Die Syntax des Zettelinhalts.

Das letzte Datum ist wichtig, da der Zettelstore so gut wie keine Annahmen zum Format, also zur Syntax der Zettelinhalte macht. Wer will, kann für den Inhalt Markdown (leider) nutzen. Es können aber auch Bilder verschiedener Formate abgelegt werden, oder gar Programmcode in Go, Java oder Python.

Während die Metadaten Erstellzeitpunkt, Titel und Schlagworte auch in anderer Software zu digitalen Zetteln verwendet wird, ist die Einführung einer Rolle / einer Kategorie trivialinnovativer Natur. Man könnte auch „Rolle“ mit „Farbe“ gleichsetzen. Rote Zettel für Literaturnotizen, weiße Zettel für eigene Gedanken, grüne Zettel für Strukturzettel, blaue Zettel für Daten über Grabungsorte, u.s.w. Nur, man muss sich keine Farben ausdenken, sondern Bezeichnung für Rollen, die ein Zettel spielen soll oder zu welcher Kategorie er gehören soll. In alternativer Software werden hierzu meistens Schlagworte verwendet, mit überschaubaren Nutzen.

Wer mag, kann einem Zettel weitere Metadaten hinzufügen. Es gibt keine Begrenzung was die Anzahl betrifft. Jedes Metadatum besteht aus einem eindeutigen Bezeichner und dem eigentlichen Wert des Metadatums. Selbst gewählte Bezeichner müssen aus den Kleinbuchstaben "a" bis "z", den Ziffern "0" bis "9" und dem Bindestrich "-" bestehen. Wenn ich selbst auf eine Webseite verweisen möchte, dann nutze ich zum Beispiel den Bezeichner url. Vielleicht möchte jemand die Geo-Informationen über den beschriebenen Ausgrabungsort ablegen? Kein Problem. Den Bearbeitungszustand des Zettels, das Zugriffsdatum? Ditto.

Für die obigen fünf Metadaten lauten die Bezeichner id, title, role, tags und syntax. Für einige Spezialfälle verwendet der Zettelstore weitere Metadaten, z.B. für die verwendete natürliche Sprache bei Textzetteln oder, wenn man Zettel für andere freigeben möchte, zur Angabe des Copyrights, der Lizenz, Zugriffsrechte.

Darüber hinaus wird die Struktur der Metadaten genutzt, um (über spezielle Zettel) das Verhalten des Zettelstores zu konfigurieren oder (als zettel-ähnliche Datei) diesem beim Programmstart essentielle Daten zu geben, beispielsweise wo sich das Dateiverzeichnis mit Zetteln befindet.

Werden Zettel vom Zettelstore als Dateien in einem Verzeichnis abgelegt, stellt sich die Frage, wie die Metadaten konkret abgespeichert werden. Dazu wird die Identifikation des Zettels, die ja der sekundengenaue Erstellzeitpunkt sein kann, in eine Folge von 14 Ziffern umgewandelt. Aus der Syntax, dem Format des Zettelinhalts ergibt sich in den meisten Fällen die Dateiendung für die Datei, welche den Zettelinhalt speichert. Für dessen Metadaten wird die Dateiendung .meta verwendet („meta“ ist übrigens ein erlaubter Syntaxwert, so dass sich hier keine Kollision ergibt). In dieser Meta-Datei werden die Metadaten zeilenweise gespeichert.

Wen das genaue Format interessiert, kann sich selbst Zettel anlegen und nachsehen. Allerdings gibt es eine Ausnahme: man kann Syntaxwerte festlegen, bei denen die Metadaten in der Inhaltsdatei vor dem eigentlichen Inhalt als Kopfdaten (Header) gespeichert werden sollen, vom Inhalt meist durch eine Leerzeile getrennt. Dies gilt per Default nur für die Zettelstore-eigene Syntax Zettelmarkup. Der Zettelstore erlaubt es, per Konfiguration hierzu einige zu ändern.

Dies interessiert aber nur diejenigen, die sich den Zettelstore an ihre eigenen, sehr persönlichen Bedürfnisse anpassen wollen. Die eigentliche Arbeit mit dem Zettelstore gestaltet sich viel einfacher:

  • Neuen Zettel anlegen,
  • Titel vergeben,
  • Rolle bestimmen,
  • evtl. Schlagworte definieren.

Nun muss man „nur noch“ den Zettelinhalt formulieren. Die Syntax des Inhalts bleibt meistens gleich.

Übrigens, wer den technischen Zusammenhang erkennt, hat ebenfalls längs erkannt, das ein als Datei gespeicherter Zettel fast identisch zu einer eMail ist.