|
dbXwebApp ist ein Content-Management-System und PHP-Framework zum Erstellen von Online-Anwendungen. Das PHP Application Framework ist modular aufgebaut und stellt die benötigte Grundfunktionalität zur Verfügung. dbXwebApp ist open source und kostenlos verfügbar.
Grundlegende Funktionsweise[]
Schwerpunkt von dbXwebApp ist die Nutzung als Application-Framework. Es wird überwiegend als Plattform für individuelle Anwendungen genutzt.
dbXwebApp arbeitet als Application Controller. Es gibt nur einen Script-Aufruf, der anhand von Parametern und Templates die weitere Verarbeitung steuert. dbXwebApp hat Merkmale einer online IDE. Es lassen sich alle Bereiche online bearbeiten, auch Design-Vorlagen, CSS-Dateien, Templates, PHP-Sourcen und Datenbank-Definitionen. Über den mit Plugins erweiterten Online-Editor TinyMCE lassen sich alle Module visuell einfügen.
Das System lädt zuerst ein aktives Modul und dann ein Design-Template. Das aktive Modul und das Design-Template können weitere Modulaufrufe und Templates beinhalten. Das System scannt den Content, wertet alle Modulaufrufe aus und ersetzt dann diese mit den Rückgabewerten der jeweiligen Module. Das System beinhaltet auch Caching und Suchmaschinenoptimierung.
Design[]
Das jeweils geladene Design-Template, eine HTML-Seite mit HEAD und BODY, definiert den grundsätzlichen Aufbau der Ausgabe. Einzelne Elemente werden über die eingebundenen CSS-Dateien gestylt. CSS-Dateien lassen sich dynamisch hinzufügen. Inhalte nutzen Templates, die wiederum die Gestaltung der jeweiligen Teil- bzw. Modulausgabe stylen. Das System kann mit verschiedenen Designs gleichzeitig betrieben werden.
Templates und Template-Variablen[]
Jedem Inhalt kann ein individuelles Template zugewiesen werden. Bei den Templates sind Nutzer nicht an Vorgaben gebunden, sie können den HTML-Code einer Seite frei definieren. Die Templates beinhalten keine Programmlogik und bestehen nur aus HTML (xHTML). Innerhalb von Templates können weitere Templates includiert werden und die Module an jeder Stelle aufgerufen werden. Module und Variablen werden in den Templates mittels einer Platzhalter-Notation eingebunden.
DataDictionarys[]
dbXwebApp verwendet eigene DataDictionarys. Nahezu alle db-Funktionen nutzen diese DataDictionarys. In den DataDictionarys werden neben der Struktur der db-Tabellen die Berechtigungen für das Erstellen, Ändern und Löschen von Datensätzen und Dateifeldern festgelegt. Validieriung, HTML-Erstellung und automatische Funktionen können in den DataDictionarys festgelegt werden. Das System arbeitet dabei datensatzbezogen.
Module[]
Es gibt frei verfügbare Module für dbXwebApp. Alle Module werden einheitlich administriert und können konfiguriert werden. Neue Module können vom System automatisch erstellt werden. Durch das Modul dbx_jquery lassen sich Effekte und Ajax-Funktionen ohne PHP oder JavaScript nutzen. Modulausgaben können auch als DHTML erfolgen und sind dann in ihrer Gestaltung und Positionierung durch berechtigte Benutzer dynamisch änderbar.
AddOns[]
Neben den Modulen gibt es Add-ons, die in das System integriert sind.
- tinymce (online WYSIWYG Editor mit diversen Plugins)
- kfm (Dateimanager mit UpLoad, Bild- , Source, TPL, Text- und HTML-Bearbeitung)
- MySQLDumper (Datenbank Backup-System und SQL-Browser)
- html2pdf (Umwandlung von HTML-Ausgabe zu PDF-Ausgabe)
Sicherheit[]
Eingaben werden von dbXwebApp automatisch gefiltert. Dabei wird schädlicher Code entfernen. Die Eingaben werden auch automatisch auf Plausibilität, Type und Größe geprüft. Durch die Zuordnung von Benutzergruppen kann die Eingabemöglichkeit von HTML-Code eingeschränkt werden. dbXwebApp überprüft den Zugriff auf System-, Modul-, Formular-, Datensatz- und Feldebene. Die Möglichkeit, einzelne Inhalte angezeigt oder bearbeiten zu dürfen, kann bis auf Datensatz-Feld-Ebene eingestellt werden. dbXwebApp nutzt ein eigenes Session-System. Neben einer verschlüsselten Session-ID werden alle Sessions auch an die jeweilige IP des Benutzers gebunden.
Weblinks[]
- Offizielle Website (deutsch und teilw. englisch)
Dieser Wikipedia-Artikel wurde gemäß GFDL bzw. CC-by-sa mit allen Versionen importiert. |