9 nov. 2021 15:35:51 Thomas Dumont avatar

Composant MyDashboard

Résumé des fonctionnalités de MyDashboard

Le plugin MyDashboard sert à gérer des tableaux de bord en front office. Ces tableaux de bord sont spécifiques à chaque utilisateur, et ne peuvent être affiché que si l'utilisateur est connecté. A ce jour, il n'y a pas de tableau de bord pour les utilisateurs anonymes.

Les utilisateurs peuvent consulter leurs tableaux de bord en accédant à la page jsp/site/Portal.jsp&page=mydashboard

Dans cette page, l'utilisateur a un lien lui permettant d’accéder à une fonctionnalité lui permettant de choisir quels tableaux de bord il souhaite afficher, et dans quel ordre.

Il est également possible d'ajouter à une page du site un portlet MyDashboard qui affichera tous les tableaux de bord de l'utilisateur.

Créer un nouveau tableau de bord

Pour créer un nouveau tableau de bord, il suffit de créer une classe étendant la classe abstraite MyDashboardComponent du plugin MyDashboard, et implémentant les trois méthodes suivantes :

/**
 * Gets dashboard data for the current user
 * @param request HttpServletRequest
 * @return HTML content to insert into a dash board zone
 */
public String getDashboardData( HttpServletRequest request );

/**
 * Gets the id of the dashboard component. The id of the dashboard component
 * must be unique for each dashboard component, and be less than 50
 * characters long.
 * @return The id of the dashboard component
 */
public String getComponentId( );

/**
 * Get the description of the component
 * @param locale The locale to display the description in
 * @return The description of the component
 */
public String getComponentDescription( Locale locale );

La méthode public String getComponentId( ) sert à définir l'identifiant du type de tableau de bord. Cet identifiant doit être une clé unique permettant d'identifier le type de chaque tableau de bord.

La méthode public String getComponentDescription( Locale locale ) sert à générer une description du tableau de bord, utilisé notamment afin de permettre aux utilisateurs quels tableaux de bord ils souhaitent afficher

La méthode public String getDashboardData( HttpServletRequest request ) sert à générer le contenu du tableau de bord.

La liste des tableaux de bord etant récupérée par injection de dépendance avec Spring, chaque implémentation de la classe MyDashboardComponent doit être déclarée comme un bean auprès des services Spring.