This page (revision-4) was last changed on 16-Sep-2013 00:12 by Thomas Bayen 

This page was created on 15-Sep-2013 16:59 by Thomas Bayen

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
4 16-Sep-2013 00:12 4 KB Thomas Bayen to previous Beispiel-Konfigurationsdatei
3 15-Sep-2013 17:22 3 KB Thomas Bayen to previous | to last Imagesize verbessert
2 15-Sep-2013 17:20 3 KB Thomas Bayen to previous | to last Download-Links
1 15-Sep-2013 16:59 2 KB Thomas Bayen to last Vorstellung meines Notizomaten

Page References

Incoming links Outgoing links

Version management

Difference between version and

= Notizomat =

Der Notizomat ist eine [Java] [Swing] Anwendung, die es erlaubt, mit mehreren Benutzern gemeinsam Notizen zu verwalten. Er hat folgende Eigenschaften:

* Die Notizen werden in einem hierarchischen Baum abgelegt (ähnlich einem Dateibaum).
* Jeder Benutzer hat ein Home-Verzeichnis.
* Falls ein Wort benutzt wird, zu dem es bereits eine Notiz gibt, wird daraus automatisch ein Link erstellt.
* Wer den Text formatieren möchte (Überschriften, Fettdruck, etc.), dem steht die recht einfache und bekannte Mediawiki-Syntax zur Verfügung.
* Notizen können ausgedruckt werden

Fortgeschrittene Eigenschaften:

* Es gibt Möglichkeiten, den Zugriff bzgl. Verlinkung, Schreiben und Lesen von Dokumenten einzuschränken, so das man unterschiedliche Teilprojekte und Benutzerverantwortlichkeiten voneinander trennen kann.
* Man kann seinen Benutzernamen und damit seine Sicht auf den Baum ändern, z.B. um an einem bestimmten Projekt zu arbeiten.

[{Image src='Notizomat-Screenshot.png' width='700'}]


>>== technische Informationen ==

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|http://wiki.eclipse.org/Mylyn/Incubator/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.


== <<Download ==

Den Quellcode gibt es im [Notizomat Bitbucket Repository|https://bitbucket.org/tbayen/notizomat]. Wer kein Mercurial mag, kann dort auch ein [tgz-Archiv|https://bitbucket.org/tbayen/notizomat/get/tip.tar.gz] herunterladen.

Wer keine Lust auf Quelltext und Interesse an Binaries hat, kann mich gerne fragen, ich kann dann eine aktuelle Version bereitstellen.


==
>>Konfiguration ==

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 <<Properties-DateiConfig-Datei>> zu konfigurieren. <<Der erste genannte Provider ist der Standard-Provider, in dem normalerweise neu geschriebene Notizen angelegt werden. >>Im Postgres-Server muss eine Datenbank voreingerichtet sein.<< Die Tabellen legt das Programm aber selber an.>>

Für die '''Benutzerverwaltung''' gibt es bisher keine Oberfläche. <<Hat man keine Datenbank, gibts nur einen Benutzer. Ist ein Provider mit dem Namen "datenbank" eingerichtet, wird dort eine Users-Tabelle angelegt. >>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. <<''(HörtEhrlich>> <<sich zwar vielleicht blöde an, aber ehrlich >>gesagt reicht mir als Admin das für den <<Moment.)''Moment auch.>>

<<Hier ist eine Beispiel-Konfigurationsdatei zu sehen. Diese sollte im aktuellen Verzeichnis abgelegt sein und <tt>de.bayen.wiki.gui.config.properties</tt> heissen:>>
<<
==
>> << providerDownload>> <<= datenbank, kundenverzeichnis, filestore==>>
<<  >>
<<Den>> << #Quellcode>> <<Konfigurationgibt>> <<füres>> <<denim>> <<Provider[Notizomat>> <<datenbank
Bitbucket
>> << provider.datenbank.classRepository|https://bitbucket.org/tbayen/notizomat].>> <<=Wer>> <<de.bayen.wiki.fileprovider.PostgresFileProvider
kein
>> << de.bayen.utils.Sql.datenbank.servernameMercurial>> <<=mag,>> <<localhost
kann
>> << de.bayen.utils.Sql.datenbank.databasenamedort>> <<=auch>> <<notizomat
ein
>> << de.bayen.utils.Sql.datenbank.user[tgz-Archiv|https://bitbucket.org/tbayen/notizomat/get/tip.tar.gz]>> <<= notizomatherunterladen.>>
<<  de.bayen.utils.Sql.datenbank.password =passwort>>
<<Wer>> << 
keine
>> << #Lust>> <<Konfigurationauf>> <<fürQuelltext>> <<denund>> <<normalenInteresse>> <<Fileprovider
an
>> << provider.filestore.classBinaries>> <<=hat,>> <<de.bayen.wiki.fileprovider.FilesystemFileProvider
kann
>> << de.bayen.wiki.fileprovider.FilesystemFileProvider.filestore.storagedir=/home/user/Notizen
mich
>> << 
gerne
>> << #fragen,>> <<Konfigurationich>> <<fürkann>> <<dendann>> <<besondereneine>> <<(read-only)aktuelle>> <<ProviderVersion>> <<für mein Kundenverzeichnisbereitstellen.
<<  provider.kundenverzeichnis.class = de.bayen.wiki.fileprovider.KundenverzeichnisFileProvider
 de.bayen.wiki.fileprovider.KundenverzeichnisFileProvider.kundenverzeichnis.storagedir=/home/user/Kunden