5. Le tableau de bord¶
Sommaire
5.1. Principe¶
Le tableau de bord est la page d’accueil de l’utilisateur. Il permet de lui afficher des blocs d’informations contextualisées. Ces blocs sont appelés des widgets. Un tableau de bord est paramétrable par profil.
5.2. widget¶
Le widget (WIDGET DASHBOARD) est un bloc d’informations contextualisées accessible depuis le tableau de bord de l’utilisateur. Il peut être de type “Web” ou de type “Script” et peut gérer toutes sortes d’informations internes ou externes à l’application (les tâches non soldées pour openCourrier, les appels à la maintenance, l’horoscope, la météo, une vidéo, des photos, …).
5.2.1. Le widget de type “Web”¶
Un widget de ce type permet de composer l’affichage du widget avec le contenu du champ texte saisi par l’utilisateur dans l’interface.
5.2.2. Le widget de type “Script”¶
Un widget de ce type est disponible pour chaque script PHP présent dans le répertoire app
et préfixé par widget_
. Il permet d’afficher dans le bloc widget les éléments rendus dans le script. Il est possible de définir le lien du footer, le libellé du footer et si le widget est vide (le bloc n’est pas du tout affiché).
app/widget_example.php
<?php
/**
* WIDGET DASHBOARD - widget_example.
*
* L'objet de ce script est de fournir un exemple de widget de type 'Script'.
*
* @package openmairie_framework
* @version SVN : $Id$
*/
// On instancie la classe utils uniquement si la variable $f n'est pas déjà définie
// pour protéger l'accès direct au script depuis l'URL. La permission "forbidden"
// a pour vocation de n'être donnée à aucun utilisateur.
require_once "../obj/utils.class.php";
if (!isset($f)) {
$f = new utils(null, "forbidden");
}
//
$footer = "";
//
$footer_title = "";
//
$widget_is_empty = true;
?>
5.2.3. Modèle de données¶
CREATE TABLE om_widget
(
om_widget integer NOT NULL, -- Identifiant unique
libelle character varying(100) NOT NULL, -- Libellé du widget
lien character varying(80) NOT NULL DEFAULT ''::character varying, -- Lien qui pointe vers le widget (peut être vers une URL ou un fichier)
texte text NOT NULL DEFAULT ''::text, -- Texte affiché dans le widget
type character varying(40) NOT NULL, -- Type du widget ('web' si pointe vers une URL ou 'file' si pointe vers un fichier)
CONSTRAINT om_widget_pkey PRIMARY KEY (om_widget)
);
obj/om_widget.class.php
sql/pgsql/om_widget.form.inc.php
sql/pgsql/om_widget.inc.php
core/obj/om_widget.class.php
core/sql/pgsql/om_widget.form.inc.php
core/sql/pgsql/om_widget.inc.php
gen/obj/om_widget.class.php
gen/sql/pgsql/om_widget.form.inc.php
gen/sql/pgsql/om_widget.inc.php
5.3. Les tableaux de bord¶
…
5.3.1. Modèle de données¶
CREATE TABLE om_dashboard
(
om_dashboard integer NOT NULL, -- Identifiant unique
om_profil integer NOT NULL, -- Profil auquel on affecte le tableau de ville
bloc character varying(10) NOT NULL, -- Bloc de positionnement du widget
"position" integer, -- Position du widget dans le bloc
om_widget integer NOT NULL, -- Identifiant du widget
CONSTRAINT om_dashboard_pkey PRIMARY KEY (om_dashboard),
CONSTRAINT om_dashboard_om_profil_fkey FOREIGN KEY (om_profil)
REFERENCES openexemple.om_profil (om_profil),
CONSTRAINT om_dashboard_om_widget_fkey FOREIGN KEY (om_widget)
REFERENCES openexemple.om_widget (om_widget)
);
obj/om_dashboard.class.php
sql/pgsql/om_dashboard.form.inc.php
sql/pgsql/om_dashboard.inc.php
core/obj/om_dashboard.class.php
core/sql/pgsql/om_dashboard.form.inc.php
core/sql/pgsql/om_dashboard.inc.php
gen/obj/om_dashboard.class.php
gen/sql/pgsql/om_dashboard.form.inc.php
gen/sql/pgsql/om_dashboard.inc.php