Jahia Modules

Transcription

Jahia Modules
DOCUMENTATION
Jahia Modules
Jahia, le CMS open source de nouvelle génération apportant à vos
projets la convergence applicative (web, document, social, recherche
et portail) unifiée par la simplicité d’utilisation des outils de gestion de
contenu web.
Jahia Solutions Group SA
9 route des Jeunes,
CH-1227 Les acacias
Genève, Suisse
http://www.jahia.com
Jahia Modules
Sommaire
1
2
3
Définitions
4
1.1
Structure
4
1.2
Catégories
5
Modules à caractère éditorial
6
2.1
Article
6
2.2
Banner
6
2.3
Big Text
7
2.4
Contact
7
2.5
External Link
8
2.6
File List
8
2.7
Flash
8
2.8
Image
9
2.9
Main Content
9
2.10
News
10
2.11
Teaser
10
2.12
Text
11
2.13
Tree
11
2.14
Event
11
2.15
FAQ
12
2.16
Job
12
2.17
Location
13
2.18
People
13
2.19
Press
14
2.20
Publication
14
2.21
Frame
15
2.22
Video
15
Modules définissant des fonctions
3.1
Author Display
© 2002 – 2013 Jahia Solutions Group SA
17
17
Page 2 sur 27
Jahia Modules
3.2
Back To Parent Page
17
3.3
Bookmarks
17
3.4
BreadCrumb
18
3.5
Calendar
18
3.6
CSS Page
18
3.7
Current User
19
3.8
Facet
20
3.9
FormBuilder
20
3.10
Language Switcher
20
3.11
Latest
21
3.12
Login Form
21
3.13
Navigation Menu
21
3.14
Page Tagging
22
3.15
Page Title
22
3.16
Pol
22
3.17
Portlet
23
3.18
Query
23
3.19
Rating
23
3.20
RSS
23
3.21
Search
24
3.22
Shortcuts
24
3.23
Twitter
24
3.24
Top Stories
25
3.25
Sitemap
25
3.26
User Registration
25
© 2002 – 2013 Jahia Solutions Group SA
Page 3 sur 27
Jahia Modules
1 Définitions
Module: un module est un répertoire stocké sur le disque du serveur contenant tous les fichiers qui
définissent le comportement, le traitement et le rendu d’une fonctionnalité du logiciel. Chaque module est
l’équivalent d’un “plug-in” qui étend les fonctionnalités de Jahia et lui permet de gérer un ou des cas
spécifiques.
Composant: on désigne par composant un élément pouvant être ajouté dans une page gérée par Jahia,
qu’il s’agisse d’un simple contenu éditorial (un article, une news, une faq...), ou d’une fonctionnalité (un
nuage de tags, un formulaire de recherche, le fil d’Ariane...). Chaque composant est défini dans un module.
Un même composant ne peut être défini deux fois, par contre un composant défini dans un module peut,
dans le contexte d’un autre module se voir ajouter de nouveaux fichiers d’affichage spécifiques.
Par exemple, le composant “user” est défini dans le module “user” avec plusieurs fichiers de rendu, mais
est régulièrement surchargé dans des contextes spécifiques comme le blog, le forum ou le docSpace.
Un module
 peut ne définir aucun composant (mais ajouter une fonctionnalité bas niveau par exemple)
 peut définir un composant unique (c’est le cas pour la plupart des modules qui définissent des
structures de contenu simples)
 peut définir plusieurs composants (le module FAQ définit par exemple un composant FAQ question/réponse- et un composant Sommaire FAQ qui peut générer automatiquement le sommaire
d’une liste de FAQ).
Les modules les plus évolués, qui forment de véritables mini-applications, peuvent définir 6 ou 10
composants utilisables unitairement ou conjointement via l’interface d’édition du logiciel et / ou le Studio.
Un module peut contenir
 des définitions (format cnd)
 des fichiers de rendu (jsp, velocity, freemarker...)
 des fichiers de propriétés (resourceBundles Java)
 des ressources statiques (css, javascript)
 des icones pour les composants
 des règles (Drools)
 des fichiers de workflow (jBPM)
 des librairies ou des ensembles de librairies sous forme de fichiers jar (note: les développeurs si ils
ajoutent des librairies non créées par eux doivent vérifier que les dites librairies ne sont pas déjà
présentes dans Jahia, qu’il s’agisse de la même version ou d’une autres version, afin de prévenir
d’éventuels conflits).
1.1 Structure
tomcat/webapp/jahia/modules/
Les modules placés directement dans ce répertoire sont ceux dont nous pensons qu’ils ont vocation à être
régulièrement modifiés pour les besoins spécifiques des projets basés sur Jahia.
tomcat/webapp/jahia/modules/default/
Les modules placés dans ce répertoire sont a priori prévus pour ne pas être modifiés lors d’une intégration,
soit que les modifier ne fasse pas sens a priori, soit que Jahia se réserve la possibilité de les faire évoluer
dans le temps lors de ses mises à jour.
Si pour les besoins d’un projet vous souhaitez modifier un de ces modules, nous vous conseillons de créer
votre propre module (directement dans /modules/) qui étendra celui d’origine, soit de noter que des
© 2002 – 2013 Jahia Solutions Group SA
Page 4 sur 27
Jahia Modules
modifications ont été apportées afin de gérer sélectivement le remplacement ou non de celui-ci en cas de
mise à jour de votre plateforme Jahia.
Comment faire apparaître / disparaître les composants définis dans les modules du sélecteur Un module
peut définir un ou plusieurs composants qui apparaîtront dans les interfaces de Jahia et particulièrement
dans le sélecteur, afin d’être manipulables par les éditeurs et webmasters. Pour qu’un composant
apparaisse dans le sélecteur, il est nécessaire au niveau de sa définition de définir une propriété jmix
Exemple, le composant banner apparaitra dans le sélecteur dans les composants éditoriaux.
[jnt:banner] > jnt:content, mix:title, jmix:editorialContent
1.2 Catégories
Il existe par défaut 5 catégories de composants:
jmix:editorialContent = contenus éditoriaux
On y place tous les composants qui se contentent de définir des structures de contenu telles que news,
article, communiqué de presse, etc.
jmix:siteComponentContent = composants de site
Ce sont généralement des fonctions prêtes à l’emploi tel que le fil d’Ariane, le formulaire de login, la
fonction de changement de langue, etc.
jmix:sandboxContent = “bac à sable”
On y met les composants inclassables, fournis à titre de démonstration et de formation ou encore les
composants en cours de développement donc réputés instables, même si ils ne le sont pas
nécessairement.
jmix:formContent = composants de formulaire
On y regroupe tous les éléments relatifs à la construction d’un formulaire (champs, règles de validation...)
et les formulaires prêts à l’emploi.
jmix:queryContent = composants de requêtes
On y regroupe tous les composants basés sur des requêtes, qu’il s’agisse du composant le plus simple
permettant de saisir une requête sur l’instant, jusqu’aux composants qui travaillent sur des requêtes prédéfinies comme la liste des dernières pages crées, la liste des dernières actualités, etc.
© 2002 – 2013 Jahia Solutions Group SA
Page 5 sur 27
Jahia Modules
2 Modules à caractère éditorial
Ces modules définissent des structures de contenu et pour chacun d’entre eux une ou plusieurs vues
correspondant à des cas d’usage classiques. Ces modules n’intègrent généralement aucune logique ou
traitement, ils sont destinés à présenter du contenu et à structurer celui-ci lors de sa saisie dans le CMS.
2.1 Article
Article
/modules/article/
Ce module définit un objet de type article très structuré et relativement complet. Il associe à une titre et une
introduction (uniques) un ensemble de paragraphes basés sur me module “main content”. L’objet article
définit également la possibilité sur chaque paragraphe d’ajouter un encart (mise en exergue ou citation) qui
viendra s’insérer au sein du texte sur la droite ou sur la gauche de celui-ci.
Ce module constitue un bon exemple pour les intégrateurs souhaitant comprendre comment héritage de
modules fonctionne et réaliser eux même des composants étendant ou intégrant d’autres objets.
[jnt:paragraph] > jnt:mainContent
 insertText (string, richtext) i18n
 insertType (string,choicelist[resourceBundle]) = quote indexed=no < quote, exergue
 insertPosition (string,choicelist[resourceBundle]) = left indexed=no < left, right
 insertWidth (long) = "150" indexed=no
