Une "dbpage" se définit tout d'abord par son nom qui permet de l'invoquer dans l'url d'affichage : Portal.jsp?page=dbpage&dbpage=dbpage_name
Ensuite la page elle même se décompose en sections (1 à n).
Une section est un bloc de la page dont le contenu est produit à partir d'un template HTML et d'une requête SQL.
Le sections peuvent être de plusieurs types. Les plus courants sont "form" et "table" permettant de remplir un template respectivement en mode fiche (1 enregistrement) ou en mode liste (n enregistrements).
Des paramètres peuvent être passés dans l'url de la page pour être utilisés dans les requêtes SQL. Les paramètres sont désignés par un nom prédéfini value[1..n]. Leur nombre n'est pas limité mais leur numérotation doit être continue de 1 à n.
Voici un exemple d'URL utilisant deux paramètres :
Portal.jsp?page=dbpage&dbpage=dbpage_name&value1=10&value2=5
Voici comment ces paramètres peuvent être exploités dans les requêtes SQL :
section3.sql=SELECT name, description FROM mytable1 WHERE id=@value1@
section5.sql=SELECT name, description FROM mytable2 WHERE id=@value2@
Les dbpages peuvent être réalisées selon deux modes : le mode fichier (les attributs de la page sont définis dans un fichier texte) et le mode base de données (les attributs de la page sont définis par le biais d'une interface utilisateur dans le back office).
Les attributs de la dbpage sont définis dans une fichier texte ayant pour nom "mydbpage.properties" et devant se trouver dans le répertoire "WEB-INF/plugins/dbpage".
Attribut de la page | Obligatoire | Description |
---|---|---|
page.paramname | Oui | Nom de la dbpage qui sera utilisé dans l'url d'appel de la page : Portal.jsp?page=dbpage&dbpage=dbpage_name . |
page.title | Oui | Nom de la page qui s'affichera danz la barre de titre du navigateur et dans le fil d'ariane. |
page.nbsections | Oui | Nombre de sections de la page définies dans le fichier. |
Attribut de section | Obligatoire | Description |
---|---|---|
section N.title | Non | Titre de la section |
section N.type | Oui |
Les types de section disponibles sont définis
dans le fichier "/WEB-INF/conf/plugins/dbpage.properties".
Les types de base sont "form" et "table". |
section N.template | Oui | Chemin relatif du fichier template HTML à partir de "WEB-INF/plugins/dbpage/". |
section N.column | Oui si requête SQL |
Pour une section de type "table", ce champ définit
la liste des titres des colonnes du tableau formé
par les résultats de la requête SQL . Pour une section de type "form", ce champ définit la liste des signets du template de fiche à remplir par ordre des colonnes du résultat de la requête SQL. |
section N.sql | Oui pour "table" | Requête SQL destinée à remplir le tableau. |
section N.pool | Non | Pool de connexion spécifique. Par défaut, le pool utilisé est celui associé au plugin. |
section N.role | Non | L'affichage de la section ne se fait que si l'utilisateur est authentifié est dispose du role défini par cette variable. |
Voici un exemple de fichier :
page.paramname=mydbpage page.title=My DbPage Title page.nbsections=2 # section #1 section1.title=header section1.type=form section1.template=mydbpage/hearder.html # section #2 section2.title=Liste des utilisateurs du back office section2.type=table section2.template=mydbpage/table.html section2.column=Prénom , Nom section2.sql=SELECT first_name , last_name FROM core_admin_user ORDER BY last_name;
Ce mode permet de saisir les attributs des dbpages dans le Back Office
de Lutece par le biais d'une interface utilisateur.
Cette fonction s'intitule "Gestion des DbPages".
Les attributs sont les mêmes que le mode fichier et sont
stockés en base de données, à l'exception
des templates qui doivent être stockés de la même façon que
pour le mode fichier.