ContentService
Définition
Un content service est un service de contenu qui a la responsabilité de produire lui-même ses pages. Chaque service de contenu dispose d'un paramètre d'appel qui permet au portail de dispatcher les requêtes sur le service.
Les ContentService du Core
Lutèce utilise par défaut les ContentServices suivants :
Service | Paramètre | Descrition |
---|---|---|
PageService | id_page | Service de construction et d'affichage des pages de Lutèce |
ArticleService | id_article | Service de construction et d'affichage des articles de Lutèce |
SearchService | query | Service de recherche de Lutèce |
XPageService | page | Conteneur d'applications XPage de Lutèce |
Création d'un ContentService
Déclaration
Les plugins peuvent ajouter de nouveaux ContentServices en les déclarant dans leur fichier XML de la manière suivante : :
<!-- Contents Service --> <content-services> ... <content-service> <content-service-id>myContentService</content-service-id> <content-service-class>fr.paris.lutece.plugins.myplugin.service.MyContentService</content-service-class> </content-service> ... </content-services>
Implémentation
Un ContentService doit étendre la classe abstraite ContentService. Les méthodes abstraites de cette classe sont les suivantes :
Méthode | Description |
---|---|
getName | Renvoie le nom du service de contenu. |
isInvoked | Détermine à partir des paramètres de la requête HTTP, si celle-ci lui est destinée. Par exemple, le service PageService vérifiera que la requête contient le paramètre id_page . |
getPage | Construit une page en focntion des paramètres de la requête et du mode. |
Au travers de la classe ContentService, le service hérite de la classe AbstractCacheableService qui apporte la fonctionnalité de cache du contenu généré. Les méthodes suivantes pourront être redéfinies pour la désactiver ou la modifier (voir Gestion du cache) :
Méthode | Description |
---|---|
isCacheEnable | Indique si le service dispose d'un cache activé. |
getCacheSize | Renvoie le nombre d'objets dans le cache. |
resetCache | Vide le cache du service de contenu. |