[jnt:article] > jnt:content, jmix:editorialContent, mix:title, jmix:tagged
 intro (string, richtext) i18n
 + * (jnt:paragraph)
2.2 Banner
Banner
/modules/default/jnt_banner/html/ (rendu)
/modules/definitions.cnd (définition)
Ce module permet de sélectionner une bannière (image) qui sera utilisé en background de l’élément DIV
défini par le fichier de rendu, et de lui associer un titre et une accroche textuelle. Le titre et l’accroche, tel
que le fichier de rendu est écrit, sont affichés par dessus l’image choisie. Il est également possible de
définir le positionnement du texte en saisissant une marge à gauche et une marge haute, à partir du coin
de la photo.
© 2002 – 2013 Jahia Solutions Group SA
Page 6 sur 27
Jahia Modules
[jnt:banner] > jnt:content, mix:title, jmix:editorialContent
 background (weakreference, file[mime='image/*']) i18n
 cast (string, richtext) i18n
 positionTop (long) indexed=no
 positionLeft (long) indexed=no
Améliorations / adaptations possibles :
 si la liste des images autorisées pour créer les bannières est limitée et connue à l’avance, il est
possible de remplacer le champ image par une liste prédéfinie, ce qui fera gagner du temps aux
éditeurs et évitera des erreurs.
 en raison de la superposition des textes sur l’image, il peut être intéressant d’ajouter un champ pour
