Die Idee zu JooDatabase entstand, als wir für einen Kunden drei Datenbanken in eine Webseite einbauen sollten. Alle drei Datenbanken waren ähnlich aufgebaut und der Basiscode immer gleich, lediglich das Layout war unterschiedlich.

Ziel war es daher, eine Komponente zu entwickeln, die beliebige Tabellen erfasst und im Frontend in drei Ansichten (Katalog-, Einzel- und Druckansicht) ausgibt. Die Ansichten sind im Backend beliebig veränderbar. Das Content Management System Joomla benutzt ein „Component Model View" - Verfahren, bei dem die eigentliche Ausgabe der Daten durch Templates erfolgt. Die Tabellenfelder sowie spezielle Elemente wie Suchfelder, Seitenblätter-Formulare oder Druckfunktionen werden automatisch an die gewünschte Position eingefügt. Hierfür benutzt man sogenannte Platzhalter (z.B. {joodb feldname}), die man auch aus Template Engines kennt.

Template

Mit JooDatabase kann man einfache Datensammlungen, die aus einer Tabelle bestehen, wie z.B. Bücherkataloge und CD-Listen professionell verwalten. Voraussetzung ist, dass die Tabelle mindestens einen Index (Primärschlüssel), ein Titelfeld und ein Textfeld mit Beschreibung enthält. Wenn die Datensammlung in der Datenbank vorhanden ist, installiert man die JooDB-Komponente, wählt die Tabelle und Hauptfelder aus und legt zum Schluss einen Menüpunkt mit Katalogansicht an.

joodb daten k

Ein Suchplugin ermöglicht die systemweite Suche mit der Joomla Suchfunktion. JooDatabase kümmert sich auch um das Routing zwischen den Seiten.

Neu in Version 1.5

Seit Ende September ist Version 1.5 verfügbar. Die neue Version bietet etliche Erweiterungen und neue Funktionen.

Hier nur einige der neuen Funktionen:

  • Über ein einfaches Rechtemanagement können die Ansichten in der Webseite gesperrt werden, damit sie nur angemeldeten Benutzern zugänglich sind.
  • Zu jedem Datensatz kann ein Bild gespeichert und über eine Funktion im Template ausgegeben werden. Die Bilder werden automatisch skaliert und mit Voransicht versehen.
  • Eine Formularansicht ermöglicht es, neue Einträge durch die Benutzer zu empfangen. Ein Freigabe-Feld sorgt dafür, dass neue Einträge nicht automatisch sichtbar sind.

Warum machen wir das?

In die Entwicklung von JooDatabase sind mehrere hundert Stunden geflossen. Für einen kleinen EDV-Betrieb ist das eine erhebliche Investition, die sich kaum direkt bezahlt macht. JooDatabase ist kein Abfallprodukt aus der Entwicklung. Die Anforderungen an unsere Projekte sind meist komplexer, so dass wir die Komponente nicht verwenden können. Wir haben uns aus verschiedenen Gründen für die Entwicklung der OpenSource Datenbankkomponente entschieden.

  • Wir profitieren selbst im hohen Maße durch OS-Programme, die wir für die tägliche Arbeit, die Entwicklung und auf den Servern und Webseiten unserer Kunden einsetzen. Joomla, Eclipse, OpenOffice, Ubuntu und Debian sind nur einige der OpenSource Produkte die wir täglich verwenden. Ohne OpenSource wären viele Projekte nicht oder nur eingeschränkt realisierbar bzw. erheblich aufwändiger und teurer.
  • Die bei der Entwicklung von OpenSource-Komponenten gemachten Erfahrungen und Teile des Codes fließen in unsere kommerziellen Projekte ein.
  • Durch das Engagement im OpenSource-Bereich erhalten wir Reputation und Kontakte zu potentiellen Kunden und anderen Entwicklern.

Ein Problem für uns ist jedoch der Support. JooDatabase, unser „Wetter" - Modul oder auch unser „feencaptcha" sind zigtausend mal im Einsatz.

Downloads Stand Oktober 2010:
JooDB wurde 13500 mal heruntergeladen
Google Wetter (Plugin und Modul zusammen) wurde 28700 (!) mal heruntergeladen

Die Wünsche und Fragen der Nutzer nehmen wir natürlich gerne auf und lassen sie in die Entwicklung einfließen. Eine individuelle (kostenlose) Beantwortung von Fragen ist aber nicht möglich. Gerade JooDatabase ist sehr komplex und erfordert bei der Einrichtung ein gewisses Maß an Wissen über Datenbanken und HTML-Programmierung. Wir denken daher darüber nach, in Zukunft eine kostenpflichtige Version von JooDatabase anzubieten, die neben Support auch noch erweiterte Funktionen wie verknüpfte Tabellen und beliebige Dokumente enthält.

Weitere Informationen / Download