Ein wesentlicher Bestandteil von dbXwebApp sind die Data Dictionarys
Ein Data Dictionary (DD) ist ein Verzeichnis, das Informationen über die Strukturen von Daten, ihre Eigenschaften sowie ihre Verwendung enthält¸ also sogenannte Metadaten speichert. Durch im DD festgelegte Regeln (Funktionsaufrufe) wird auch die Datenintegrität unterstützt.
Die Informationen über die Daten (Meta-Daten) holt sich dbXwebApp automatisch aus dem jeweiligen Data Dictionary.
Neben Feldtype und Größe können in den dbXwebApp Data Dictionarys auch Vorgabewerte und Validations-Regeln festgelegt werden.
Auch werden in den dbXwebApp Data Dictionarys die Lese/Schreib und Löschrechte für die Tabelle und bei Bedarf auch für einzelne db-Felder festgelegt.
Bild: Ansicht DataDictionarys Übersicht.

Jedes Data Dictionary kann bei den verschiedenen Ereignissen (Datensatz lesen, erstellen,ändern,löschen) automatisch verschiedene Funktionen aufrufen.
Bild: Ansicht DataDictionary (dbx_events)

Berechtigungen (HTML-Level, lesen und schreiben) können bis hinunter auf Feldebene festgelegt werden.