sélectionner une couleur de texte qui sera utilisée avec une instruction de style in-line.
2.3 Big Text
BigText
/modules/default/bigText/
/modules/default/definitions.cnd
Ce module permet de saisir un texte de longueur illimitée. En édition, le champ s’affiche avec un éditeur de
texte WYSIWYG.
Il est recommandé de ne pas modifier cette structure de contenu.
2.4Contact
Contact
/modules/contact/
Ce module permet d’insérer dans une page un formulaire de contact prédéfini directement dans un fichier
jsp. L’éditeur peut choisir sur l’instant quels champs il souhaite afficher, parmi la 15aine disponible.
Fonctionnellement ce module est très simple puisqu’il consiste uniquement à lister des champs et stocker
un booléen (vrai/faux) qui sert à afficher ou non le champ en question, mais c’est un bon exemple
d’alternative à l’utilisation du module Form Builder qui est plus puissant mais demande plus de temps et de
maîtrise. Si votre projet comporte quelques formulaires dont vous connaissez à l’avance la structure et ne
requiert pas la création de nouveaux formulaires régulièrement, cette approche présente un intérêt certain.
Le résultat des formulaires envoyés est stocké dans le repository et accessible en format CSV.
© 2002 – 2013 Jahia Solutions Group SA
Page 7 sur 27
Jahia Modules
2.5 External Link
External Link
/modules/default/jnt_externalLink/ (affichage)
/modules/default/definitions-nav-menu.cnd (structure)
Ce module permet d’insérer un lien externe à la plateforme Jahia en choisissant certains paramètres tels
que la target et le alt. Il s’appuie sur un type de donnée (jmix:navMenuItem) interne à Jahia.
2.6File List
File List
/modules/default/jnt_fileList/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module permet de sélectionner un répertoire du Gestionnaire de Document pour en afficher
automatiquement dans une page tous les fichiers enfants. L’intérêt principal est que la liste des contenus
affichée est mise à jour dès que le contenu du dossier cible change.
[jnt:fileList] > jnt:content, jmix:editorialContent
 folder (weakreference, file[folder])
2.7 Flash
Flash
/modules/default/flash/html/ (affichage)
/modules/default/definitions.cns (structure)
Ce module a pour objet d’insérer une animation Adobe Flash dans une page. Il utilise la balise <object>
définie par le standard. Lorsque le composant flash est inséré dans une page, l’éditeur peut définir tous les
paramètres relatifs à l’animation Flash. Certains de ces paramètres ne sont pas indispensables et peuvent
être supprimés intentionnellement de la définition afin de limiter les informations à renseigner par l’éditeur.
Attention, toute modification du fichier de définitions pour retirer un champ doit être effectuée
avant déploiement de la définition en question.
[jnt:flash] > jnt:content, mix:title, jmix:editorialContent
 flashSource (weakreference, file)
© 2002 – 2013 Jahia Solutions Group SA
Page 8 sur 27
Jahia Modules

















width (string) analyzer='keyword' nofulltext
height (string) analyzer='keyword' nofulltext
flashPlayer (string) = '9' analyzer='keyword' nofulltext
id (string) analyzer='keyword' nofulltext
name (string)
swliveconnect (string, choicelist[resourceBundle]) analyzer='keyword' nofulltext < 'true', 'false'
play (string, choicelist[resourceBundle]) indexed=no < 'true','false'
loop (string, choicelist[resourceBundle]) indexed=no < 'true','false'
menu (string, choicelist[resourceBundle]) indexed=no < 'true','false'
quality (string, choicelist[resourceBundle]) analyzer='keyword' nofulltext <
'low','high','autolow','autohigh','best'
scale (string, choicelist[resourceBundle]) analyzer='keyword' nofulltext < 'default','noborder','exactfit'
align (string, choicelist[resourceBundle]) indexed=no < 'l','r','t','b'
salign (string, choicelist[resourceBundle]) indexed=no < 'l','r','t','b','tl','tr','bl','br'
wmode (string, choicelist[resourceBundle]) indexed=no < 'window','opaque','transparent'
bgcolor (string, color) indexed=no
base (string) indexed=no
flashvars (string) indexed=no
2.8 Image
Image
/modules/default/image/
/modules/default/definitions.cnd
Ce module permet d’insérer une image dans une page en l’accompagnant d’un texte alternatif. Il peut
aisément être étendu pour intégrer une valeur css, une légende ou autre.
2.9Main Content
Main Content
/modules/default/jnt_mainContent/html/ (rendu)
/modules/definitions.cnd (définition)
Ce module très générique définit la structure de contenu la plus utilisée que l’on pourrait rapprocher d’un
“paragraphe” : un titre, une corps de texte (texte riche), une image et une variable pour aligner l’image à
gauche ou à droite du corps du texte.
[jnt:mainContent] > jnt:content, mix:title, jmix:editorialContent
 body (string, richtext) i18n
 image (weakreference, file[mime='image/*']) i18n
© 2002 – 2013 Jahia Solutions Group SA
Page 9 sur 27
Jahia Modules

align (string,choicelist[resourceBundle]) = left indexed=no < left,right,default
2.10 News
News
/modules/news/
Ce module permet de gérer des actualités (news). Il est fournit avec plusieurs rendus différents permettant
d’afficher des listes d’actualités selon divers formats (petit, moyen, grand). Un composant permettant
d’afficher les dernières actualités est également fourni, qui laisse à l’éditeur la possibilité de choisir le
nombre d’actualités souhaité, et un critère de filtrage basé sur l’arbre des catégories.
[jnt:news] > jnt:content, mix:title, jmix:editorialContent
 desc (string, richtext) i18n
 image (weakreference, file[mime='image/*'])
 date (date) = now()
[jnt:lastNews] > jnt:content, jmix:list, mix:title, jmix:queryContent, jmix:cache
 maxNews (long) = 10 indexed=no
 filter (reference, category[autoSelectParent=false])
 j:subNodesTemplate (string, choicelist[templates=jnt:news,resourceBundle,image]) nofulltext itemtype
