Prof. Dr. Detlef Stern

Zettelstore 0.15

Die gute Nachricht für alle Nutzer des Zettelstore: Version 0.15 ist verfügbar. Dies gilt auch für die Bibliothek, um auf den Zettelstore zuzugreifen (a.k.a Zettelstore Client).

Was gibt es an relevanten Änderungen im nun 30. Release?

Wieder einmal sind es nicht viele Änderungen. Die meisten betreffen Fehlerkorrekturen. Insofern sollte man das Release auch bei sich einspielen, sofern das ein freundlicher Systemadministrator nicht schon für einen erledigt hat. Mal wurden zu viele Daten kopiert, z.B. bei der Erstellung eines untergeordneten Zettels. Mal wurden zu wenig Daten angezeigt, etwa wenn eine Beschreibungsliste im Zettelmarkup selbst keine Beschreibung enthielt. Oder es wurde zu wenig angezeigt, wenn bei der Generierung einer Fehlermeldung selbst ein Fehler auftrat.

Ein anderer Fehler betraf die Suchanfragen. Man kann die Suche als Filter betrachten: es werden nur die Zettel herausgefiltert, die zur Suche passen. Diese Zettel lassen sich weiterverarbeiten. Zum Beispiel kann das Ergebnis des Filterns in das RSS-Format umgewandelt werden. Oder, viel einfacher, soll die Ergebnisliste nicht als Aufzählungsliste angezeigt werden, sondern als nummerierte Liste. Dazu wird die Suchanfrage durch das Zeichen | von den Anweisungen zur Weiterverarbeitung getrennt. Zum Beispiel liefert die Abfrage ORDER REVERSE published LIMIT 10 | RSS die zehn zuletzt geänderten Zettel im RSS-Format an. Ließ man die Leerzeichen um das Zeichen | weg, also gab ORDER REVERSE published LIMIT 10|RSS an, so wurden nur Zettel zurück gegeben, die das Wort "RSS" enthielten.

Was gibt es an neuen Funktionen?

Die in der letzten Version eingeführten Schlagwortzettel können jetzt per API ermittelt werden. In der Web-Oberfläche wird nun auch angeboten, fehlende Schlagwortzettel anzulegen.

Bisher gab es die Möglichkeit, alle intern zwischengespeicherten Daten zu aktualisieren. Das wird z.B. benötigt, wenn der Zettelstore auf einem System läuft, dass externe Änderungen an Zetteln nicht an den Zettelstore kommunizieren kann. Dies ist nun auch für einzelne Zettel möglich. Übrigens, auch als letzter Schritt einer Suchanfrage. Aber ein Link („Reindex&ldquo) wird auf der Info-Seite eines Zettels dargestellt, damit man sich die Syntax der Suchanfrage nicht merken muss. Dass ist analog zur Suchanfrage für den Kontext eines Zettels.

Ja, und neben einigen internen Änderungen, welche u.a. die Stabilität weiter verbessern oder mir hoffentlich in Zukunft die Entwicklungsarbeit erleichtern, war es das auch schon.

Dieses Release ist das letzte Release, dass den internen Befehl (define NAME WERT) bzw. (define (NAME ARGS) BODY) im Sx-Code erlaubt. Wer nicht weiß, was das ist: lesen Sie ruhig weiter, hier ist nichts zu sehen. Ansonsten: entweder (defvar NAME WERT) oder (defun NAME ARGS BODY) verwenden.

Die oben angesprochenen Fehler, wie auch der letzte Absatz sind der eigentliche Grund für dieses Release. Das Behalten des (define ...) hätte notwendige Vereinfachungen schwieriger gemacht.

Manche Dinge, die ich mir für dieses Release vornahm, schiebe ich in die Planung kommender Releases. Das betrifft die Log-Ausgabe oder weitere Verbesserungen der Suchabfragen. Diese haben sich als komplexer als gedacht herausgestellt. Kleine Ungenauigkeiten, die ich beim Prüfen entdeckte, zum Beispiel meldete der HTML-Validator, dass Daten in einem HTML-Tag fehlen würden, stellten sich als aufwändig zu ändern heraus. De facto muss ich einen großen Teil der HTML-Generierung umstellen, so dass sie nicht mehr vom Kleinen ins Große abläuft, sondern genau umgekehrt.

Eventuell gibt es noch gute Rückmeldungen meiner Studierenden. Da freue ich mich drauf, wie auch auf Anregungen aus dem Kreis der anderen Nutzer und Interessierten.