This page (revision-10) was last changed on 22-Feb-2015 19:48 by ThomasBayen 

This page was created on 15-Feb-2015 19:13 by ThomasBayen

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
10 22-Feb-2015 19:48 18 KB ThomasBayen to previous Geht auch ganz ohne userDN, wenn der LDAP-Server einfache Verbindungen erlaubt
9 22-Feb-2015 17:45 18 KB ThomasBayen to previous | to last besser als allgemeines Beispiel geschrieben
8 22-Feb-2015 16:04 18 KB ThomasBayen to previous | to last Beispiel für LADP-Authentifizierung im Tomcat
7 17-Feb-2015 19:00 16 KB ThomasBayen to previous | to last
6 17-Feb-2015 18:47 15 KB ThomasBayen to previous | to last
5 17-Feb-2015 18:19 15 KB ThomasBayen to previous | to last
4 17-Feb-2015 14:02 12 KB ThomasBayen to previous | to last
3 16-Feb-2015 11:36 11 KB ThomasBayen to previous | to last Automation, WebDAV, CMIS, OCR, etc.
2 15-Feb-2015 21:25 5 KB ThomasBayen to previous | to last
1 15-Feb-2015 19:13 4 KB ThomasBayen to last Einrichtung inklusive Lokalisierung und LDAP

Page References

Incoming links Outgoing links

Version management

Difference between version and

