SQWareWeb:general
Contents
présentation
utilisation
C'est la partie de restitution 'graphique' de expdbTools pour tous les SGBDs.
C'est un module web fait pour fonctionner avec apache 2 et PHP 5.2 (non compatible 5.3!).
Il est écrit en PHP, ajax, OpenFlash et SQL.
SQWareWeb met en forme (graphiques ou tableaux) les données remontées dans SQWareRepository par un grande partie des scripts du module SQWareProduction. La quasie totalité des données présentées sont dynamiquement générées (volumétries, versions, ...), seules les données de type référentiel ou paramétrage sont à stocker à la main dans les tables concernées.
Exemples de pages présentes sur le site:
- Inventaire pour chaque SGBD avec volumétrie, version, enplacement, environnement ...
- Répartition des instances en nombre/volumétrie par environnement/client/version
- Détail des volumétries (FS, databases, TBS, tables, ...)
- Trace des passages des scripts de SQWareProduction (début, fin, options, durée, code retour, ...)
- Données de performances
- Capacity planning
- ...
explication de l'arborescence
Arborescences se trouvant dans $gvsqw_RootexpdbWebdba:
- cache : Fichiers générés par le systeme de cache
- css : Feuilles de style
- custom : C'est l'espace de customisation, permet de gérer le menu et ses includes ainsi que le paramétrage des connexions
- custom_ref : C'est le modèle de ce qui doit se trouver dans custom
- htdocs : Contient les pages du site
- images : Contient les images du site
- js : Contient les librairies ajax
- lib : Contient le moteur de template
- scripts : Contient les génrateurs principaux du site (graphiques et tableaux)
- templates : Menus gauche du site et templates html pour (graphiques, tableaux et exports excel)
fonctionnement
réécriture
Le site fonctionne par réécriture d'URL avec $gvsqw_RootexpdbWebdba/htdocs/.htaccess
Contenu du fichier:
RewriteEngine On #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*).table$ /table.php?path=/$1 [qsa,l,pt] RewriteRule ^(.*).chart$ /chart.php?path=/$1 [qsa,l,pt] RewriteRule ^(.*)/(.*.html)\??(.*)$ /engine.php?path=$1/$2 [qsa,l,pt] RewriteRule ^(.*)/$ /engine.php?path=/$1/ [qsa,l,pt] RewriteRule ^$ /engine.php?path=/ [qsa,l,pt] RewriteRule open-flash-chart.swf$ /images/open-flash-chart.swf [qsa,l,pt] RewriteRule ^.+/js/(.*)$ /js/$1 [qsa,l,pt]
graphiques
Les graphiques sont générés avec OpenFlashChart qui est sous licence LGPL.
La lib se trouve dans $gvsqw_RootexpdbWebdba/lib/ofc/open-flash-chart.php
Le tout est encapsulé pour SQWareWeb dans $gvsqw_RootexpdbWebdba/scripts/chart.php
Il suffit alors de créer un fichier de configuration du type *.chart pour générer le graphique.
Le fichier doit contenir les sections suivantes:
- common
- db
- y_axis
- background
- x_axis
- data_[0-9]
Exemple de fichier de configuration (GrowthBases.chart):
[common] title="Growth database {DbName} for {Instance}" [db] sql="select vbd.DataServer, convert(char(10),vbd.Gather_date,103) as gather_date, vbd.Database_name, vbd.Size_db as size_db, vbd.Used as used, vbd.Size_db-vbd.Used as free from tsqw_VolDb vbd where vbd.DataServer = '{Instance}' and vbd.Database_name = '{DbName}' order by vbd.Gather_date " [y_axis] legend="Volumetry Mo" min=0 ;max=60000 ;step=5000 [background] color="#ffffff" [x_axis] field="gather_date" ; field to display in X legend="Date" orientation="verticale" ; verticale or horizontal(by default) size="12" ; in pixels step=5 legendstep=10 ;maxdata=20 [data_1] field="size_db" ; field to trace on curve type="line" ; type of graph line, bar, bar_3d, pie, bar_glass, bar_sketch, line_dot (by default) colour="#0000ff" pointsize=2 ; in pixel text="Size of database" [data_2] field="used" ; field to trace on curve type="line" colour="#ff4500" pointsize=2 ; in pixel text="Used" [data_3] field="free" ; field to trace on curve type="line" colour="#32cd32" pointsize=2 ; in pixel text="Free"
tableaux
Les graphiques sont générés avec le framework ajax ActiveWidgets 2.5 qui est soumis à licence. Celle-ci a été acquittée par les développeurs de expdbTools et est royalty free distribution of Software in any applications. Pour plus de détail sur la cette licence.
ActiveWidgets se trouve dans $gvsqw_RootexpdbWebdba/js/ActiveWidgets/*
Le tout est encapsulé pour SQWareWeb dans $gvsqw_RootexpdbWebdba/scripts/table.php
Il suffit alors de créer un fichier de configuration du type *.table pour générer le tableau.
Le fichier doit contenir les sections suivantes:
- common
- db
- cols
- format
Et de manière optionnelle:
- link
- targetlink
- format_number
Exemple de fichier de configuration (GrowthTables.table):
[common] title="Growth {Owner}.{TableName} in {DbName}@{Instance}" [db] sql="select vbd.DataServer, convert(char(19),vbd.Gather_date,23) as gather_date, vbd.Database_name, vbd.Owner, vbd.TableName, vbd.Size_tb from tsqw_VolTables vbd where vbd.DataServer = '{Instance}' and vbd.Database_name='{DbName}' and vbd.Owner='{Owner}' and vbd.TableName='{TableName}' order by vbd.Gather_date desc " ;debug=true [cols] ; Headers of columns ; Attention \' for quotes ... col_1="Dataserver" col_2="Date" col_3="Database" col_4="Owner" col_5="TableName" col_6="Size in Mo" [format] ; Format of columns : string, number or date col_1="string" col_2="date" col_3="string" col_4="string" col_5="string" col_6="number"