Data-Management


Bei dbXwebApp liegt der Schwerpunkt auf ein schnelles, einfaches und sicheres Verwalten, Bearbeiten und Anzeigen von Daten in verschiedenster Form.

Alle Formulare, jede Liste, kann im online WYSIWYG-Editor komplett visuell erstellt / bearbeitet werden. Alle Datenbankzugriffe laufen grundsätzlich über die integrierten Data Dictionarys.

Diese Data Dictionaries stellen diverse automatische Funktionen zur Verfügung. Auch sorgen sie für eine genaue Prüfung der Berechtigung und der formalen Korrektheit der Daten.

Die Berechtigung, wer was sehen, wer was bearbeiten darf, kann bis auf Datensatz Feld-Ebene eingestellt werden.

Die Data Dictionaries arbeiten ereignisorientiert und führen bei den jeweiligen Ereignissen (Datensatz speichern, löschen, u.s.w.) eigenständig alle damit verbundenen Funktionen aus.

Zum Kern von dbXwebApp gehört auch ein leistungsfähiger Report-Generator. Datensätze lassen sich beliebig "verschachtelt" anzeigen. Zwischensummen, eingeblendete Details u.s.w. sind dabei kein Problem.

Bei der Gestaltung von Listen und Formularen haben Sie völlige Freiheit. Alle Listen und Formulare basieren auf Templates, die aus "purem" HTML (xHTML) bestehen.

Beispiel: Template Formular Adressdaten:

Adress Formular edit

Im Modul dbx_user wird für das Anzeigen des Adressformulars mit den Daten des jeweils aktiven Benuzers eine Funktion aufgerufen.
001 public function adress() {
002    global $current_user;
003    $uid=$current_user['current_user__id'];
004    $content=dbx_get_DataPage(2,"dbx_user",$uid); 
005    return $content;    
006 }  





Beispiel: Template Liste Benutzer:
report user

Jedes Template kann je nach Verwendung automatisch Funktionen ausführen. Hier z.B dbx_check_online({dbx_user__id});
Der Platzhalter {dbx_user__id} wird automatisch mit der ID vom jeweils aktiven Datensatz ersetzt.

Diese Funktion (on_Report) wird für jeden Datensatz (Benutzer) ausgeführt und setzt die Variable $_dv['online'] mit den dem HTML-Code für ein grünes oder rotes Bild. Je nachdem ob der User online oder offline ist.
001 function dbx_check_online($userid=0) {
002   global $_dv;
003   $dbx_tab   "dbx_user_session";
004   $dbx_where "userid=$userid";
005   $count dbx_get_count_Select($dbx_tab,$dbx_where);
006   $anz="";
007    if (!$count){ // Offline
008      $online "<img src="design/-share/icons/inactive.gif" alt="offline" />";
009    } else { // Eintrag user online
010     if ($count>1$anz=" ($count) "// User können auch gleichzeitig mit versch. Sessions online sein
011       $online "<img src="design/-share/icons/active.gif" alt="online" />$anz";
012     }
013     $_dv['online'] = $online;
014 }


Aufruf dieser Liste:
[modul=dbx_report]dbx_report_modul=dbx_useradmin&dbx_report_pid=1&dbx_report_tab=dbx_user&override=1&dbx_rorder=id&dbx_rsort=DESC&dbx_rrows=50[/modul]
Durch diesen Aufruf wird das Modul dbx_report activiert und das Template mit der ID 1 vom Modul dbx_useradmin genutzt.
Die db-Tabelle dbx_user wird gelistet. Diese Parameter sind fix und lassen sich nicht mit POST oder GET Werten verändern.
Die Parameter dbx_rorder, dbx_rsort und dbx_rrows stehen hingegen nach override=1 und lassen sich dadurch durch entsprechende POST oder GET Parameter dynamisch ändern. Das ermöglicht es z.B., dass der Benutzer bei der Anzeige der Liste die Sortierung auswählen und ändern kann.

Das Ergebnis dieser Liste:

report user show


Für die Verwaltung sehr großer Datenbestände besitzt dbXwebApp eine Integration leistungsfähiger Tools, wie z.B. den MySqlDumper.


dbXwebApp
ist grundsätzlich darauf ausgelegt auch verschiedene Datenbanken gleichzeitig nutzen zu können.
In der Standart-Version benutzt das System MySQL als Datenbank. Das System nutzt dafür eine Datenbank-Wrapper-Class, die bei Bedarf durch beliebig andere Datenbanken (Oracle,Postgres u.s.w.) ersetzt werden kann.