Für Standardaufgaben gibt es in dbXwebApp vorgefertigte Funktionen.
In den DataDictionarys können Sie für jedes Dateifeld verschiedene Validierungs Funktionen angeben. Diese Funktionen werden dann
beim Speichern eines Datensatzes automatisch ausgeführt. Sollte eine der Validierungs-Funktionen 0 (false) als Ergebnis zurückgeben wird
der Speicher-Vorgang nicht durchgeführt und das Eingabeformular mit der entsprechenden Fehlermeldung angezeigt.
Validierungs-Funktionen:
- dbx_field_validate_email($msg,$err=1);
- dbx_field_validate_ge_now($msg,$err=1);
- dbx_field_validate_between($minval,$maxval,$msg,$err=1);
- dbx_field_validate_eq($val,$msg,$err=1);
- dbx_field_validate_lt($maxval,$msg,$err=1);
- dbx_field_validate_gt($minval,$msg,$err=1);
$msg ist dabei die ID des Datensatzes der db-Tabelle dbx_message. In dieser Tabelle werden die Fehlermeldungen definiert, die Angezeigt werden sollen.
$err ist Standard mäßig 1. Das Bedeutet, dass im Fehlerfall die db-Operation abgebrochen wird.
$minval ist der Mindestwert und $maxval der Maximalwert der jeweiligen Eingabe.
Beispiel:
dbx_field_validate_between("1970","2008",3);
Bedeutet das die Eingabe in dem Feld einen Wert zwischen 1970 und 2008 haben muss. Im Fehlerfall wird der Datensatz nicht gespeichert. Das Eingabeformular wird erneut mit den fehlerhaften Eingaben angezeigt und die Fehlermeldung mit der ID 3 wird angezeigt.
Auch wird das Eingabefeld mit fehlerhafter oder fehlender Eingabe (je nach Validierungs-Funktion) automatisch farblich markiert.
Das System erkennt automatisch ob Formulardaten mehrfach abgesendet wurden (reload / F5) und führt in einen solchen Fall die db-Operationen nicht ungewollt mehrfach aus.
dbXwebApp ist in sich und durch die konsequente Verwendung von DataDictionarys ein PHP System, was sich deutlich vom Mitbewerb abhebt.
UID=1 Restzeit=* Sec - dbXwebApp Sprache: de Design: default Vers: 2.1.b (c) 2006-2008 - PCeinfach.de - (Speed=0.89096 Sec Querys=6 Cache=1 )
0.00026 :***SYSTEM-START***
0.08679 :***install_check***
0.08709 :***System load _config***
0.08714 :* dbx_get_SysVar(fca = 0) *
0.08718 :* dbx_get_SysVar(xedit = 0) *
0.08721 :* dbx_get_SysVar(clear = 0) *
0.08724 :* dbx_get_SysVar(design = ) *
0.08727 :* dbx_get_SysVar(language = ) *
0.09302 :***system_init***
0.09308 :# dbx_init #
0.09311 :# MySQL init Server=localhost Database=usr_web0_1 #
0.09313 :# dbx_init # Config loaded #
0.09515 :# dbx_init # MySql loaded #
0.09976 :# dbx_init # MySql connected #
0.09979 :# dbx_SessionInit=begin (1-iWyjptjv6vliwPc1) #
0.24451 :# Load Kernel Class dbxSession
0.24459 :# SESSION INIT START (1-iWyjptjv6vliwPc1) #
0.24467 :* dbx_get_SysVar(design = ) *
0.24469 :* dbx_get_SysVar(language = ) *
0.24471 :# SESSION CHECK (1-iWyjptjv6vliwPc1) #
0.24475 :*GET DB SESSION-RECORD SID=(1-iWyjptjv6vliwPc1) UID=(0) REMAP=(0) *
0.24492 :# MySql Query=SELECT * FROM dbx_dbx_user_session WHERE ((session_id = '1-iWyjptjv6vliwPc1') and (ip='38.103.63.59')) LIMIT 1
0.24567 :* Session (1-iWyjptjv6vliwPc1) not found *
0.24570 :# SESSION 1-iWyjptjv6vliwPc1 NOT FOUND #
0.24575 :# Settings Modul dbx_sessions Load=/home/www/web0/html/dbxwebapp.org/modules/dbx_sessions/config/_config.php
0.24598 :# Settings Load=/home/www/web0/html/dbxwebapp.org/modules/dbx_sessions/config/_config.php
0.24639 :# Settings Return=dbx_sessions,s_remap=1 #
0.24643 :# Settings Return=dbx_sessions,s_trackid= #
0.24646 :*GET DB SESSION-RECORD SID=(?) UID=(1) REMAP=(1) *
0.24654 :# MySql Query=SELECT * FROM dbx_dbx_user_session WHERE ((userid = 1) and (ip='38.103.63.59')) LIMIT 1
0.24729 :* dbx_set_SysVar(update_session_rid,1970) *
0.24745 :#* Session remap found sid=(1-l9coocfrsg79X2wr) *#
0.24747 :* dbx_set_SysVar(design,default) *
0.24749 :* dbx_set_SysVar(language,de) *
0.24757 :# MySql Query=SELECT * FROM dbx_dbx_user WHERE (id = 1)
0.24802 :PHPIDS check_globals XEDIT=0 HTML=0
0.24809 :GET VAR=left_dbx_menu_id
0.24812 :GET VAR=top_dbx_menu_id
0.24814 :GET VAR=top_dbx_menu_activ
0.24816 :GET VAR=dbx_modul
0.24818 :GET VAR=cid
0.24820 :GET VAR=left_dbx_menu_activ
0.24822 :GET VAR=subtop_dbx_menu_id
0.24824 :GET VAR=subtop_dbx_menu_activ
0.24826 :GET VAR=sessid
0.24833 :**UNSET Var=sessid
0.24837 :**UNSET Var=
0.24840 :# SESSION=1-l9coocfrsg79X2wr Refind=1 Language=de Design=default FCA= RQ= Track==() #
0.24843 :# dbx_SessionInit=1 (1-l9coocfrsg79X2wr) #
0.24845 :***system_run***
0.24849 :* dbx_get_SysVar(popup = 0) *
0.24852 :* dbx_get_SysVar(xedit = 0) *
0.24855 :* dbx_get_SysVar(clear = 0) *
0.24858 :* dbx_get_SysVar(fca = 0) *
0.24862 :*#* CACHE Load Start xedit=0 clear=0 fca=0 PV=0 *#*
0.24870 :* dbx_get_SysVar(language = de) *
0.24872 :* dbx_get_SysVar(design = default) *
0.24875 :* dbx_set_SysVar(language,de) *
0.24877 :* dbx_set_SysVar(design,default) *
0.24882 :#Create Cache ID Modul SYS Menu=1 Return CACHE-ID=1-SYS-fea3d9fcc1b6bbcaede2769bfbd9a68d D=default L=de#
0.24884 :*#* get_cache_content Cache-ID=(1-SYS-fea3d9fcc1b6bbcaede2769bfbd9a68d) PV=(0) *#*
0.24887 :* dbx_get_SysVar(session_create_new = 0) *
0.24890 :* dbx_set_SysVar(update_session_rid,1970) *
0.24892 :*GET CACHE SESSION-RECORD SID=1-l9coocfrsg79X2wr) *
0.24894 :** CACHE NO RELOAD (1-SYS-95424350ef65a318f96d0dab9c0cd7b5) **
0.24896 :** RELOAD Content EMPTY **
0.24899 :# Settings Modul dbx_cache Load=/home/www/web0/html/dbxwebapp.org/modules/dbx_cache/config/_config.php
0.29427 :# Settings Load=/home/www/web0/html/dbxwebapp.org/modules/dbx_cache/config/_config.php
0.29505 :# Settings Return=dbx_cache,s_caching=1 #
0.29508 :** Content Cache xedit=0 clear=0 fca=0
0.29511 :*#* Try Cache **
0.29513 :** Content Cache load 1-SYS-fea3d9fcc1b6bbcaede2769bfbd9a68d ***
0.29518 :# MySql Query=SELECT * FROM dbx_dbx_cache WHERE (cacheid = '1-SYS-fea3d9fcc1b6bbcaede2769bfbd9a68d' ) LIMIT 1
0.29585 :** Cache found **
0.29602 :Cache-ID=(1-SYS-fea3d9fcc1b6bbcaede2769bfbd9a68d) cacheTime=2008-11-21 18:52:03 Cache-Control=Array FCA=0 Time=2008-11-21 18:52:03
0.29606 :** Cache Content Time=2008-11-21 18:52:03 CC=Array
0.29608 :** Cache_control dbx_folder =1
0.29610 :** Cache_control dbx_content =1
0.29612 :** Cache_control dbx_content_folder =1
0.29614 :** Cache_control dbx_pages =1
0.29618 :# MySql Query=SELECT * FROM dbx_dbx_cache_control WHERE (create_date >= '2008-11-21 18:52:03' and (dbx_table='dbx_folder' or dbx_table='dbx_content' or dbx_table='dbx_content_folder' or dbx_table='dbx_pages')) LIMIT 1
0.29632 :<< ** Cache no change ** >>
0.29643 :* dbx_get_SysVar(reload = 0) *
0.29647 :* dbx_set_SysVar(reload,0) *
0.29649 :***system_load_kernel***
0.50631 :*** CACHE LOADED ***
0.50637 :*** RELOAD =(0,0) XEDIT=0 ***
0.50645 :***system_output ncv ***
0.50986 :# Load Kernel Class dbxOutput
0.50992 :* dbx_set_SysVar(in_nocache,1) *
0.56516 :***system_output user ***
0.58699 :***system_output cms ***
0.58727 :# Settings Modul dbx_login Load=/home/www/web0/html/dbxwebapp.org/modules/dbx_login/config/_config.php
0.58763 :# Settings Load=/home/www/web0/html/dbxwebapp.org/modules/dbx_login/config/_config.php
0.62662 :# Settings Return=dbx_login,s_page_name=dbXwebApp #
0.62668 :* dbx_get_SysVar(language = de) *
0.62670 :* dbx_get_SysVar(design = default) *
0.65724 :# Load Kernel Class Date_Time
0.65790 :* dbx_set_SysVar(update_session_rid,1970) *
0.65792 :*GET CACHE SESSION-RECORD SID=1-l9coocfrsg79X2wr) *
0.65796 :* Session Get Var=(cms_roadrunner)
0.65977 :***system_output time ***
0.65989 :***system_output xv ***
0.66142 :***system_output js ***
0.66145 :* dbx_get_SysVar(design = default) *
0.66222 :***system_output filter ***
0.66246 :***system_output url ***
0.66250 :* dbx_get_SysVar(fca = 0) *
0.66253 :* dbx_get_SysVar(language = de) *
0.66255 :* dbx_get_SysVar(design = default) *
0.81531 :***system_output session ***
0.81543 :* dbx_get_SysVar(fca = 0) *
0.81554 :***system_output norep ***
0.81557 :***SYSTEM-OUTPUT***
0.81559 :***CACHE Create=0 RELOAD=0 **
0.81562 :* dbx_get_SysVar(update_session_rid = 1970) *
0.81564 :* dbx_get_SysVar(update_session_upd = 0) *
0.81567 :** UPDATE SESSION-RECORD 1-l9coocfrsg79X2wr UPDATE (ID=1970,UPD=0 Where=(id = 1970) **
0.81574 :* dbx_set_SysVar(update_session_rid,1970) *
0.81577 :*GET CACHE SESSION-RECORD SID=1-l9coocfrsg79X2wr) *
0.81699 :# MySql Query=UPDATE dbx_dbx_user_session SET lastaction='2008-11-21 20:15:00', design='default', language='de', settings='a:4:{s:14:\"cms
0.89044 :* dbx_get_SysVar(dbx_edit_activ = 0) *
0.89050 :* Start CMS Replace Edit=0 *
0.89296 :* Ende CMS Replace *
Suche