Navigation¶
Actuellement, seuls les gestionnaires et administrateurs peuvent accéder au suivi de lecture d'une actualité.
Pour accéder au suivi de lecture, le gestionnaire ou l'administrateur doit d'abord accéder à l'actualité. Son accès sera compté dans ses statistiques de lecture de cet article ci.
Puis, dans le menu QVF, il choisit la fonction "Suivi de lecture" :

Une fois la fonction demandée, un nouveau contenu s'affiche avec le suivi de lecture dudit article :

L'intitulé de l'article, dans le fil d'ariane est cliquable, ce qui signifie que l'utilisateur pourra accéder à nouveau à l'article (qui sera par conséquent aussi compté dans ses statistiques de lecture dudit article).
Code¶
Pour éviter de dupliquer la fonctionnalité, un tag displayReadingControl.tag a été créé dans core-war/src/main/webapp/WEB-INF/tags/silverpeas/util/. Ce tag attend comme attribut :
componentInstanceId : l'identifiant de l'instance d'application (ici une instance QuickInfo),
contributionId : l'identifiant de la contribution pour laquelle des statistiques de visite sont activées,
type : le type de la contribution.
A partir de ces informations, le tag importe alors la JSP existante statistic/jsp/readingControl.jsp.
Exemple d'utilisation de ce tag dans QuickInfo :
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="jakarta.tags.core" prefix="c" %>
<%@ taglib uri="jakarta.tags.fmt" prefix="fmt" %>
<%@ taglib uri="silverpeas.tags.viewGenerator" prefix="view"%>
<%@ taglib tagdir="/WEB-INF/tags/silverpeas/util" prefix="viewTags" %>
<c:set var="currentLang" value="${requestScope.Language}"/>
<fmt:setLocale value="${currentLang}"/>
<view:setBundle bundle="${requestScope.resources.multilangBundle}"/>
<fmt:message var="title" key="GML.ReadingControlTitle"/>
<c:set var="news" value="${requestScope['News']}"/>
<jsp:useBean id="news" type="org.silverpeas.components.quickinfo.model.News"/>
<view:sp-page>
<view:sp-head-part title="${title}"/>
<view:sp-body-part>
<view:browseBar>
<view:browseBarElt label="${news.title}" link="View?Id=${news.id}"/>
</view:browseBar>
<view:window>
<view:frame>
<viewTags:displayReadingControl
componentInstanceId="${news.publication.instanceId}"
contributionId="${news.id}"
type="${news.contributionType}"/>
</view:frame>
</view:window>
</view:sp-body-part>
</view:sp-page>
A noter que la JSP de Kmelia readingControlManager.jsp a été modifiée pour utiliser ce tag.