Instrumentation d'un thème pour l'analyse de site actif (ASA)

Le thème du portail Menu de l'onglet - Générateur de pagesGénérateur de pages fourni avec HCL Digital Experience est préparé et peut être utilisé avec l'analyse de site actif. Vous pouvez également optimiser les autres thèmes du portail ou créer un thème personnalisé pour utiliser la fonction d'analyse de site actif.

Pourquoi et quand exécuter cette tâche

Pour que l'analyse de site actif fonctionne dans un thème personnalisé, effectuez les tâches suivantes :
  1. Ajoutez des métadonnées à la page.
  2. Insérez un regroupeur dans la page.
  3. Insérez des dépendances dans la page.
  4. Insérez des microformats utiles lliés aux données statistiques que vous souhaitez collecter.
Pour plus de détails sur ces tâches, reportez-vous aux sections suivantes :
Ajout de métadonnées à la page
Un regroupeur sélectionne des informations stockées dans l'arborescence DOM (document object model) d'une page. Ces informations doivent être présentes dans la source HTML de la page. L'approche recommandée pour l'ajout de ces informations à une page consister à mettre en oeuvre le thème ou l'habillage afin qu'ils écrivent toutes les informations nécessaires dans l'arborescence DOM de la page. Exemples :
  1. Vous pouvez ajouter l'identificateur d'un portlet à l'arborescence DOM en ajoutant la ligne suivante au fichier skin.html dans le dossier WebDAV du thème :
    <span class="asa.portlet.id" style="display:none;"><%= myPortletID %></span>
    Remarque : Si l'élément span est formulé dans un fichier CSS externe, vous devez faire précéder chaque point du nom de classe d'une barre oblique inversée. Exemple : asa\.portlet\.id{display:none;}
    A l'aide de l'exemple de code, le regroupeur peut extraire les identificateurs de tous les portlets d'une page en parcourant toutes les occurrences des éléments "span" avec un attribut de classe "asa.portlet.id".
    Le bon fonctionnement de l'exemple de code dépend de la définition de myPortletID dans le fichier skin.html. Par défaut, celle-ci est définie à l'aide du code JSP suivant :
    <portal-skin:portletID var="myPortletID"/> 
    <jsp:useBean id="myPortletID" class="java.lang.String" scope="page"/> 
  2. Vous pouvez ajouter le titre du portlet à l'arborescence DOM en intégrant l'instruction <portal-skin:portletTitle> au fichier skin.html avec un élément span disposant d'un attribut de classe "asa.portlet.title" :
    <span class="asa.portlet.title"><portal-skin:portletTitle></portal-skin:portletTitle</span>
Insertion de regroupeurs dans une page
Le portail inclut une mise en œuvre par défaut du point d'extension de thème com.ibm.portal.theme.plugin.ActiveSiteAnalyticsAggregators. Le point d'extension recherche un fichier JavaScript spécifié dans les métadonnées de la page. Le point d'extension inclut le contenu de ce fichier dans le code HTML de la page. La clé de métadonnées doit commencer par asa_aggregator ou asa_js et sa valeur correspond au nom du fichier JavaScript. Pour plus de détails, voir la rubrique Ajout d'un regroupeur d'analyse de site actif (ASA) à une page du portail. Ajoutez le code suivant à proximité de la balise body de fermeture (</body>) du fichier themeName\nls\theme_languageCode.html dans le dossier WebDAV du thème :
<portal-theme-ext:themeExtension id="com.ibm.portal.theme.plugin.ActiveSiteAnalyticsAggregators">
   <portal-theme-ext:themeExtensionLoop>
      <portal-theme-ext:themeExtensionItemText />
   </portal-theme-ext:themeExtensionLoop> 
