Fork me on GitHub

Mode d'emploi

Les concepts

La page

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).

Les sections

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).

Les paramètres

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@

Modes de définition des Dbpages

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).

Le mode fichier

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;
                    

Le mode base de données

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.