Baukastenprinzip

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

<-- zurück zu Kurzanleitungen / <-- zurück zur Hauptseite-Portale


Ein PHP basiertes Datenmanagement-Werkzeug

Schon immer war es eine schwere Aufgabe Limbas in wenigen Sätzen zu beschreiben. Ob Contentmanagement, Dokumentenmanagement oder Workflow, durch seine Vielfalt an Funktionen kann LIMBAS verschiedenste Aufgaben übernehmen und in immer neue Rollen schlüpfen. Dieser Artikel soll einen kleinen Überblick dieser in PHP geschriebenen Serverapplikation geben.

Überblick

Grundsätzlich besteht LIMBAS ähnlich wie Access aus einigen Grundfunktionalitäten wie Tabellenmanagement, Formular oder Berichtsgenerator sowie Diagramm- oder Workflowfunktionen, die dynamisch miteinander zu beliebigen Produktlösungen modelliert werden können. Dabei beinhaltet das komplett Datenbank basierte System eine bereits integrierte User/Gruppenverwaltung, ein Dokumentenmanagement sowie diverse Groupwarefunktionalitäten. Durch dieses Baukastenprinzip lassen sich so gut wie alle Geschäftsprozesse in kurzer Zeit modellieren und abbilden.

Die Ausführung im Browser erlaubt eine flexible Handhabung. Trotz Verzicht auf jegliche Plugins oder Java kann die Erstellung der jeweiligen Bausteine durch drag&drop oder AJAX Funktionalitäten schnell und einfach geschehen.

Die technischen Voraussetzungen sind unter anderem ein Unix-Betriebssystem mit Apache-Server, PHP und einer unterstützten Datenbank wie Postgres.

Das unter der GPL V2 Lizenz stehende Projekt wird für alle gängigen Browser entwickelt.

Kernfunktionen

Im Folgenden werden die Hauptfunktionalitäten von LIMBAS ein wenig genauer betrachtet. Die Kernfunktionen bestehen aus Tabellen, Formularen, Berichten, Workflow und Dokumenten-Verwaltung, wobei die Tabelle den Anfang aller Dinge markiert. Mit Formularen kann die Darstellung der Tabellen individuell modelliert werden. Berichte veröffentlichen die gespeicherten Daten als PDF. Die Dateifunktionen sind allgegenwärtig und können modular in die Arbeitsabläufe integriert werden. Der Workflow rundet die vorhandenen Funktionalitäten ab und ermöglicht die Erstellung von Arbeitsprozessen. SOAP und WEBDAV Schnittstellen erlauben eine sichere Nutzung oder Veröffentlichung der Dateninhalte auch außerhalb der LIMBAS Umgebung.

Datenmodellierung

Das Erstellen von Tabellen und ihre Verwaltung gestaltet sich auf den ersten Blick einfach. Bei genauerem Hinsehen erkennt man aber die mögliche Vielfältigkeit und damit verbundene Komplexität, die es erst erlaubt größere Projekte umzusetzen.

Neben Tabellen können auch andere Typen, wie z.B. Kalender, Kanban, E-Mail oder Abfrage, angelegt werden, welche aber im Hintergrund wiederum eine Tabelle benutzen. Jede Tabelle kann mit Feldern eines bestimmten Feldtyps bestückt werden. Neben den Standardtypen wie Text, Zahl oder Boolean existieren auch über 20 erweiterte Feldtypen, die es ermöglichen, die am häufigst gebrauchten Funktionen schnell zu integrieren. Dazu gehören unter anderem Auswahlfelder, Datei-Uploads, PHP-/SQL-Argumente oder Verknüpfungen. Zusätzlich lassen sich selbst entwickelte Erweiterungen und eigene Feldtypen einfach einbinden.

Eine erstellte Tabelle kann nun mit Hilfe des Rechtesystems für Benutzer-Gruppen freigegeben werden. Die Rechte werden ausschließlich auf Gruppen angewendet und nicht auf User. User können dabei in mehreren Gruppen liegen und die Rechte der Untergruppen sind vererbbar. Zusätzliche mögliche Gruppenfunktionen/Einstellungen wie Defaultwerte, Pflichtfelder, Versionierung oder Trigger runden die Funktionsvielfalt ab.

