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
« 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...