~OpenKM ist ein [Dokumentenmanagement]-System. Es wird hauptsächlich von einer einzigen spanischen Firma gepflegt, daher siehth es zuerst so aus, das es keine echte Community-Software ist. Allerdings steht es komplett unter einer freien Lizenz und ist wie ein echtes gutes Open Source Projekt mit einer guten Dokumentation (in einem [http://wiki.openkm.com/index.php/Main_Page Wiki]) versehen. Einige Zusatzmodule scheinen nicht frei zu sein, allerdings enthält, soweit ich das sehe, die freie Basis für die meisten Anwender alles, was man so braucht ([http://www.openkm.com/en/product/comparison-of-versions.html Vergleich der Versionen]).

Es gibt eine schöne Demo-Installation, die man sich bei Interesse auf jeden Fall ansehen sollte.

Auf den ersten Blick erscheint die Oberfläche schöner und übersichtlicher als z.B. Alfresco. Mein Eindruck ist, das ~OpenKM sich vor allem für Anwender interessant macht, die klassische Dokumente (also z.B. Eingangs- und Ausgangspost) verwalten und ordnen wollen, also als Ersatz für einen Aktenschrank. Alfresco hat da eher einen modernen multimedialen Ansatz, der dazu führt, das man zwar leicht (in Alfresco) eine Website bauen kann, aber die Oberfläche zur Ansicht von simplen PDFs etwas unhandlich ist. (Nachdem ich das gesagt habe, sollte ich darauf hinweisen, das ~OpenKM natürlich auch HTML- sowie Audio- und Videodateien verwalten kann.)


= Installation =

Nachdem ich eine ganze Weile mit der Online-Demo herumgespielt und im Wiki gelesen habe, wollte ich die Software nun auch lokal bei mir installieren. Es gibt eine [http://wiki.openkm.com/index.php/Quick_Install Quick Install]-Seite im Wiki, die verspricht, das man es in 5 Minuten installiert hat. Ich vermute allerdings, das es ein bisschen länger dauert, bis alles so eingerichtet ist, das ich alle Komponenten habe, die ich möchte.

== Basisinstallation ==

Als root:

 # aptitude install openjdk-7-jdk unzip

Als user:

 $ unzip openkm-6.3.0-community-tomcat-bundle.zip
 $ cd tomcat
 $ bin/catalina.sh start

Jetzt kann man auch schon auf http://localhost:8080/OpenKM/ auf die Weboberfläche gehen. Die 5 Minuten sind klar unterboten. Prima! :-)


== deutsches Languagepack ==

Die Standardversion enthält eine englische und spanische Übersetzung. Nach der [http://wiki.openkm.com/index.php/Language Anleitung] ging es aber ganz einfach, das deutsche Sprachpaket zu installieren. Ich hatte die Programmversion 6.2 installiert und das aktuelle Languagepack, auf das mich das Wiki verwies, war als 6.4 bezeichnet. Das war aber kein Problem. Das schwierigste war noch die Frage nach dem Icon einer deutschen Flagge, die ich mir dann irgendwoher googeln musste.

Die deutsche Übersetzung sieht im übrigen auf den ersten Blick sehr gut aus. :-) Alle normalen Anwenderfunktionen sehen gut übersetzt aus. Sympathischerweise ist z.B. der Administrations-Bereich nicht übersetzt. Mit persönlich gefällt das besser, weil ein User für mich irgendwie immer ein User ist und ich es so leichter habe, die angesprochenen Dinge in der Datenbank oder auch per Google in den Projektforen zu finden. Aber das ist natürlich Geschmackssache!


>>== Entropie ==

Ich habe meine Experimente auf einem virtellen System (mit KVM) durchgeführt. Auf einmal stand beim Reboot der Server und machte keinen Mucks mehr. Es dauerte eine Weile, bis ich merkte, das er nach einigen Minuten dann doch lief. Was war geschehen? Dem virtuellen System waren die Zufallszahlen ausgegangen! 8-o

Um die Entropie eines virtuellen Systems zu erhöhen kann man entweder
* ein paar Minuten warten (hahaha...)
* oder die Entropie des Hosts durchreichen http://wiki.qemu-project.org/Features/VirtIORNG
* Tomcat sagen (per CATALINA_OPTS), er soll das weniger zufällige urandom benutzen, das keine Entropie verschlingt: http://wiki.apache.org/tomcat/HowTo/FasterStartUp#Entropy_Source . Kurz gesagt geht das so:

 export CATALINA_OPTS="-Djava.security.egd=file:/dev/./urandom"


== LDAP ==

Die LDAP-Einbindung ist nicht so richtig gut erklärt. Aber letztlich waren dann doch alle Wissensteile da (z.B. http://wiki.openkm.com/index.php/Testing_LDAP_configuration). Ich benutze natürlich einen OpenLDAP-Server (und kein Active Directory), so das man auf die dementsprechenden Beispiele schgauen sollte. Außerdem hat sich die Konfiguration im Vergleich zu älteren Versionen wohl geändert, weshalb man aufpassen sollte, das man keine Beispiele für den (früher benutzten) JBoss erwischt, sondern welche für Tomcat.

Einführend ist zu sagen, das die grundlegende Authentifizierung on OpenKM vom Tomcat gemacht wird. Dieser muss also eine LDAP-Konfiguration bekommen. Hat man diese am laufen, muss aber dennoch OpenKM selber noch eine eigene Konfiguration haben. Damit holt es dann weitere Infos wie Mailadresse, Klarname, etc. aus dem LDAP.

Man schreibt also einen Teil der Konfiguration in die Datei '''~OpenKM.xml''' (für den Tomcat) und einen Teil in '''OpenKM.cfg''' (für die eigentliche Applikation).

Wenn man das weiss und ein bisschen weiss, wie LDAP so tickt und wie LDAP-Abfragen aufgebaut sind, kann man am besten das Beispiel unter http://wiki.openkm.com/index.php/Ldap-example1 als Basis nehmen.

Als allerletztes muss man noch darauf achten, das OpenKM-Benutzer in der Gruppe ROLE_USER sein müssen. Also habe ich diese im LDAP noch anlegen müssen. ''(sonst kommt beim Einloggen eine Fehlermeldung "OKM-012015 (GetRootNode)", weil man nicht auf "okm:root" zugreifen darf)''. Bei der Gelegenheit bietet es sich direkt an, auch einem Benutzer die Rolle ROLE_ADMIN zu geben.

Damit der Maileingang funktioniert, muss ein Benutzer übrigens dennoch in der OpenKM-Datenbank angelegt sein. Weiteres siehe im Abschnitt unten zur Mail.

<<
>>== Vorschau ==

Von ganz alleine kann das Programm nur HTML-Dokumente eingebettet anzeigen. Alle anderen Dateiformate werden intern zuerst in das PDF-Format gewandelt. Hierzu benutzt OpenKM das OpenOffice-Paket (als Hintergrund-Server) und einige andere Programme. Diese müssen aber dafür auch installiert sein:

 aptitude install libreoffice libreoffice-l10n-de
 aptitude install imagemagick

Ausserdem wird noch z.B. das Tool pdf2swf benutzt. Das ist zwar eigentlich Teil des Debian-Paketes ''swftools'', aber in der Fehlermeldung habe ich gesehen, das es von einem besonderen Pfad geladen wird. Es ist offensichtlich auch im OpenKM-Paket enthalten. Ein Blick in das Paket zeigte noch mehr Tools. Nun kann man entweder alle diese Pfade anpassen (in OpenKM.cfg) oder folgendermassen den Standard-Pfad gültig machen:

 ln -s /home/openkm/tomcat1/ /opt/openkm


== Mail ==

Die Möglichkeit, [http://www.openkm.com/en/modules-eng/mail-archiver.html Mails zu importieren], scheint es erst seit relativ kurzer Zeit zu geben.

Ein Administrator kann auf dem Tab "Administration" Benutzer anlegen.  Dort ist es dann auch möglich, für den Benutzer Mailkonten einzurichten. Mit meinem Mailserver war dies problemlos möglich. Dies Mails werden dann alle paar Minuten aktuell abgeholt und in eine nach Datum sortierte Ordnerstruktur eingeordnet.

Allerdings werden diese Mails scheinbar nicht wie vollwertige Dokumente behandelt. Sie werden z.B. nicht indexiert und sind daher auch nicht per Suchfunktion zu finden.

Damit ist diese Funktion auf den ersten Blick nicht so sinnvoll. Ich denke jedoch, das der Gedanke eher ist, das Mails so automatisch dem System hinzugefügt werden und sodann manuell zugeordnet werden sollen. D.h. man kann sie dann "zur Ablage" in ein entsprechendes Verzeichnis der Taxonomie (so heisst das gemeinsame Hauptverzeichnis der abgelegten Dokumente) verschieben. Man kann diesen Schritt natürlich ggf. auch automatisieren (siehe nächster Abschnitt).


== Automation ==

Eine sehr spannende Möglichkeit ist die sogenannte [http://wiki.openkm.com/index.php/Automation Automation] von OpenKM. Man kann als Administrator Regeln vorgeben, die automatisch ausgeführt werden, wenn bestimmte Bedingungen erfüllt sind.

Das bedeutet z.B., das man, wenn man in ein Unterverzeichnis "Kunden" eine Datei neu einstellt (Event), deren Titel das Wort "Angebot" enthält (Validator), diese Datei automatisch die Kategorie "Angebot" zugeordnet bekommt (Aktion). Natürlich gibt es etliche andere Events, Validatoren und Aktionen.

Aus mir nicht ganz verständlichen Gründen ist die Automation standardmäßig nicht aktiviert und muss erst [http://wiki.openkm.com/index.php/Enable_automation mit ein paar SQL-Befehlen eingeschaltet] werden.

Die Automation kann man auch selber erweitern. Einerseits kann man komplett neue Aktionen in Java programmieren (siehe [http://wiki.openkm.com/index.php/Extension_Guide Extension Guide], insbesondere auch [http://wiki.openkm.com/index.php/Extend_automation_6.4 Extend Automation]). Andererseits dürfte es in den meisten Fällen völlig ausreichend sein, das [http://wiki.openkm.com/index.php/Scripting_-_OpenKM_6.2 Skripting] zu benutzen. Skripte werden in Beanshell geschrieben und können einige [http://wiki.openkm.com/index.php/Automation_events_table Variablen] benutzen, die entsprechend der Events gesetzt werden.

Es gibt einige schöne Beispiele für Skripte im Wiki (auch auf der etwas älteren [http://wiki.openkm.com/index.php/Scripting_-_OpenKM_5.1 Scripting-Seite zu OpenKM 5.1]) sowie in den Foren. Ich selber benötige eine Automation, um Mails anhand eines bestimmten zu erkennenden Musters in bestimmte Ordner und Kategorien einzusortieren. Dazu gibt es bereits eine [http://forum.openkm.com/viewtopic.php?f=6&t=5360&start=15 Lösung im Forum], die ich bei Gelegenheit ausprobieren und anpassen möchte.


== OCR ==

<<Die Indexierung der Inhalte läuft automatisch alle 5 Minuten im Hintergrund an. Es kann also gut sein, das man nach einem nagelneuen Dokument noch nicht sofort suchen kann. Außerdem muss es einen sogenannten TextExtractor für das benutzte Dateiformat geben. Für die meisten Formate ist das enthalten und man kann sodann nach dem kompletten Inhalt suchen. Für reine eingescannte Bilder geht das aber leider nicht sofort. Dazu braucht man noch ein OCR-Programm.

>>~OpenKM erlaubt es, verschiedene Programme zum OCR (Optical Character Recognition) [http://wiki.openkm.com/index.php/Third-party_software_integration:_OCR einzusetzen]. Hiermit kann man eingescannte Dokumente "lesen" und auch für die Suche indexieren.

<<DasDAs>> beste freie Programm ist wohl [http://wiki.openkm.com/index.php/Tesseract Tesseract]. Wer es perfekt möchte, kann aber auch das kommerzielle Abby einbinden.<< Ich habe es so gemacht:>>

<<Bisher>> << aptitudehabe>> <<installich>> <<tesseract-ocrselber>> <<tesseract-ocr-deu

Dann
OCR
>> <<mussnoch>> <<mannicht>> <<ein paar Einstellungen in der Konfiguration im Administrator-Fenster anpassen (nicht in OpenKM.cfg):ausprobiert.>>

<<  system.ocr = /usr/bin/tesseract ${fileIn} ${fileOut} -l deu
<<  registered.text.extractors (hinzufügen:) com.openkm.extractor.Tesseract3TextExtractor

== WebDAV ==

Das WebDAV Protokoll erlaubt es, mittels normalen Filezugriffen auf den Dokumentbaum zuzugreifen. Dabei kann man entweder im Filebrowser des Linux-Systems eine "dav:" oder eine "http:"-URL eingeben oder man benutzt davfs, um den Baum direkt auf Filesystemebene einzubinden.

Jeder Schreibzugriff an einer Datei im Baum erzeugt eine neue Version, so das man später die Geschichte eines Dokumentes rekonstruieren kann. So hat man z.B. Zugriff auf alte Versionen von Verträgen etc.

Auch hier gibt es im Wiki eine [http://wiki.openkm.com/index.php/WebDAV_access Anleitung für WebDAV]. Dieses muss zuerst freigeschaltet werden. Übrigens steht dort, das man die entsprechende Property in der Administrator-Ansicht des Programmes eingeben soll und nicht in die Konfigurations-Datei. ''(Das hatte ich zuerst überlesen, was mich eine Stunde extra gekostet hat.)'' Sobald man das gemacht hat, kann man die angegebene URL z.B. in Thunar (oder jedem anderen guten Dateiexplorer) eingeben und fertig.


== CMIS ==

Auch per CMIS-SChnittstelle kann man auf den Dokumentenbaum zugreifen. Bei CMIS handelt es sich um eine standardisierte Schnittstelle, um auf Dokumentenmanagement-Systeme zuzugreifen. Hier bietet es sich also an, eigene Erweiterungen zu programmieren. IN Java benutzt man hierzu als Bibliothek am besten Apache Chemistry.

Ein wichtiges Programm hat allerdings bereits eine CMIS-Schnittstelle. Und zwar kann man mit OpenOffice (bzw. LibreOffice) direkt per CMIS auf das System zugreifen. Das erlaubt, aus dem Office-Programm heraus Dokuemente auszuchecken (d.h. für andere zu sperren), zu bearbeiten und dann als neue Version (ggf. mit entsprechendem Versions-Kommentar) wieder einzustellen. Damit das funktioniert, muss man übrigens LibreOffice auf den eigenen Datei-Requester einstellen. Der Rest ist dann einfach, aber im Wiki und in einem Erklärvideo auch nochmal gut erklärt.