Hat man die erforderlichen Tabellen erstellt und mit Rechten belegt, können sie nach einem Session-Reset vom User im Arbeitsplatz genutzt werden. Daten können jederzeit gefiltert, sortiert und gruppiert werden. Das Layout von Tabellen kann man komplett verändern und als Snapshot automatisch in die eigene Umgebung als neuen Menüpunkt integrieren. Verknüpfungen können über ein „plus“ a la Access aufgepoppt werden.

Darstellung

Formulare ermöglichen eine weitere individuelle Gestaltung der Tabelleninhalte. Die Form der Datenansicht wird insbesondere in der Detailbearbeitung von Datensätzen durch automatisch generierte Formulare unterstützt. Auch hier kann der Anwender ohne grafische Einschränkung und HTML-Kenntnisse eigene Formulare erstellen, bearbeiten und anpassen. Sie können in LIMBAS mit Drag&drop auf einfachste Weise erstellt und angepasst werden. Es werden so gut wie alle in CSS möglichen Formatierungen unterstützt.

Es sei erwähnt, dass die meisten Elemente wie Spalten, Design-, Workflow-, Berichts- und Datenmodelierungtools mit der Drag`n Drop -Technik zu erstellen und zu ändern sind. Ebenso können neue Layouts von LIMBAS inkl. aller Menüpunkte, Frameset und Farbschema erstellt und den Benutzern zur Auswahl angeboten werden.


Der Berichtsgenerator ist in der Handhabung identisch mit dem Formulargenerator. Die Ausgabe erfolgt lediglich als PDF. LIMBAS nutzt dazu die fpdf/fpdi (bzw. tfpdf für UTF-8) Bibliotheken mit deren Hilfe eine hohe Performance in der Generierung erreicht wird. Der Berichtsgenerator unterstützt unter anderem neben Kopf und Fuß auch einen definierbaren Seitenumbruch, relative und absolute Element-Positionierung, Tabellen, Berechnungsfunktionen, Grafikmanipulationen, Transparenz und Vektorelemente.

DMS

Das integrierte Dateisystem basiert wie alle Module auf den von LIMBAS selbst erstellten Tabellen. Das Dateisystem und die Metadaten der Dateien werden also in einer Tabelle verwaltet, welche mit LIMBAS nach belieben angepasst werden kann. Die Dateien selbst sind unter verschlüsseltem Namen in einem geschützten Ordner gespeichert. Wie auch die Tabellen können Dateiordner mit Rechten belegt und Metadaten mit eigenen Formularen dargestellt werden.

Eine automatische Volltextindizierung ermöglicht eine Suche in Text, Word, PDF oder HTML/XML Dateien. Dazu bietet LIMBAS ein Suchmaschinen-Layout, das die Ergebnisse analog zu den bekannten Suchmaschinen darstellt. Darüber hinaus können Dateien versioniert und übersichtlich verglichen werden.

Zusätzlich verfügt LIMBAS über eine WEBDAV Schnittstelle, welche ebenfalls die Rechtevergabe berücksichtigt und eine Nutzung der Dateisystems mit gewohnten Dateibrowsern wie Konqueror, Dolphin oder Windows Explorer ermöglicht.

Workflow

Der Workflow, noch in seiner ersten Version, kann fest definierte Abläufe bereit stellen. Das Erstellen von Workflows ist über einen Designer möglich. Allerdings bedarf es noch einiges Hintergrundwissens um erfolgreich Workflows erstellen zu können.

In einer der nächsten Release von LIMBAS wird die zweite Version des Workflow-Designer Parallel-Tasking erlauben, in dem mehrere zeitgleiche Zustände, Parameter, Rechte und Regeln zur Steuerung von dynamischen Prozessen zusammengefasst und automatisiert werden können.

Schnittstellen

Neben WEBDAV existiert noch eine SOAP - Schnittstelle. Mit Ihrer Hilfe lassen sich getrennt vom LIMBAS-Server Daten schnell in eigenen Anwendungen nutzen. Die Funktionalität der Schnittstelle wächst von Release zu Release und umfasst zur Zeit die wichtigsten Tabellenfunktionen sowie Teile des Dateisystems. Beispiele zur Nutzung wären Shops oder auch Suchmaschienenfrontends, die eine personalisierte Recherche von Dokumenten darstellt. Projekte dieser Art wurden mit LIMBAS schon umgesetzt und umfassen mehrere Hunderttausend Dokumente auf vergleichsweise kleiner Hardware.

Typo3

Die sehr kleine und sich erst jetzt langsam bildende Community plant derzeit ein universelles Typo3 Plugin. Bisher ist ein Datenaustausch nur über das Soap-Protokoll erfolgt. Diese Erweiterung soll einerseits die Funktionalitäten des Formulardesigners Typo zu Verfügung stellen und außerdem Daten aus LIMBAS dynamisch zur Verfügung stellen. Typo3 oder andere Contentmangement Systeme ergänzen sich mit LIMBAS für eine effektive Datenhaltung und Veröffentlichung. Beispiele so einer Zusammenarbeit sind die Nutzung von Typo3 als Oberfläche und Website mit der Möglichkeit über Formulare Daten zu erfassen. Über SOAP werden diese Daten in LIMBAS gespeichert und können nunmehr dort verwaltet und auch wieder über Suchanfragen zu Typo3 zurückgesendet werden. In komplexeren Szenarien wären Shops oder ganze Portale zu nennen deren Daten bequem mit LIMBAS bis zur Ausgabe der Rechnung als Bericht oder der grafischen Einkaufs-Statistik ausgewertet werden können.

LIMBAS in der Praxis

Über die klassischen Module Tabellen, Formulare und Berichte lassen sich die üblichen Anwendungen, welche man von Access und Filemaker gewohnt ist, umsetzen. LIMBAS findet seine Nische als Webapplikation dort, wo SAP, Navision und Konsorten zu teuer sind, wo Problemstellungen nicht allzu komplex aber Access nicht mehr ausreichend ist.

Bisher ist LIMBAS im Pharmabereich als Produkt und Dokumentenverwaltung im Einsatz, als Buchungssystem beim Film, mehrfach als Call-Center Applikation oder als DMS, als Raumplanungs-Werkzeug, ERP im Marketingbereich, CRM im kleinen Rahmen, Tantiemen-Modul im Musik-Berich öffentlicher Einrichtungen, Archiv-Datenbank für spezielle Belange u.v.m.

Zielgruppen

Die Liste der Zielgruppen ist lang. Nehmen wir alle mittleren und kleinen Unternehmen die Ihre Geschäftsprozesse neu abbilden wollen, Kommunen die Ihre Flut an Daten einfach verwalten und mit Content-Managementsystemen wie Typo3 veröffentlichen oder Access-Entwickler die Ihre Applikationen auf einer offenen Plattform umsetzen wollen. Durch seinen Portal-Charakter bietet LIMBAS ein flexibles Baukastensystem für all jene die auf Browsertechnologie setzen aber auf hohe Performance und Usibility nicht verzichten können.

Fazit

Trotz der großen Funktionsvielfalt hat LIMBAS noch in einigen Bereichen Lücken. Der größte Wermutstropfen ist unbestreitbar der Mangel an ausreichender Dokumentation. Dies beginnt schon mit der Installation. Trotzdem versuchen die Entwickler alles um den Umgang mit LIMBAS so einfach wie möglich zu gestalten. Ab Version 1.9 werden neben der gut angenommenen LIVECD Beispielsweise vollständige RPMs zu Verfügung gestellt. Wichtigster Aspekt ist die permanente Weiterentwicklung und Pflege des Opensource-Produkts. Das Projekt soll langfristig im Markt etabliert werden. Dies kann allerdings nur mit Hilfe einer Community realisiert werden, dessen Aufbau die größte Herausforderung für das Jahr 2007 sein wird.