</portal-theme-ext:themeExtension>
Ce code parcourt chaque mise en oeuvre du point d'extension du thème et l'exécute. La mise en oeuvre par défaut incluse avec le portail suit l'approche soulignée précédemment.
Remarque : HCL version 8.5 ne prend pas en charge le point d'extension ayant l'ID com.ibm.portal.theme.plugin.ActiveSiteAnalyticsItems et provenant des versions antérieures. Si vous avez migré un thème à partir d'une version de portail antérieure, prenez soin d'utiliser l'ID d'extension com.ibm.portal.theme.plugin.ActiveSiteAnalyticsAggregators.
Insertion de dépendances dans une page
Si vous souhaitez que les dépendances soient ajoutées par plusieurs regroupeurs, ajoutez-les au titre de la page html. Le portail inclut une mise en oeuvre par défaut du point d'extension de thème com.ibm.portal.theme.plugin.ActiveSiteAnalyticsDependencies. Le point d'extension recherche un fichier JavaScript spécifié dans les métadonnées de la page. Le point d'extension inclut le contenu de ce fichier dans le code HTML de la page. La clé de métadonnées doit commencer par asa_dependency et sa valeur correspond au nom de fichier JavaScript. Pour plus de détails, voir la rubrique Ajout d'un regroupeur d'analyse de site actif (ASA) à une page du portail. Ajoutez le code suivant au titre du thème :
<portal-theme-ext:themeExtension id="com.ibm.portal.theme.plugin.ActiveSiteAnalyticsDependencies">   
   <portal-theme-ext:themeExtensionLoop>      
      <portal-theme-ext:themeExtensionItemText />   
   </portal-theme-ext:themeExtensionLoop> 
</portal-theme-ext:themeExtension>
Ce code parcourt chaque mise en oeuvre du point d'extension du thème et l'exécute. La mise en oeuvre par défaut incluse avec le portail suit l'approche soulignée précédemment.
Insertion d'un JSP de regroupeur dans une page

L'analyse de site actif peut inclure un fragment JSP dédié dans le cadre de l'inclusion du regroupeur sur la page. Le portail ajoute le contenu du fragment JSP au contenu introduit dans le fichier theme.html du thème.

La configuration du JSP est similaire à celle du regroupeur : ajoutez les métadonnées de page avec la clé asa_jsp à la page. Le portail interprète la valeur en tant que nom de fichier relatif au fichier theme.html du thème dans WebDAV. Par exemple, si vous souhaitez ajouter le marquage d'une page JSP dans un fichier intitulé page.jsp, vous pouvez placer cette page JSP en regard du fichier theme.html à l'aide de WebDAV et configurer une nouvelle propriété de page avec la clé asa_jsp et la valeur page.jsp.

Exemple : si la clé d'un élément de métadonnées est asa_jsp et que sa valeur est asa_sample.jsp, le portail recherche une page JSP avec le nom de fichier asa_sample.jsp et, s'il le trouve, l'inclut dans le contenu de la page.

Vous pouvez utiliser le point d'extension com.ibm.portal.theme.plugin.ActiveSiteAnalyticsInclude pour inclure une page JSP dans le contenu de page. La clé de métadonnées doit commencer par asa_jsp. Ajoutez le code suivant dans le thème :
<portal-theme-ext:themeExtension id="com.ibm.portal.theme.plugin.ActiveSiteAnalyticsInclude">
   <portal-theme-ext:themeExtensionLoop>
      <portal-theme-ext:themeExtensionRenderInclude/>
   </portal-theme-ext:themeExtensionLoop>
</portal-theme-ext:themeExtension>
Ce code parcourt chaque mise en oeuvre du point d'extension du thème et l'exécute. La mise en oeuvre par défaut incluse avec le portail suit l'approche soulignée précédemment.
Insertion de microformats utiles
Vous devrez peut-être modifier les habillages utilisés par thème pour que toutes les informations relatives au microformat que vous souhaitez capturer soient présentes lors de l'affichage de la page. Par exemple, vous pouvez ajouter ce code au fichier skin.html d'un habillage pour garantir que l'ID de tous les portlets de la page peuvent être reconnus par le script du regroupeur :
<span class="asa.portlet.id" style="display:none;"><%= myPortletID %></span>
Dans ce cas, le fichier asa_sample.js recherche des éléments de la classe asa.portlet.id afin de trouver l'ID portlet de tous les portlets présents sur la page. Les titres des portlets peuvent être affichés à l'aide d'un code semblable à ci-après :
<portal-skin:portletTitle />
Pour capturer ces titres de portlets, vous pouvez ajouter un élément span supplémentaire avec une classe définie pour les titres qui seront recherchés par le fichier JavaScript d'analyse :
<span class="asa.portlet.title"><portal-skin:portletTitle /></span>
Dans ce cas, asa.portlet.title est reconnue comme la classe de tous les éléments span qui contiennent le texte des titres de portlets.