=layout
2.11 Teaser
Teaser
/modules/default/jnt_teaser/html/ (affichage)
/modules/definitions.cnd (structure)
Ce module permet d’insérer dans les pages des “accroches” constituées d’un titre, d’une image et d’un
lien. Divers rendus sont disponibles pour offrir des variantes classiques (liens sur l’image, lien à la fin du
texte...)
L’objet teaser est totalement indépendant de l’objet cible vers lequel il renvoie, de sorte qu’il offre une
grande souplesse. Les cas d’utilisation typiques sont
 en page d’accueil pour faire la promotion des certaines parties du site
 dans les colonnes secondaires, souvent sous la forme image cliquable, comme cela se voit
beaucoup dans les sites media.
[jnt:teaser] > jnt:content, mix:title, jmix:editorialContent
 abstract (string, text[multiline]) i18n
 image (weakreference, file[mime='image/*'])
 link (weakreference)
© 2002 – 2013 Jahia Solutions Group SA
Page 10 sur 27
Jahia Modules
2.12 Text
Text
/modules/default/jnt_text/html/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module définit un composant constitué d’un simple champ texte court (255 caractères). Il est
recommandé de ne pas modifier cette structure de contenu.
2.13 Tree
Tree
/modules/default/jnt_tree/html/ (affichage)
/modules/default/definitions.cnd (structure)
2.14 Event
Event
/modules/event/
Ce module permet de gérer des événements (titre, description, date de début, date de fin, localisation, type
d’événement).
Les types d’événements sont définis dans le fichier de définitions “en dur” et peuvent être modifiés,
remplacés ou faire appel à un autre initialiseur plus conforme aux besoins de votre projet (liste externe,
appel à une liste stockée dans le jcr...)
L’ajout de fonctions d’inscription à un événement donné peut être réalisé très facilement par la mise en
place d’un simple formulaire affiché en mode live dont la vocation sera de créer des sous-noeuds à
l’événement en question pour chaque enregistrement, par exemple.
[jnt:event] > jnt:content, jmix:editorialContent, mix:title
 startDate (date) facetable
 endDate (date) facetable
 location (string) i18n facetable
 eventsType (string, choicelist[resourceBundle]) facetable <
meeting,consumerShow,roadShow,conference,show,pressConference
 body (string, richtext) i18n
© 2002 – 2013 Jahia Solutions Group SA
Page 11 sur 27
Jahia Modules
2.15 FAQ
FAQ
/modules/faq/
Ce module permet de construire des listes de questions fréquentes. Il est constitué de deux composants
distincts:
 sommaire de FAQ
 liste de FAQ
Pour construire un FAQ simple, le second composant se suffit à lui même. Si vous souhaitez construire un
FAQ relativement long, voire organiser celui-ci en plusieurs sections, vous devez utiliser le composant
sommaire. Celui-ci intègre une liste de FAQ mais en plus construit automatiquement, comme son nom le
laisse supposer, un sommaire automatique de toutes les questions.
[jnt:faq] > jnt:content, jmix:editorialContent
 question (string) i18n
 answer (string, richtext) i18n
2.16 Job
Job
/modules/job/
Ce module permet de gérer des offres d’emploi et de recevoir des propositions via un formulaire de
réponse en ligne. Le formulaire de réponse est extrêmement basique (nom, prénom, adresse email, texte
libre) et peut / doit être adapté aux besoins de votre projet.
[jnt:job] > jnt:content, mix:title, jmix:editorialContent
 reference (string)
 businessUnit (string) i18n facetable
 contract (string, choicelist[resourceBundle]) facetable < contract1, contract2, contract3, contract4
 date (string)
 town (string)
 country (string, choicelist[country,flag]) facetable
 educationLevel (string) i18n analyzer='keyword'
 description (string, richtext) i18n
 skills (string, richtext) i18n
 + * (jnt:jobApplication)
[jnt:jobApplication] > jnt:content
© 2002 – 2013 Jahia Solutions Group SA
Page 12 sur 27
Jahia Modules




firstname (string)
lastname (string) primary
email (string)
text (string, richtext) i18n
2.17 Location
Location
/modules/location/
Ce module permet de décrire un lieu, une adresse. Il est classiquement utilisé pour accompagner un
contenu principal et renseigner sur la localisation de celui-ci, ou constituer un annuaire de lieux. Il peut être
associé à un annuaire de personnes pour permettre la saisie d’une localisation pour chaque personne par
exemple.
[jnt:location] > jnt:content, mix:title, jmix:editorialContent
 street (string)
 zipCode (string) analyzer='keyword'
 town (string) i18n facetable
 country (string,choicelist[country,flag]) i18n facetable
 latitude (string) i18n facetable
 longitude (string) i18n facetable
En s’appuyant sur les champs latitude et longitude, il est possible de faire apparaître automatiquement une
carte via l’API Googlemaps.
2.18 People
People
/modules/people/html/
Ce module est destiné à décrire une personne (un “portait”). On l’utilise typiquement pour gréer les pages
“notre équipe” dans les sites corporates, de petits annuaires, ou encore des réaliser des fiches
biographiques dans le cadre d’une base documentaire.
Ce module n’est pas redondant avec le module “user” qui gère les utilisateurs enregistrés dans Jahia. Pour
réaliser un annuaire d’utilisateurs enregistrés ou une fiche biographique, il est recommandé de s’appuyer
directement sur le module “user” afin de ne pas dupliquer inutilement les données.
 firstname (string)
 lastname (string) primary
 function (string) i18n
 businessUnit (string, choicelist[resourceBundle]) analyzer='keyword' facetable < sales,marketing, GA,
production, humanressources
© 2002 – 2013 Jahia Solutions Group SA
Page 13 sur 27
Jahia Modules






