Lorsque vous utilisez AEM, vous avez la possibilité de gérer du contenu de nombreux types différents (pages, éléments, etc.). Les tableaux de bord AEM vous permettent de définir facilement et de manière personnalisée des pages affichant des données consolidées.
Ces tableaux de bord sont créés pour chaque utilisateur en particulier. Par conséquent, un utilisateur ne peut accéder qu’à son propre tableau de bord.
Cependant, les modèles de tableau de bord peuvent être utilisés pour créer une disposition et une configuration commune à tous les de tableaux de bord.
Pour créer un tableau de bord, procédez comme suit :
Vous pouvez, si vous le souhaitez, disposer de plusieurs tableaux de bord afin de consulter rapidement des informations sur votre contenu depuis différentes vues. Pour faciliter la création d’un tableau de bord, AEM propose une fonctionnalité de clonage que vous pouvez utiliser pour dupliquer un tableau de bord existant. Pour cloner un tableau de bord, procédez comme suit :
Dans la section Outils, cliquez sur Console de configuration.
Dans l’arborescence, double-cliquez sur Tableau de bord.
Cliquez sur le tableau de bord que vous souhaitez cloner.
Cliquez sur Cloner.
Entrez le Nom de votre nouveau tableau de bord.
Dans la section Outils, cliquez sur Console de configuration.
Dans l’arborescence, double-cliquez sur Tableau de bord.
Cliquez sur le tableau de bord que vous souhaitez supprimer.
Cliquez sur Supprimer.
Cliquez sur Oui pour confirmer.
Les composants de tableau de bord ne sont rien de plus que des composants AEM standard. Cette section décrit les composants de génération de rapports fournis avec AEM.
AEM est fourni avec un ensemble de composants qui effectuent le rendu de plusieurs mesures de vos données SiteCatalyst. Ces composants sont répertoriés dans le Sidekick, sous la section Tableau de bord.
Chacun de ces composants comprend au moins trois onglets :
De base : contient la configuration principale.
Rapport : contient la configuration propre à chaque rapport.
Style : contient la configuration du style, telle que la taille du graphique et la marge.
Les composants de génération de rapports sont initialisés avec une configuration par défaut qui vous aide à configurer rapidement votre tableau de bord.
L’onglet De base vous donne accès aux entrées de configuration suivantes :
Titre - Titre affiché sur le tableau de bord.
Type de requête - Méthode de demande des données.
Options de configuration - Configuration à utiliser pour se connecter à SiteCatalyst. En l’absence de configuration, on suppose qu’elle est configurée sur la page Tableau de bord (via les propriétés de page).
Identifiant de suite de rapports (facultatif) Suite de rapports de SiteCatalyst que vous souhaitez utiliser pour générer le graphique.
Pour pouvoir afficher des statistiques web, vous devez définir la plage de dates des données à récupérer. L’onglet Rapport met à votre disposition deux champs pour définir cette plage.
La définition d’une plage de dates étendue a pour effet de diminuer la réactivité du tableau de bord.
Date à partir de - Date absolue ou relative à partir de laquelle les données sont récupérées.
Date jusque - Date absolue ou relative jusqu’à laquelle les données sont récupérées.
Chaque composant définit également des paramètres spécifiques.
Granularité de la date - Unité de temps de l’axe des x (jour ou heure, par exemple).
Mesures - Liste des événements à afficher.
Éléments - Liste d’éléments qui répartit les données de mesure dans le graphique.
Éléments - L’élément qui répartit les données de mesure dans le graphique.
Mesures L’événement que vous souhaitez afficher.
Nombre des principaux éléments Nombre d’éléments affichés par le rapport.
Mesures L’événement que vous souhaitez afficher.
Éléments L’élément qui répartit les données de mesure dans le graphique.
Ce composant affiche un graphique qui présente la section la plus visitée d’un site web en fonction de la configuration suivante.
Nombre des principaux éléments Nombre de sections affichées par le rapport.
Granularité de la date Unité de temps de l’axe des x (jour ou heure, par exemple).
Mesures L’événement que vous souhaitez afficher.
Éléments L’élément qui répartit les données de mesure dans le graphique.
Les tableaux de bord sont des pages normales (cq:Page
). N’importe quel composant peut donc être utilisé pour les assembler.
Un groupe de composants par défaut, Dashboard
, contient les composants de génération de rapports d’analyse activés par défaut sur le modèle.
Un modèle définit le contenu par défaut d’un nouveau tableau de bord. Vous pouvez utiliser plusieurs modèles pour créer différents types de tableaux de bord.
Ces modèles sont créés de la même manière que les autres modèles de page, si ce n’est qu’ils sont stockés sous /libs/cq/dashboards/templates/
. Consultez Création d’un modèle Contentpage.
Les modèles de tableau de bord sont partagés entre les utilisateurs.
Le développement d’un composant Tableau de bord consiste à créer un composant AEM ordinaire. Cette section illustre un composant qui affiche les 10 principaux contributeurs.
Le composant « Auteurs principaux » est stocké dans le référentiel, sous /apps/geometrixx-outdoors/components/reporting
. Il comprend les éléments suivants :
Un fichier jsp
qui lit les données jcr et définit le pseudo-élément html
.
Une bibliothèque côté client contenant un fichier js
qui récupère et classe les données, puis remplit le pseudo-élément html
.
Le fichier JavaScript suivant est défini dans la bibliothèque clientegeout.reporting.topauthors
🔗 en tant qu’enfant du composant lui-même.
Le composant QueryBuilder est utilisé pour interroger le référentiel afin de lire les nœuds cq:AuditEvent
. Le résultat de la requête est un objet JSON duquel sont extraites les contributions de l’auteur.
$.ajax({
url: "/bin/querybuilder.json",
cache: false,
data: {
"orderby": "cq:time",
"orderby.sort": "desc",
"p.hits": "full",
"p.limit": 100,
"path": "/var/audit/com.day.cq.wcm.core.page/",
"type": "cq:AuditEvent"
},
dataType: "json"
}).done(function( res ) {
var authors = {};
// from JSON to Object
for(var r in res.hits) {
var userId = res.hits[r].userId;
if(userId == undefined) {
continue;
}
var auth = authors[userId] || {userId : userId};
auth.contrib = (auth.contrib || 0) +1;
authors[userId] = auth;
}
// order by contribution
var orderedByContrib = [];
for(var a in authors) {
orderedByContrib.push(authors[a]);
}
orderedByContrib.sort(function(a,b){return b.contrib - a.contrib});
// produce the list
for (var i=0, tot=orderedByContrib.length; i < tot; i++) {
var current = orderedByContrib[i];
$("<div> #" + (i + 1) +" "+ current.userId + " (" + current.contrib +" contrib.)</div>").appendTo("#authors-list");
}
});
Le JSP
inclut le global.jsp
comme la clientlib
.
<%@page session="false" contentType="text/html; charset=utf-8" %><%
%><%
%><%@include file="/libs/foundation/global.jsp" %><%
%>
<ui:includeClientLib categories="geout.reporting.topauthors" />
<%
String reportletTitle = properties.get("title", "Top Authors");
%>
<html>
<h3><%=xssAPI.encodeForHTML(reportletTitle) %></h3>
<div id="authors-list"></div>
</html>