Der Notizomat ist eine Java Swing Anwendung, die es erlaubt, mit mehreren Benutzern gemeinsam Notizen zu verwalten. Er hat folgende Eigenschaften:
![]() |
Der Zugriff auf die eigentlichen Daten geht über ein abstraktes Interface FileProvider, für das es verschiedene Implementierungen gibt. Bisher habe ich den Zugriff auf "*.notiz"-Dateien im Filesystem sowie den Zugriff auf eine PostgreSQL-Datenbank realisiert. Später kann hier eine Implementierung auch direkt auf ein Dokumentenmanagement-System zugreifen.
Die Wikisyntax ist ebenfalls über ein Interface geregelt. Neben einer (nicht empfehlenswerten) SimpleWiki-Implementierung (mit regulären Ausdrücken) benutzt die Mediawiki-Implementierung die Wikitext
-Bibliothek des Eclipse-Projektes. Die erlaubt ganz einfach auch andere Merkup-Sprachen (Textile, Confluence, TWiki, etc.), wenn das jemand möchte.
Der Quellcode ist in zwei Projekte aufgeteilt. Dadurch ist die Datenverwaltungs-Basis von der Swing-Oberfläche getrennt. Der Sinn ist, das man später einfacher z.B. eine Android-Version erstellen kann, die dann auf der selben Basis aufbaut.
Ich gebe zu, das ich das Programm erst einmal für mich selber geschrieben habe. Wer damit herumspielen möchte, kann mich aber gerne ansprechen. Nach der ersten gemeinsamen Fremdinstallation haben wir dann bestimmt auch eine gute Installationsanleitung. ;-)
Grundsätzlich ist der Zugriff auf das Filesystem sowie auf die Datenbank in einer Config-Datei zu konfigurieren. Im Postgres-Server muss eine Datenbank voreingerichtet sein.
Für die Benutzerverwaltung gibt es bisher keine Oberfläche. Das Programm legt beim ersten Start einen Benutzer für den aktuellen Linux-Benutzer sowie einen Superuser an. Alles weitere mache ich dann mit PGAdminII. Ehrlich gesagt reicht mir als Admin das für den Moment auch.
Den Quellcode gibt es im Notizomat Bitbucket Repository
. Wer kein Mercurial mag, kann dort auch ein tgz-Archiv
herunterladen.
Wer keine Lust auf Quelltext und Interesse an Binaries hat, kann mich gerne fragen, ich kann dann eine aktuelle Version bereitstellen.