telephone (string)
cellular (string)
fax (string)
email (string)
biography (string, richtext) i18n
picture (weakreference, file[mime='image/*'])
Le champ businessUnit est initialisé à partir de la définition (definitions.cnd) par une série de valeurs
directement écrites dans le fichier cnd. Ces valeurs peuvent être librement modifiées, étendues, ou
remplacées par un autre initialiseur.
Le module est fourni avec deux vues différentes /templates/people/html/people.jsp est la vue par défaut qui
présente un abstract /templates/people/html/people.full.jsp est la vue la plus complète qui présente tous les
champs
2.19 Press
Press
/modules/press/
Ce module gère des communiqués de presse
[jnt:press] > jnt:content, mix:title, jmix:editorialContent
 body (string, richtext) i18n
 date (date)
 pdfVersion (weakreference, file) i18n
2.20
Publication
Publication
/modules/publication/
Ce module définit un objet “publication” permettant de décrire de façon générique une oeuvre (titre, auteur,
date de sortie, etc.) il peut être aisément étendu pour intégrer des champs typiques de bibliographie ou de
documentation (n° ISBN, ISSN, n° de cote interne) ou de classement (genre, sous-genre, etc.). Le
composant permet d’attacher un fichier téléchargeable et une image de prévisualisation.
[jnt:publication] > jnt:content, jmix:editorialContent, mix:title
 file (weakreference, file) i18n
 preview (weakreference, file) i18n
 author (string) i18n analyzer='simple'
© 2002 – 2013 Jahia Solutions Group SA
Page 14 sur 27
Jahia Modules



source (string) i18n
date (string) i18n indexed=untokenized nofulltext
body (string, richtext) i18n
2.21 Frame
Frame
/modules/default/jnt_frame/html/ (affichage)
/modules/default/definitions.cnd (définition)
Ce module met à disposition des éditeurs un composant qui, inséré dans une page, déclare une Frame.
Tous les paramètres standards peuvent être définis par l’éditeur (taille, scrolling, espacement...)
[jnt:frame] > jnt:content, mix:title, jmix:editorialContent
 source (string) indexed=no
 name (string) indexed=no
 width (long) indexed=no
 height (long) indexed=no
 frameborder (long) = '0' indexed=no
 marginwidth (long) = '0' indexed=no - marginheight (long) = '0' indexed=no
 scrolling (string, choicelist[resourceBundle]) indexed=no < 'yes','no','auto'
 alt (string) i18n indexed=no
2.22 Video
Video
/modules/default/video/html/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module a pour objet d’insérer une vidéo dans une page. il utilise la balise <object> définie par le
standard. Lorsque le composant video est inséré dans une page, l’éditeur peut définir tous les paramètres
classiques définis par la norme W3C. Il est possible de définir un dur dans le fichier certains de ces
paramètres afin de ne plus devoir les demander aux éditeurs qui n’ont pas toujours les connaissances pour
renseigner correctement les champs.
[jnt:video] > jnt:content, mix:title, jmix:editorialContent
 name (string)
 source (weakreference, file)
 width (long) = '0'
 height (long) = '0'
 hspace (long) = '0'
© 2002 – 2013 Jahia Solutions Group SA
Page 15 sur 27
Jahia Modules









vspace (long) = '0'
autostart (string, choicelist[resourceBundle]) analyzer='keyword' nofulltext < 'true','false'
invokeURLs (string, choicelist[resourceBundle]) analyzer='keyword' nofulltext < 'true','false'
enablecontextmenu (string, choicelist) analyzer='keyword' nofulltext < '0','1'
showstatusbar (string, choicelist) analyzer='keyword' nofulltext < '0','1'
showcontrols (string, choicelist) analyzer='keyword' nofulltext < '0','1'
autosize (string, choicelist[resourceBundle]) analyzer='keyword' nofulltext < 'true','false'
displaysize (long) = '0' analyzer='keyword' nofulltext
loop (string, choicelist[resourceBundle]) analyzer='keyword' nofulltext < 'true','false'
© 2002 – 2013 Jahia Solutions Group SA
Page 16 sur 27
Jahia Modules
3 Modules définissant des fonctions
3.1 Author Display
AuthorDisplay
/modules/default/authorDisplay/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module, prévu essentiellement pour être intégré au niveau des templates, permet d’afficher
automatiquement des informations relatives à l’auteur d’un contenu. Il s’agit d’un composant destiné à
accompagner un composant principal auquel il est lié.
De multiples variantes d’affichage peuvent être ajoutées pour produire des vues de l’auteur plus ou moins
riches.
3.2 Back To Parent Page
Permet d’insérer un lien de retour vers la page parente
3.3 Bookmarks
Bookmarks
/modules/bookmarks/
Ce module définit deux composants, un composant “bookmark” actuellement utilisé dans la page User
Profile, qui permet de stocker des couples de données url/date, et un composant bookmarkButton qui
permet d’insérer dans des pages ou des templates Jahia un bouton qui, sur un simple clic, ajoutera la page
courante en bookmark dans la liste des bookmarks de l’utilisateur.
Améliorations possibles:
 une amélioration possible et agréable pour les utilisateurs, serait de coupler ce module avec un outil
en ligne de génération de vignettes et de stocker celle-ci avec le bookmark pour constituer une
galerie de liens plus parlante visuellement (exemples de services en ligne proposant le vignettage de
pages web: http://snapcasa.com/, http://www.thumbalizr.com/, http://webthumb.bluga.net/home, etc.)
 une seconde amélioration très simple consisterait à ajouter un champ “notes” à l’objet bookmark pour
que l’utilisateur puisse commenter celui-ci.
© 2002 – 2013 Jahia Solutions Group SA
Page 17 sur 27
Jahia Modules
3.4 BreadCrumb
BreadCrumb
Ce module permet d’insérer un fil d’Ariane dans une page. Le fil d’Ariane affiche le chemin de la page
courante depuis la page d’accueil du site.
3.5 Calendar
Calendar
/modules/calendar/
Ce module permet d’insérer un calendrier dans une page, et de mettre ce calendrier en relation avec une
liste de contenu. Une fois la relation établie et le champs de type date définissant cette relation choisi (le
plus souvent il s’agit de la date de création ou de la date de modification du contenu, mais cela n’est pas
obligatoire) le calendrier affichera pour chaque date le nombre d’éléments correspondants dans la liste,
ainsi qu’un lien sur la date en question qui aura pour effet de filtrer la liste sur la date choisie.
Améliorations possibles:
 L’ajout d’un petit formulaire très simple en mode live pour que les visiteurs puissent ajouter leurs
propres contenus dans la liste permet de créer un système d’annonces / calendrier public ou privé en
quelques minutes.
3.6 CSS Page
cssPage
/modules/cssPage/
Ce module, livré à titre d’exemple pour une utilisation sélective et appropriée aux besoins spécifiques de
vos projets, permet à un éditeur de redéfinir en ligne un ensemble de style css majeurs, tels que l’image et
la couleur de background, les tailles, couleurs et polices de caractères, la couleur des liens non suivis,
suivis, etc.
Les valeurs choisies par l’utilisateur sont introduites dans la page courante sous forme d’un ajout de style
in-line. Par cette approche, la css originale n’est jamais modifiée et les styles définis par l’utilisateur ont un
poids supérieur à ceux de la feuille de style.
Laissé à la libre utilisation des éditeurs, ce module permet d’offrir une grande liberté, mais aussi d’obtenir
des résultats graphiquement catastrophiques, aussi recommandons nous de ne l’utiliser que sélectivement
(pour enrichir les pages blog par exemple, ou chaque utilisateur est responsable de son propre blog) et de
limiter le nombre de champs laissés à disposition des rédacteurs afin de préserver un minimum de qualité
graphique.
© 2002 – 2013 Jahia Solutions Group SA
Page 18 sur 27
Jahia Modules
[jnt:pageCss] > jnt:content, jmix:sandboxContent
 j:backgroundColor (string) = '' indexed=no
 j:bodyColor (string) = '' indexed=no - fontFamily (string,choicelist) indexed=no < '', 'Arial, Helvetica, sans-serif', 'Times
New Roman, Times, serif', 'Courier New, Courier, monospace', 'Georgia, Times New Roman, Times, serif', 'Verdana,
Arial, Helvetica, sans-serif', 'Geneva, Arial, Helvetica, sans-serif'
 lineHeight (string,choicelist) indexed=no < '', '100%', '110%', '120%', '130%', '140%', '150%', '160%', '170%', '180%',
'190%', '200%'
 fontSize (string,choicelist) indexed=no < '', '80%', '90%', '100%', '110%', '120%', '130%', '140%', '150%'
 j:aLinkVisitedColor (string) = '' indexed=no
 j:aHoverActiveColor (string) = '' indexed=no
 j:h1Color (string) = '' indexed=no
 j:h2Color (string) = '' indexed=no
 j:h3Color (string) = '' indexed=no
 j:h4Color (string) = '' indexed=no
 j:h5Color (string) = '' indexed=no
 h1FontFamily (string,choicelist[resourceBundle]) indexed=no < '', 'Arial, Helvetica, sans-serif', 'Times New Roman,
Times, serif', 'Courier New, Courier, monospace', 'Georgia, Times New Roman, Times, serif', 'Verdana, Arial,
Helvetica, sans-serif', 'Geneva, Arial, Helvetica, sans-serif'
 h2FontFamily (string,choicelist[resourceBundle]) indexed=no < '', 'Arial, Helvetica, sans-serif', 'Times New Roman,
Times, serif', 'Courier New, Courier, monospace', 'Georgia, Times New Roman, Times, serif', 'Verdana, Arial,
Helvetica, sans-serif', 'Geneva, Arial, Helvetica, sans-serif'
 h3FontFamily (string,choicelist[resourceBundle]) indexed=no < '', 'Arial, Helvetica, sans-serif', 'Times New Roman,
Times, serif', 'Courier New, Courier, monospace', 'Georgia, Times New Roman, Times, serif', 'Verdana, Arial,
Helvetica, sans-serif', 'Geneva, Arial, Helvetica, sans-serif'
 h4FontFamily (string,choicelist[resourceBundle]) indexed=no < '', 'Arial, Helvetica, sans-serif', 'Times New Roman,
Times, serif', 'Courier New, Courier, monospace', 'Georgia, Times New Roman, Times, serif', 'Verdana, Arial,
Helvetica, sans-serif', 'Geneva, Arial, Helvetica, sans-serif'
 h5FontFamily (string,choicelist[resourceBundle]) indexed=no < '', 'Arial, Helvetica, sans-serif', 'Times New Roman,
Times, serif', 'Courier New, Courier, monospace', 'Georgia, Times New Roman, Times, serif', 'Verdana, Arial,
Helvetica, sans-serif', 'Geneva, Arial, Helvetica, sans-serif'
 j:colorResource1 (string) = '' indexed=no
 j:colorResource2 (string) = '' indexed=no
 img1 (weakreference, file[mime='image/*'])
 img2 (weakreference, file[mine='image/*'])
3.7 Current User
Current User
/modules/default/jnt_currentUserDisplay/html/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module affiche le nom (username) de l’utilisateur courant, si celui-ci s’est authentifié. Il est utilisé
classiquement en haut de page pour signaler à l’utilisateur qu’il a été reconnu.
Il peut être étendu très facilement pour afficher des informations complémentaires, ou servir de base pour
créer différents composants ayant besoin de s’appuyer sur l’identification de l’utilisateur courant.
© 2002 – 2013 Jahia Solutions Group SA
Page 19 sur 27
Jahia Modules
3.8Facet
Facet
/modules/facets/
Ce module gère les capacités de Jahia de recherche par facettes. Il permet d’insérer un composant de
facettes qui peut être mis en relation avec la liste d’éléments à facetter. Contrairement aux autres CMS qui
demandent à ce que les facettes soient codées manuellement par les développeurs, Jahia permet de faire
cela dans le studio par simple sélection-clic.
3.9 FormBuilder
Form Builder
/modules/formBuilder/
Ce module permet de construire un formulaire directement dans une page Jahia en insérant des champs
de tous types et en définissant les règles de validation associées, ainsi que le traitement attendu pour le
formulaire lorsque celui-ci est posté par un utilisateur.
Les règles de validation fournies actuellement sont
 obligatoire
 validation d’une plage de données
 validation de syntaxe pour adresse email
 validation de date
D’autres règles de validation peuvent être ajoutées par des développeurs, déclarées en tant que
composants de formulaires, elles deviennent dès lors applicables aux champs de vos formulaires.
3.10 Language Switcher
Language Switcher
/modules/default/languageSwitcher/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module insère dans la page un lien par langue active sur le site, permettant aux utilisateurs de passer
d’une langue à l’autre. Il est actuellement fourni avec un seul rendu, des rendus supplémentaires (avec ou
sans drapeau, sous forme de liste déroulante, etc.) seront ajoutés ultérieurement.
© 2002 – 2013 Jahia Solutions Group SA
Page 20 sur 27
Jahia Modules
3.11 Latest
Latest
/modules/latest/
Ce module définit deux composants: - liste des dernières pages crées ou modifiées (au choix de l’éditeur) liste des derniers contenus de type X (au choix de l’utilisateur) créés ou modifiés
A partir de ces deux exemples, il est très aisé de créer, si besoin est, une liste de composants prêts à
l’emploi fonctionnant sur le même principe, en fonction des besoins fonctionnels de votre projet (liste de
derniers articles, des derniers utilisateurs, des derniers commentaires...)
3.12 Login Form
Login Form
/modules/default/loginForm/html/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module affiche un formulaire d’authentification. Lorsque l’utilisateur est authentifié, le module affiche
3.13 Navigation Menu
NavMenu
Ce module gère le menu de navigation standard de Jahia qui reprend l’exacte arborescence des pages et
liens créés dans le sélecteur. Il est possible de choisir le niveau de départ du menu, et son niveau de
profondeur, ainsi qu’une classe CSS qui permet de changer son apparence instantanément (cf. document
dédié aux Menus)
© 2002 – 2013 Jahia Solutions Group SA
Page 21 sur 27
Jahia Modules
3.14 Page Tagging
Page Tagging
Ce module affiche un formulaire que les visiteurs peuvent utiliser pour ajouter un tag à la page courante. A
noter que le composant Nuage de tags (tag cloud) est définit dans le module Facets.
3.15 Page Title
Page Title
/modules/default/jnt_pageTitle/ (affichage)
/module/default/definitions.cnd (structure)
Affiche le titre de la page courante. Ce composant est essentiellement destiné à être utilisé lors de la
construction des templates. Le fichier de rendu défini actuellement un affichage du titre dans une balise
<h2> avec une classe “pageTitle”.
Une modification rapide permettrait de donner la possibilité aux éditeurs de choisir le niveau de titre à
utiliser (h1, h2, h3) ou encore la couleur, etc.
On peut également imaginer étendre se composant pour afficher automatiquement l’auteur de la page, la
date de création et / ou la date de dernière modification par exemple.
3.16 Pol
Pol
/modules/Pol/
Ce module permet de créer un sondage. L’éditeur définit la question et les n réponses possibles. Les
fonctions de calcul sont implémentées mais le rendu du vote (l’affichage) est assez basique et peut être
personnalisé en fonction de vos attentes graphiques.
© 2002 – 2013 Jahia Solutions Group SA
Page 22 sur 27
Jahia Modules
3.17 Portlet
Portlet
Ce module permet d’insérer une portlet (JSR 168 / JSR 283)
3.18 Query
Query
/modules/default/jnt_query/html/ (affichage)
/modules/default/definitions.cnd (structure)
Ce module permet d’insérer dans une page le résultat d’une requête (SQL2, QOM ou XPath). Lorsque le
composant est inséré l’éditeur peut saisir dans un champ la requête souhaitée.
3.19 Rating
Rating
/modules/rating
Ce module permet de proposer aux utilisateurs de noter une page ou un contenu. Le système de vote et sa
représentation graphique dans la page sont disponibles en deux versions
 Stars, représentation classique avec 5 étoiles. Le note est la somme des votes sur 5 divisée par le
nombre total de votants.
 plusone_minorone, représentation que l’on trouve souvent dans des forums ou l’utilisateur peut voter
+1 ou -1. La note est l’addition de tous les votes + et -.
Le module est également accompagné d’un composant pour afficher les contenus les mieux notés.
3.20
RSS
Rss
Ce module permet de définir une adresse de flux RSS et le nombre d’entrées désirées qui seront dès lors
© 2002 – 2013 Jahia Solutions Group SA
Page 23 sur 27
Jahia Modules
affichées dans la page.
3.21 Search
Search
/modules/search/
3.22 Shortcuts
Shortcuts
/modules/default/jnt_shortcuts/
/module/default/definitions.cnd
Ce module insère une série de liens définis directement dans le fichier jsp de rendu. Par défaut il intègre
 une fonction pour se déconnecter de Jahia (logout)
 l’affichage du user Name pour l’utilisateur courant (si connecté)
 un raccourci vers la page personnelle de l’utilisateur connecté
 une fonction de changement de la taille des caractères dans la page
 des liens pour passer en mode édition ou contribution (selon les droits de l’utilisateur connecté)
 un raccourci vers la page d’accueil du site courant
 un raccourci vers le plan du site
3.23 Twitter
Twitter
/modules/twitter/
Ce module définit actuellement deux composants
 TwitterSearch : affiche dans la page un simple champ de recherche qui permet de récupérer sur
l’instant le feed twitter correspondant. L’objet de la recherche n’est pas conservé dans la JCR, il s’agit
juste d’un paramètre passé sur l’instant pour recevoir un résultat.
 TwitterFeed : permet de définir un tag de recherche, qui est stocké dans le JCR. Le composant
affichera donc en permanence le Feed twitter en question.
© 2002 – 2013 Jahia Solutions Group SA
Page 24 sur 27
Jahia Modules
3.24 Top Stories
Top Stories
Ce module permet d’ajouter une option dans les engines standard d’édition pour que d’un simple clic, les
éditeurs puissent dire qu’un contenu, quel qu'il soit apparaisse dans un bloc des “top stories” (ce bloc peut
être inséré n’importe où).
Tel que fourni le module gère trois niveaux hiérarchiques parmi lesquels les éditeurs peuvent choisir, il peut
être aisément simplifié si les top stories n’ont pas besoin d’être graphiquement différenciées ou
hiérarchisées.
3.25 Sitemap
Ce module fait apparaître une option dans les interfaces d’édition de Jahia.
Cette option lorsqu’elle est activée permet d’ajouter l’élément courant au fichier sitemap.xml qui respecte la
norme définie par Google. L’éditeur peut également définir l’importance de l’élément et la périodicité à
laquelle Jahia va demander à Google réindexer cet élément. Bien que la gestion du sitemap.xml soit
fastidieuse pour les éditeurs, il s'agit d’un élément essentiel en terme de visibilité sur internet et de
référencement des sites publics.
Une approche moins manuelle mais moins fine peut être envisagée afin que le fichier sitemap.xml soit créé
sans intervention humaine en n’y insérant que certains types de contenus, par exemple. Ce module est
toutefois un bon exemple à regarder pour des intégrateurs désirant faire apparaître leurs propres options
dans les interfaces de Jahia.
3.26 User Registration
User registration
/templates/userregistration/html/ (affichage)
/templates/userregistration/definitions.cnd (structure)
Ce module une fois inséré dans une page se présente comme un formulaire permettant aux utilisateurs de
s'auto-enregistrer dans Jahia. Lors de l’insertion du composant dans une page
 il est possible de renseigner la ou les personnes à prévenir qu’un nouvel utilisateur s’est enregistré
(par email)
 il nécessaire de définir la page sur laquelle l’utilisateur sera redirigé une fois le formulaire envoyé.
Par défaut les champs suivants sont présents dans le formulaire et définis comme obligatoires
 First Name
 Last Name
 Username
© 2002 – 2013 Jahia Solutions Group SA
Page 25 sur 27
Jahia Modules


Password
Email
Le formulaire peut être étendu à volonté pour insérer des champs correspondant à d’autres propriétés du
type user.
<input type="text" name="property_name" id="property_name" value="" tabindex="xx"/>
L’enregistrement d’un utilisateur donne lieu à l’envoi automatique d’un email à l’administrateur de la
plateforme, ainsi que d’un mail de bienvenue au nouvel utilisateur enregistré.
Le dossier userregistration/mails/templates/ contient le modèle utilisé pour prévenir le responsable des
enregistrements. Ce template accepte le HTML et peut être personnalisé aisément.
© 2002 – 2013 Jahia Solutions Group SA
Page 26 sur 27
Jahia Modules
Jahia Solutions Group SA
9 route des Jeunes,
CH-1227 Les acacias
Genève, Suisse
http://www.jahia.com
© 2002 – 2013 Jahia Solutions Group SA
Page 27 sur 27

Documents pareils

Guide d`administration Jahia EE v6.1

Guide d`administration Jahia EE v6.1 « Enregistrer les modifications » pour valider votre changement. Cette option est aussi disponible directement dans la barre d’outils Edition dans la section « paramètres de la page ». Cette option...

Plus en détail