Guide d`administration Jahia EE v6.1

Transcription

Guide d`administration Jahia EE v6.1
Documentation
Guide d’administration
Jahia EE v6.1
Jahia propose le premier Web Content Integration Software,
puissante combinaison d’un Gestionnaire de Contenu Web
avec des fonctionnalités de Gestion Documentaire et de
Portail applicatif
Jahia
9 route des Jeunes,
CH-1227 Les acacias
Genève, Suisse
www.jahia.com
Le site de la Société
www.jahia.org
Le site de la Communauté
Avril 2010
Sommaire
Sommaire ........................................................................................................................................................2
1
Introduction à l’Administration de Jahia.....................................................................................................4
2
Paramètres du site ....................................................................................................................................6
2.1
Propriétés d’une page.........................................................................................................................8
2.2
Gérer les utilisateurs ...........................................................................................................................9
2.2.1
Créer un nouvel utilisateur .........................................................................................................11
2.2.2
Inscrire un utilisateur d’un autre site virtuel ................................................................................13
2.2.3
Editer / Afficher les propriétés de l’utilisateur .............................................................................13
2.2.4
Supprimer l’utilisateur sélectionné..............................................................................................14
2.2.5
Utilisation de l’interface principale de gestion des utilisateur .....................................................14
2.3
Gérer les groupes .............................................................................................................................16
2.3.1
Ajouter des utilisateurs à un groupe...........................................................................................17
2.3.2
Supprimer un membre du groupe ..............................................................................................19
2.3.3
Dupliquer un groupe existant .....................................................................................................19
2.3.4
Options avancées.......................................................................................................................19
2.4
Gérer le moteur de recherche...........................................................................................................20
2.5
Gérer les langues..............................................................................................................................22
2.5.1
Utiliser plusieurs langues lors de la navigation sur le site ..........................................................23
2.5.2
Ajouter une nouvelle langue.......................................................................................................23
2.5.3
Désactiver une langue................................................................................................................24
2.5.4
Mappages de langues ................................................................................................................24
2.6
Gérer un site distant pour export automatique..................................................................................26
2.7
Gérer les permissions du site ...........................................................................................................30
2.8
Paramètres HTML.............................................................................................................................33
2.9
Vérifications d’intégrité......................................................................................................................35
2.9.1
Vérification des liens (url) internes .............................................................................................35
2.9.2
Conformité avec la norme d’accessibilité WAI/WCAG ...............................................................36
2.9.3
Verrouillage automatique des fichiers publiés............................................................................36
2.9.4
Renforcer la vérification des liens ..............................................................................................37
2.10
Module Analytique ..........................................................................................................................38
2.11
Choisir le thème par défaut.............................................................................................................40
2.12
Nouveau
:
Vérificateur de liens......................................................................................................41
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 2 sur 116
2.12.1
Comment auditer les liens externes en utilisant le module de vérification des liens................43
2.12.2
Comment corriger les mauvais liens depuis le module de verification des liens......................48
2.13
Nouveau
:
Vanity URL ...................................................................................................................51
3
Configuration des extensions ..................................................................................................................52
3.1
Nouveau
:
Installer et configurer la plateforme de blog ...................................................................52
3.1.1
Installation par défaut .................................................................................................................52
3.1.2
Comment déployer dans un set de templates existant ..............................................................55
3.1.3
Configuration de la plateforme de blog ......................................................................................58
3.1.4
Mise en place de la plateforme de blog......................................................................................60
3.1.5
Comment définir un workflow pour la plateforme de blog ..........................................................63
3.2
Nouveau
:
Comment installer le Formulaire ....................................................................................64
3.2.1
Installation par défaut .................................................................................................................64
3.2.2
Comment déployer dans un set de templates existant ..............................................................68
3.2.3
Configuration du Formulaire.......................................................................................................71
3.3
Nouveau
:
Intégration de la Newsletter ...........................................................................................74
3.3.1
Architecture du module de Newsletter .......................................................................................74
3.3.2
Méthode d’intégration.................................................................................................................75
3.3.3
Pré-requis...................................................................................................................................88
4
Paramètres du Serveur ...........................................................................................................................89
4.1
Gestion des Sites Virtuels.................................................................................................................90
3.1.1
Créer un nouveau site virtuel .....................................................................................................93
4.2
Gérer les catégories..........................................................................................................................98
4.3
Configuration des notifications E-mails...........................................................................................101
3.1.2
Gérer les portlets......................................................................................................................103
4.4
Gestion des logs d’administration ...................................................................................................106
4.5
Editer les propriétés du Super Administrateur ................................................................................107
4.6
Statut du serveur et des caches .....................................................................................................108
4.6.1
Verrous – Purge des verrous de contenu.................................................................................110
4.7
Gérer les permissions sur le serveur ..............................................................................................111
4.8
Gestion de la politique des mots de passe .....................................................................................112
4.9
Gestion des correctifs .....................................................................................................................113
4.10
Système de suivi des incidents.....................................................................................................114
4.11
Documentation..............................................................................................................................115
4.12
A propos de Jahia .........................................................................................................................115
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 3 sur 116
1 Introduction à l’Administration de Jahia
Jahia propose un module de back office d’administration pour répondre aux besoins des administrateurs de
sites, du server et autres utilisateurs ayant des droits particuliers aux taches d’administration. Ce module
est appelé “l’Administration de Jahia” ou “Admin Center”.
Le fait d’avoir les droits d’administration vous donne accès à l’administration de Jahia via la barre d’outil
standard.
Par défaut, après installation, Jahia est livré avec :
•
Un utilisateur « Root » : C’est utilisateur est le « super utilisateur » du système, il a tous les droits
sur la totalité du système. Il peut accéder à toutes les fonctionnalités de la plate forme pour tous les
sites hébergés. C’est un utilisateur système à qui les droits ne peuvent être modifiés, même s’il
n’apparaît pas directement dans les interfaces de gestion des permissions des différents objets de
contenu. L’utilisateur « root », naturellement, n’est pas contraint aux permissions du système, il a
tous les droits et ils sont irrévocables.
•
Un groupe Administrateur de site (Administrators) et un utilisateur administrateur de site
(siteadmin) : A la création d’un nouveau site virtuel, Jahia créera automatiquement un nouveau
groupe « Administrators » dédié à ce nouveau site et proposera de manière optionnelle la création
d’un utilisateur administrateur de site. Un utilisateur Jahia ou un utilisateur provenant d’un annuaire
externe type LDAP pourra être ajouté par la suite au groupe « Administrators ». Le fait d’appartenir
au groupe « Administrators », fait de l’utilisateur membre le « webmaster » du site virtuel concerné.
Toutes restrictions de droit ou de sécurité pour ce site virtuel n’affecteront pas les membres du
groupe « Administrators ».
•
Pour finir, les administrateurs de sites ou du server ont la possibilité de déléguer des tâches à
d’autres utilisateurs du système. Par exemple, l’administrateur du site pourra donner l’accès de la
gestion des utilisateurs et groupes à d’autres utilisateurs, ou encore donner la possibilité de gérer
l’arbre des catégories. Bien entendu ces utilisateurs n’auront accès qu’aux fonctionnalités définies
par l’administrateur du site et à celle-ci uniquement.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 4 sur 116
La première partie de ce guide traite en particulier des outils disponibles pour la gestion d’un site virtuel
pour un administrateur de site ou un « webmaster ».
La deuxième partie est consacrée aux autres fonctionnalités, celles données à l’utilisateur « root » et qui
pourront affecter tous les sites virtuels déclarés sur le système.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 5 sur 116
2 Paramètres du site
L’interface d’administration se présente comme ci-dessous en tant qu’administrateur de site :
Figure 2-1: Ecran de paramétrage d’un site virtuel
Cet écran propose tous les outils nécessaires à l’administration d’un site hébergé sur la plate-forme Jahia.
Dans la mesure où l’administrateur de site à les droits d’administration sur d’autres sites virtuels hébergés
sur le système, il pourra via une liste déroulante accéder aux autres sites virtuels à des fins de
management.
Figure 2-2: Un administrateur de site gérant plusieurs sites virtuels.
L’administrateur pourra accéder aux « Paramètres du serveur » mais quelques unes des options ne seront
pas disponibles et apparaitront grisées.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 6 sur 116
En cliquant sur « Quitter l’administration », l’administrateur du site sera redirigé vers la page d’accueil du
site précédemment sélectionné via l’interface d’administration. L’autre possibilité pour changer de site peut
se faire directement via la barre d’outils en mode édition.
Figure 2-3: Changement de site virtuel directement par la barre d’outil
Un utilisateur avancé ayant les droits d’administration pourra accéder aux options sur lesquelles il a droit.
Dans l’exemple ci-dessous, l’utilisateur avancé ne pourra accéder qu’à la gestion des utilisateurs et
groupes. Les autres options seront grisées.
Figure 2-4: Paramètres du site pour un utilisateur avancé avec droits limités
Abordons maintenant chacune des options disponibles pour paramétrer un site.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 7 sur 116
2.1 Propriétés d’une page
Cette propriété vous permet de passer très simplement d’un thème à un autre. Dans la précédente version
de Jahia vous ne disposiez que d’une simple notion de Template qui regroupait le squelette de la page (cf
positionnement des objets de contenu sur la page) et le rendu graphique encore appelé CSS ou encore
thème dans Jahia.
Dans Jahia v6.1 vous pouvez changer de thème très facilement en passant par l’interface d’administration.
En revanche la modification du template lui-même n’est plus disponible dans Jahia v6.1
Figure 2-5 : Paramètres d’un page
Vous avez juste à choisir la page sur laquelle vous désirez appliquer un nouveau thème, puis cliquez sur
« 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 peut être particulièrement utile pour modifier un thème contenant des erreurs
comme par exemple vous empêchant d’accéder aux propriétés de votre page (étant caché du à une erreur
de positionnement d’un contenu graphique sur le thème choisi).
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 8 sur 116
2.2 Gérer les utilisateurs
Cette interface permet aux administrateurs de site de gérer les utilisateurs Jahia pour le site sélectionné
ainsi que les propriétés attachées aux utilisateurs (page d’accueil par défaut, autres propriétés et
préférences).
Figure 2-6: Gérer les utilisateurs
Par défaut Jahia propose son propre système pour gérer les utilisateurs (jahia_db). Cependant, il est
possible de connecter très facilement un annuaire externe du type LDAP ou MS Active Directory (AD).
Dans ce cas, l’administrateur du site aura une vue globale des différents utilisateurs, Jahia et autre.
Toutes les propriétés (nom, prénom, téléphone, adresse) des fournisseurs externes comme LDAP ou AD sont uniquement
accessibles en lecture seule dans Jahia. Ces métadonnées et la gestion globale des ces utilisateurs (création, suppression) ne
pourra pas être fait dans Jahia directement. Vous devrez continuer à utiliser les interfaces de gestion de LDAP ou AD. Pour des
raisons de performance, Jahia cache les utilisateurs, les groupes et leurs propriétés. Vous pourriez être amené à purger les caches
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 9 sur 116
(voir chapitre Cache) ou utiliser un des web service existant du back-office Jahia dans le but de rendre automatique la purge des
caches après modification des propriétés utilisateurs ou groupes.
Chaque utilisateur provenant d’un annuaire distant de type LDAP/Active Directory ou autre bénéficiera des
propriétés Jahia (redirection vers la page d’accueil spécifique) ou tous autres préférences utilisateurs
(positionnement des mashups sur sa page personnalisée). Ces propriétés sont créées et ajoutées par
Jahia au-dessus des propriétés héritées en provenance de LDAP/AD ou autre. Ces propriétés sont bien
évidement modifiables du fait qu’elles soient propres à Jahia.
Figure 2-7: Opérations sur les utilisateurs
Vous pouvez créer de nouveaux utilisateurs (Utilisateurs Jahia uniquement), inscrire un utilisateur
provenant d’un autre site virtuel, mettre à jour les propriétés ou supprimer un utilisateur (Utilisateurs Jahia
uniquement) à partir des différentes barres d’outils.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 10 sur 116
2.2.1
Créer un nouvel utilisateur
L’interface suivante permet de créer un nouvel utilisateur :
Figure 2-8 : Formulaire de création d’un nouvel utilisateur
Il est important de noter que le nom d’un utilisateur ne pourra pas être changé après création et qu’il doit
être unique pour l’ensemble des utilisateurs Jahia du système. Il n’est pas possible d’avoir 2 utilisateurs
distincts nommés ‘Pierre’ déclarés dans 2 sites virtuels différents, car les utilisateurs peuvent se loguer sur
tous les sites virtuels du système (voir plus loin dans le chapitre).
Les autres options possibles sont :
•
Désactiver les notifications par email, l’utilisateur concerné ne recevra aucune notification de la part
du moteur du workflow, ainsi qu’aucune des notifications issues du système Jahia.
•
Langage par défaut : les notifications seront envoyées dans la langage préféré de l’utilisateur.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 11 sur 116
•
Page d’accueil : il est également possible de sélectionner une page du site comme page d’accueil
par défaut. Lors de l’identification au système, l’utilisateur aura la possibilité d’être redirigé vers la
page définie dans ses propriétés utilisateur.
Figure 2-9: Sélection de la page d’accueil pour un utilisateur
Cette interface peut être personnalisée en fonctions des besoins du client par l’ajout de nouvelles
propriétés. Toutes ces propriétés sont initialisables à la création de l’utilisateur par l’administrateur ou de
manière automatique (auto création de compte sur le site), elles peuvent être ensuite modifiées par
l’utilisateur final en accédant à la page “Mes paramètres”.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 12 sur 116
2.2.2
Inscrire un utilisateur d’un autre site virtuel
Les utilisateurs dans Jahia sont rattachés à un site virtuel en particulier, celui sur lequel ils ont été créés au
départ. Leurs paramètres ne sont disponibles qu’à partir de ce site. Cependant, il est parfois nécessaire de
pouvoir partager les utilisateurs entre différents sites virtuels d’un même système. Cette option vous
permet d’inscrire un utilisateur d’un autre site à dès fin d’administration à un autre site sélectionné.
Il vous suffit simplement de sélectionner le site parmi les sites du système et de sélectionner l’utilisateur
désiré, vous pourrez ensuite ajouter ce compte utilisateur comme s’il était local à votre site.
Les utilisateurs provenant d’annuaire externe type LDAP/AD ou autres sont partagés par tous les sites présents dans le
système, il n’est donc pas nécessaire de les inscrire plusieurs fois dans les différents sites.
2.2.3
Editer / Afficher les propriétés de l’utilisateur
Cette option vous permet de modifier les propriétés d’un utilisateur existant, sélectionnez l’utilisateur puis
cliquez sur le bouton correspondant.
Figure 2-10 : Editer les propriétés utilisateurs
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 13 sur 116
Le fait de double cliquer sur un utilisateur affiche également la fenêtre d’édition d’un utilisateur.
2.2.4
Supprimer l’utilisateur sélectionné
La suppression d’un utilisateur l’éliminera définitivement du site courant. En revanche cette option ne
fonctionne que pour les utilisateurs enregistrés dans Jahia. Pour ceux enregistrés dans un annuaire
externe il faudra utiliser les solutions correspondantes.
L’utilisateur supprimé ainsi que ses préférences continuent d’exister au sein de Jahia, le nom d’utilisateur ne pourra donc
pas être réutilisé pour un nouvel utilisateur.
Attention : Dans le cas ou l’utilisateur est inscrit sur plusieurs sites virtuels, l’utilisateur sera uniquement
supprimé du site courant (sélectionné), il pourra toujours s’identifier aux autres sites auxquels il appartient.
Il faudra manuellement supprimer l’utilisateur de tous les sites présents sur le système afin de supprimer
l’utilisateur de manière permanente.
2.2.5
Utilisation de l’interface principale de gestion des utilisateur
Il est également possible de naviguer, de rechercher et de trier les utilisateurs Jahia et en provenance des
différents fournisseurs externes à partir de cette interface.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 14 sur 116
Dans le cas où vous gérez des centaines d’utilisateurs, le champ de recherche vous permet d’accéder
rapidement à un utilisateur donné. Des “Wildcards“ peuvent être utilisés comme par exemple, rechercher
tous les utilisateurs ayant leur nom qui commence par “s”. Il faudra entrer “s*” dans le champs de
recherche et ensuite cliquer sur le bouton rechercher. Il est également possible d’ordonnancer les résultats
de manière descendante et/ou ascendante, par fournisseurs ou par nom d’utilisateur en cliquant sur les
boutons au dessus de la liste de résultats.
Le super utilisateur (root) et l’utilisateur anonyme (guest) ne peuvent pas être supprimés du système. L’utilisateur root
n’apparaît pas dans la liste des utilisateurs du fait qu’il a implicitement tous les droits sur le système. L’administrateur de site est
par contre optionnel et peut être supprimé.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 15 sur 116
2.3 Gérer les groupes
Cette interface est pratiquement identique à la précédente mais pour la gestion des groupes.
Figure 2-11 : Gérer les groupes
De la même manière que les utilisateurs, les groupes peuvent être gérés localement dans Jahia ou
provenir d’un annuaire externe type LDAP ou AD. Le fait de connecter un annuaire externe, rend les
groupes disponibles pour tous les sites virtuels du système. Cependant les groupes Jahia sont propres à
chaque site virtuel, il est donc possible d’avoir 2 groupes distincts « Editeur » pour 2 sites virtuels.
Les groupes Jahia peuvent également inclure les utilisateurs en provenance de LDAP/AD. Vous pouvez
très bien créer des groupes propres à Jahia qui n’existent pas dans le LDAP/AD qui regroupent les
utilisateurs provenant de cet annuaire, vous pouvez même combiner utilisateurs Jahia et LADAP/AD au
sein d’un même groupe Jahia (ex : Utilisateurs qui pourraient s’inscrire directement sur le site et ne faisant
pas parti de l’annuaire interne.)
Cette version de Jahia n’a pas la possibilité de gérer des groupes de groupes.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 16 sur 116
Trois groupes par défaut existent dans Jahia et ils ne peuvent pas être supprimés.
•
Administrateurs : Utilisateurs bénéficiant de tous les droits d’administration pour le site courant.
•
Utilisateurs : Tous les utilisateurs authentifiés (Jahia ou LDAP/AD) sont automatiquement inscrits
comme membre de ce groupe.
•
« Guest » : ce groupe représente tous les utilisateurs anonymes ou utilisateurs authentifiés.
L’utilisateur anonyme (guest) est considéré dans Jahia comme automatiquement logué. Si une
page dans Jahia est uniquement accessible par l’utilisateur guest, les autres utilisateurs
(authentifiés) n’auront pas accès à cette page. Vous devrez rendre accessible la page à tout le
groupe Guest, pour que les utilisateurs anonymes ainsi que les utilisateurs authentifiés y aient
accès.
2.3.1
Ajouter des utilisateurs à un groupe
Pour ajouter ou supprimer un utilisateur d’un groupe, il faut sélectionner un groupe et cliquer sur “Editer le
groupe sélectionné” (en double cliquant).
Figure 2-12: Ajouter un nouveau membre d’un groupe
Tous les utilisateurs sont affichés par défaut, il est possible de filtrer la liste via la recherche.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 17 sur 116
Si vous désirez ajouter un nouvel utilisateur à un groupe, cliquez sur ajouter un membre dans la barre
d’outil.
Figure 2-13: Sélectionner un utilisateur
Il faut sélectionner les utilisateurs et cliquer sur le bouton “Add” pour les ajouter dans le groupe courant.
Vous pouvez aussi double cliquer sur le nom de l’utilisateur pour l’ajouter dans le groupe directement. Vous
pouvez donc garder la fenêtre de sélection ouverte, faire votre sélection via recherche et/ou réordonner les
résultats en cliquant sur l’entête des colonnes, puis double cliquer sur l’utilisateur désiré. Lorsque vous
avez terminé votre sélection pour le groupe courant, vous pouvez soit cliquer sur le bouton « Add » si vous
avez toujours des utilisateurs sélectionnés ou « Cancel » si vous avez ajouté vos utilisateurs en double
cliquant.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 18 sur 116
2.3.2
Supprimer un membre du groupe
Sélectionnez un utilisateur (appuyer sur la touche CTRL pour en sélectionner plusieurs) et cliquez sur le
bouton « Supprimer ces membres ».
2.3.3
Dupliquer un groupe existant
Vous pouvez également copier un groupe en conservant les membres du groupe source. Par exemple,
sélectionner le groupe « Auteur » et cliquer sur le bouton « copier le groupe sélectionné ». Donner un
nouveau nom au groupe copié et appuyer sur OK. Vous avez désormais un nouveau groupe contenant
tous les membres du groupe d’origine.
2.3.4
Options avancées
Vous avez la possibilité de renforcer la politique de mot de passe pour tous les utilisateurs d’un groupe
donné. Normalement, le renforcement de la politique de mot de passe se fait au niveau du site virtuel (Voir
Gestion des sites virtuels) afin de l’appliquer à tous les utilisateurs du site. Il est toutefois utile de renforcer
la politique de mots de passe pour un groupe donnée, par exemple pour le groupe « employés » mais pas
pour le groupe « communautaire ».
Cette option n’est pas applicable aux utilisateurs provenant de bases de données externes type LDAP/AD du fait qu’ils
sont accessibles uniquement en lecture seule. La politique de mots de passe est uniquement applicable aux utilisateurs Jahia.
Il est également possible de définir une page d’accueil spécifique pour un groupe donné. Tous les
membres du groupe pourront être redirigés, après s’être identifiés vers cette page d’accueil. Cette option
ne remplace pas les préférences utilisateur d’origine pour les pages d’accueil, elle est uniquement
applicable aux utilisateurs qui n’ont pas de page d’accueil spécifique. Cette option est mise par défaut lors
de l’ajout d’un utilisateur à un groupe, l’utilisateur en bénéficiera automatiquement.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 19 sur 116
2.4 Gérer le moteur de recherche
Jahia embarque Lucene de la fondation Apache (http://lucene.apache.org/) pour indexer tous les contenus,
métadonnées et documents. Lucene est très performant et permet une recherche en texte riche basée sur
un index stocké dans le système de fichier ce qui minimise l’utilisation de la mémoire.
Le menu ci-dessous vous permet d’indexer de nouveau tous les contenus du site en cas de problèmes.
Figure 2-18: Gérer le moteur de recherche
Avant de pouvoir utiliser la recherche sur votre site, vous devez indexer le site. Normalement les fichiers
d’index sont créés automatiquement à la création d’un nouveau site virtuel. Vous n’avez normalement pas
à vous charger de l’indexation manuellement.
Vous pourriez vous charger de l’indexation manuellement après la restauration d’une sauvegarde si vous
n’avez pas sauvegardé les fichiers d’index.
Dans tous les autres cas, l’indexation des fichiers se fera en temps réel quand tout contenu sera ajouté ou
modifié au sein du site.
La réindexation du site peut prendre un certain temps, tout dépend de la taille du site et du volume de
fichiers. Réalisée en tâche de fond, elle n’impactera en rien les utilisateurs et les contributeurs du site. La
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 20 sur 116
recherche reste disponible pendant les taches d’indexation ou d’optimisation (si l’index existe sur disque et
n’est pas recréé depuis le début).
Figure 2-19: Réindexation du site virtuel.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 21 sur 116
2.5 Gérer les langues
Ce menu vous permet de gérer tous les paramètres concernant les langues du site courant. La partie haute
de l’interface affiche les langues déjà configurées pour le site.
Vous pouvez activer ou désactiver chaque langage déjà configuré.
•
Actif : si sélectionné, la langue sera disponible pour le site et accessible dans toutes les fenêtres
d’édition. L’utilisateur aura la possibilité de changer de langues sur le site et les contributeurs auront
la possibilité de traduire le contenu existant. Au moins un langage doit être toujours activé.
Figure 2-20 : Gérer les langages
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 22 sur 116
L’ordonnancement des langues est important, car il permet d’afficher la langue par défaut sur la page
d’accueil lors de la première connexion. Jahia essaiera d’identifier le langage de l’utilisateur défini dans les
propriétés de son navigateur, si la langue existe dans Jahia, Jahia affichera la page d’accueil dans la
langue définie dans le navigateur. Dans le cas où l’utilisateur utilise une langue non reconnue par le
système (Un utilisateur espagnol par exemple, cependant langue espagnole n’est pas déclarée sur le
système), l’ordre des langues dans la liste sera pris en compte, la première langue sera donc affichée. Par
défaut le Français devrait être en tête de liste si cela correspond à vos attentes.
2.5.1
Utiliser plusieurs langues lors de la navigation sur le site
Pour des besoins intranet ou extranet, vous pourriez avoir besoin d’afficher du contenu indépendamment
de la langue du navigateur de l’utilisateur. Dans le cas, par exemple, où vous ne voudriez pas de pages
vides dans certaine langue sachant que tout le site n’a pas été entièrement traduit ou disponible dans
toutes les langues, vous pouvez alors activer l’option de mixité des langues (Utiliser plusieurs langues lors
de la navigation).
Si l’objet de contenu n’existe pas dans la langue courante, Jahia affichera le contenu dans une autre
langue afin de remplir la zone.
Vous pourriez avoir certaine zone de contenu en français dans la partie anglaise de votre site si le contenu
anglais n’a pas été complètement traduit dans cette langue.
Dans la plus part des cas, vous éviterez de mixer les langues sur une même page d’un site public type
brochure ou institutionnel. Mais dans certain cas d’intranet et extranet, il convient d’afficher le plus de
contenu possible en occultant la langue plutôt que de laisser l’utilisateur deviner que ce contenu n’est pas
disponible dans la langue demandée.
2.5.2
Ajouter une nouvelle langue
Pour ajouter une ou plusieurs langues à un site virtuel, il faut sélectionner les langues désirées et cliquer
sur le bouton « ajouter des langues » pour les ajouter à la liste des langues disponibles.
Figure 2-20b: Ajouter des langues
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 23 sur 116
Vous remarquerez que plusieurs langues sont listées plusieurs fois. En effet la liste est basée sur les
langues locales (langue de la région), les langues disponibles sont en fait une combinaison entre une
langue et sa région.
Jahia peut identifier ces langues locales en provenance des préférences du navigateur et saura réagir
différemment suivant la langue détectée (fr_CA ou fr_FR par exemple). Vous pourriez avoir 2 sites distincts
avec du contenu différent pour des français et canadiens.
Si vous préférez gérer le français de manière générique, il faudra alors choisir la langue française FR.
Si vous n’avez pas l’intention d’avoir du contenu spécifique à un pays ou à une région (comme fr_CA ou
fr_FR), vous devriez utiliser systématiquement la langue locale générique pour la langue spécifiée.
La liste des langues et langues locales disponibles proviennent directement de la Machine Virtuelle Java (JVM) utilisée.
Chaque JVM supporte des langages différents. Les langues officielles ISO peuvent ne pas être présentes suivant la JVM utilisée.
Dans ce cas, vous pouvez utiliser une autre langue que vous n’utiliserez jamais (comme langue disponible sur le site) et modifier
l’icone de la langue (drapeau) sur le disque ou le template. Jahia ne pourra pas automatiquement reconnaitre cette langues à des
fins de redirection pour les utilisateurs, cependant ils pourront naviguer entre les différentes langues à partir de la page d’accueil.
2.5.3
Désactiver une langue
Si vous désirez supprimer une langue d’un site virtuel, il faut simplement désactiver la langue en décochant
la case « actif » et sauvegarder vos modifications.
Avec la version actuelle de Jahia, vous ne pouvez pas supprimer de langues qui ont déjà été ajoutées. Jahia est basé sur
une notion de langage partagé entre objets de contenu et propriétés. L’action de supprimer (=purger) une langue du système
pourrait mener à un dysfonctionnement pour les autres langues. Il faut donc se contenter d’utiliser l’activation, tous les contenus
pour la langue désactivée n’apparaitront plus sur votre site, si la langue est réactivée, les contenus réapparaitront et vous pourrez
continuer à les utiliser.
2.5.4
Mappages de langues
Le mappage de langues est utile lorsque vous créez 2 langues différentes dans la même locales (même
pays, région différente) et que vous voulez rediriger la langue générique. Par exemple, vous pourriez avoir
Allemand-Allemand (de_DE) et Allemand-Suisse (de_CH) comme locales configurées sur votre site. Vous
pouvez spécifier quelle locale Jahia affichera lorsqu’un utilisateur se connectera avec la langue générique
Allemand (de).
Cliquez sur mappage des langues après avoir ajouté les 2 locales de_DE et de_CH afin de choisir quelle
locale sera mapper à la langue générique (de).
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 24 sur 116
Ci-après, la démarche à suivre si vous avez ces langues configurées :
Figure 2-21: Langues configurées
Vous pouvez ensuite choisir vers quelle locale, la langue générique sera redirigée :
Figure 2-22: Mappage des langues
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 25 sur 116
2.6 Gérer un site distant pour export automatique
Les administrateurs peuvent avoir besoin de séparer leur environnement interne type intranet de leur
environnement externe type site interne à l’extérieur du pare-feu de l’entreprise. Cependant, les
contributeurs sont le plus souvent des employés de l’entreprise et publient le contenu depuis leur zone
intranet (LAN) pour des raisons de sécurité.
Dans la plupart des cas, l’environnement Jahia situé en zone protégée héberge également le site intranet
de l’entreprise qui contient des données confidentielles.
Grace à cette option, vous pouvez créer un environnement de contribution pour votre site internet public à
l’intérieur des frontières de votre pare-feu et répliquer le contenu de votre site sur un serveur Jahia distant
destiné uniquement à la navigation (environnements découplés)
Cette option fonctionne pour un site donné, seule les données du site répliqué seront exportées sur le
serveur distant. Si vous voulez vous assurer qu’aucune donnée confidentielle ne sera exportée, vous
pouvez limiter l’export des objets de contenu et documents qui sont uniquement accessibles par exemple à
l’utilisateur anonyme (guest). Le serveur de destination en zone publique ne contiendra alors que les
données publiques, aucune donnée confidentielle ne sera présente sur ce serveur distant.
Techniquement parlant, Jahia utilise sa fonctionnalité native d’import/export XML pour répliquer les
contenus d’un site à l’autre. Un fichier d’export différentiel contenant uniquement les dernières
modifications sera généré à chaque réplication, ce fichier sera alors envoyé au travers d’une connexion
HTTP standard et importé sur le serveur distant.
Cette option est uniquement possible dans un sens, elle ne suporte pas une synchronisation dans les 2 sens. Les
contenus seront envoyés à partir de l’environnement de contribution vers l’environnement de publication et de navigation et
uniquement dans ce sens là. Dans le cas où des contenus seraient créés sur le serveur distant, ces contenus ne seraient
accessibles que sur le serveur distant et ne seraient jamais synchronisés avec le serveur de contribution.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 26 sur 116
Figure 2-235: Gérer le site distant pour export automatique
Ci-après les différentes options disponibles pour configurer l’export distant :
Serveur
cible
L’adresse
url
du
site
de
destination
Utilisateur
sur
le
site
cible
Un
utilisateur
sur
un
site
distant,
qui
a
suffisamment
de
droits
pour
ajouter
et
valider
le
contenu
(généralement
l’utilisateur
root
ou
siteadmin
du
site
distant)
Utilisateur
à
exporter
sur
le
site
source
Dans
le
but
d’éviter
que
des
informations
confidentielles
ne
soient
publiées
sur
le
site
distant
à
des
fins
d’utilisation
publique.
Seule
l’information
disponible
pour
le
profile
choisi
sera
exportée
(généralement
l’utilisateur
anonyme)
Site
cible
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
La
clé
du
site
de
destination
Page 27 sur 116
Nom
d’alias
de
votre
travail
Champs
non
utilisé
Mot
de
passe
de
l'utilisateur
sur
le
site
distant
Le
mot
de
passe
de
l’utilisateur
ci‐dessus.
Le
mot
de
passe
est
nécessaire
afin
de
maintenir
un
niveau
de
sécurité
à
l’accès
du
serveur
de
publication
Expression
“cron”
pour
planification
Une
expression
«
cron
»
permet
de
définir
la
fréquence
de
réplication
pour
le
site,
comme
:
«
Tous
les
matins
à
8h00
de
lundi
à
vendredi
»,
ou
encore
«
à
minuit
tous
les
derniers
vendredi
du
mois
».
Vous
pouvez
vraiment
définir
très
finement
les
fréquences
de
réplication.
Une
expression
«
cron
»
est
composée
de
6
à
7
caractères
séparés
par
des
espaces.
Quelques
exemples
:
0
0
12
*
*
?
=
Tous
les
jours
à
midi
0
15
10
15
*
?
=
à
10:15am,
le
15ème
jour
de
chaque
mois
Plus
d’information
à
l’adresse
suivante
:
http://fr.wikipedia.org/wiki/Cron
Exporter
les
réglages
de
workflow
Inclus
la
configuration
de
workflow
dans
le
fichier
d’export.
Dans
le
cas
ou
l’option
n’est
pas
activée,
le
workflow
par
défaut
sera
appliqué
sur
le
site
de
destination,
tous
workflows
spécifiques
ne
seront
pas
exportés.
Exporter
les
métadonnées
Inclus
dans
le
fichier
d’export
les
informations
telles
que
:
date
de
création,
date
de
modification,
auteur,
…
afin
de
conserver
les
mêmes
informations
au
niveau
des
métadonnées
sur
les
2
environnements.
L’inclusion
de
ces
informations
peut
ralentir
les
opérations
d’import/export.
Exporter
les
ACLs
Inclus
tous
les
droits
dans
le
fichier
d’export,
dans
le
cas
ou
vous
utiliseriez
le
l’utilisateur
guest,
vous
n’avez
pas
besoin
d’activer
cette
option
pour
exporter
les
permissions
additionnelles
du
fait
que
les
données
confidentielles
ne
seront
pas
présentes
dans
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 28 sur 116
l’export.
Automatiquement
publier
le
site
à
la
fin
En
fin
de
réplication,
le
contenu
importé
sera
automatiquement
validé
et
publié.
Vous
pourriez
avoir
besoin
d’une
validation
supplémentaire
sur
le
site
distant,
dans
ce
cas,
ne
pas
activer
l’option.
Dans
ce
cas,
le
contenu
importé
apparaitra
en
mode
de
travail
(édition),
vous
n’aurez
plus
qu’à
valider
le
contenu
une
nouvelle
fois
pour
le
publier.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 29 sur 116
2.7 Gérer les permissions du site
Ce menu vous permet de mettre en place des rôles variés pour différents profiles utilisateurs pour un site
virtuel donné, l’administrateur pourra définir quelles actions chaque profile pourra faire.
Figure 2-24: Gérer les permissions du site
Les rôles sont cumulés aux ACL et il vous faut une combinaison des 2 pour déclencher une action dans
Jahia. Par exemple, il vous faut être Manager du contenu avec des droits de lecture, d’écriture et
d’administration sur un objet de contenu afin de pouvoir modifier les ACLs existants ou changer le type de
workflow associé. Cependant, vous pouvez décider qu’un certain type de profile pourra uniquement
modifier le workflow associé ou que les contributeurs classiques ne pourront pas accéder à cette option.
Vous pouvez modifier les permissions mises en place par défaut et éviter l’accès à certain menu pour
certain utilisateur.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 30 sur 116
Vous pouvez également complètement cacher certaine option que vous ne voulez pas voir apparaître dans
votre environnement, comme l’import/export ou le versionning par exemple.
A l’inverse, vous pourriez avoir besoin de donner, à certain profile utilisateur, l’accès à l’administration de
Jahia (qui part défaut n’est accessible qu’au groupe « administrateur » et à l’utilisateur « root ». Vous
pouvez alors donner à vos utilisateurs de nouveaux rôles pour qu’ils puissent accéder à certain module
d’administration, comme la gestion des utilisateurs et des groupes.
Toutes opérations dans Jahia, les interfaces d’édition, les actions sur les objets de contenu peuvent
bénéficier d’un ajout ou restriction de droits à partir de ce menu.
Les rôles sont regroupés en fonction de certaines catégories.
Figure 2-25: Les différentes catégories permettant de classifier les rôles
Les catégories sont :
Administration
Qui peut accéder à l’administration de Jahia et à quels sous-menus, cette
option concerne uniquement le site courant. D’autres rôles sont disponibles
pour l’administration du serveur.
Edition
Qui peut accéder à la section édition de la fenêtre d’édition (pop-up) et ses
sous-menus. Vous pouvez décider de limiter l’accès à certains utilisateurs
l’accès à la gestion des droits ou à la publication planifiée par exemple.
Outils
Qui peut accéder à la section outils et ses sous-menus. Vous pouvez décider
de limiter l’accès à certains utilisateurs l’accès à la fonctionnalité
d’import/export ou à la gestion des versions par exemple.
Actions
Vous pouvez restreindre l’accès à certaines opérations disponibles dans les
menus contextuels, comme la suppression de contenu par exemple.
Langues
Cette catégorie vous permet de restreindre l’accès à certaines langues pour
certains contributeurs. Vous pouvez alors définir des rôles « traducteurs » qui
auront accès au site uniquement dans leur langue.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 31 sur 116
Barre d’outils
Cette catégorie regroupe toutes les options relatives aux barres d’outils et
leurs sous-menus. Vous pouvez ainsi limiter l’accès au gestionnaire de
Mashups, ou la barre d’outil de gestion du cache qui est souvent destinée aux
intégrateurs.
Vérification d’intégrité
Cette catégorie permet d’activer ou de désactiver les vérifications d’intégrité
au niveau du site pour la vérification des liens internes et l’adhérence aux
normes d’accessibilité.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 32 sur 116
2.8 Paramètres HTML
Lors de l’édition d’un site, les contributeurs utilisent souvent un éditeur HTML riche. Du fait que les
contributeurs aient la possibilité d’utiliser directement des balises HTML ou de copier/coller du contenu
HTML, cela peut mener à des incohérences du aux normes W3C, ou déformer le rendu de la page.
Ils peuvent par exemple oublier de fermer une balise, déformer une page en incluant un large tableau, ou
encore copier un contenu en provenance de Microsoft© Office qui contient des balises spécifiques à
Microsoft©.
Jahia offre la possibilité de nettoyer le code HTML en activant l’option : « Nettoyage HTML »
Vous avez également la possibilité d’empêcher l’usage de certaines balises HTML dans les zones HTML
riches. Vous devrez spécifier dans l’option « filtrage des balises », la liste des champs non autorisés dans
l’éditeur HTML, séparés d’une virgule. A la sauvegarde du contenu, Jahia extraira automatiquement les
balises du contenu.
Exemple de filtrage : H1,script,table,tr,td,strong,hr
Figure 2-26: Paramètres HTML
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 33 sur 116
La seconde partie de ce menu vous permet de choisir à quelle option de l’éditeur HTML WYSISWYG
intégré (FCKEditor) les utilisateurs auront accès. En effet Jahia pourra dynamiquement afficher une version
spécifique suivant le profile utilisateur.
Trois options sont disponibles, par défaut avec Jahia. Vous pouvez néanmoins modifier ces options afin de
répondre plus précisément à vos besoins. Voir avec vos développeurs Jahia pour effectuer de telles
modifications.
Version complète de l’éditeur HTML présentant toutes les options :
Figure 2-27: Paramètres de FCK editor complet
Version « Basic » de l’éditeur HTML :
Figure 2-28: Paramètres FCK editor Basic
Version simple de l’éditeur HTML :
Figure 22-29: Paramètres FCK Editor simple
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 34 sur 116
2.9 Vérifications d’intégrité
Jahia peut vous permettre de vérifier la consistance des liens sur votre site ainsi que de notifier ou forcer le
respect de certains standards Web (par exemple: les Directives pour l’Accessibilité WCAG).
Figure 2-30: Menus afin d’activer les vérifications d’intégrité
2.9.1
Vérification des liens (url) internes
L’objectif de l’option nommée: Intégrité des URL est d’avertir les éditeurs, lors de la saisie de contenu ou
lors de la validation d’une page, de possibles liens internes cassés ou corrompus.
Jahia gère de manière automatique les champs de type « liens internes » (disponible au sein du champ
Page). Ainsi si une page encore cross-référencée dans un autre menu est amenée à être supprimée (ou
que ses droits d’accès ont été restreints ou étendus), les références croisées seront alors automatiquement
remises à jour.
Cependant ceci ne peut pas être automatiquement le cas pour les liens « codés en dur » dans les champs
de contenu non-structurés de type « texte riche ». Un éditeur peut ainsi parfaitement formaliser un texte
comme suit : « Veuillez cliquer ici pour accéder à la section Produit ». Un tel lien n’est donc pas
directement modifiable par l’application Jahia. En effet le sens sémantique même de la phrase pourrait être
altérer en cas de suppression de la page destination et être amener à devoir être revu.
Un tel lien peut également conduire à des erreurs de type 403 (tentatives d’accès à une page non
autorisée). En effet, si subitement, un éditeur décide de restreindre l’accès à la page de destination
uniquement à une population donnée et si une référence croisée est encore disponible pour un ensemble
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 35 sur 116
d’individus plus grand, certains utilisateurs ne pourront plus alors accéder à cette section en cliquant sur ce
lien. Il existe donc une inconsistance entre les permissions sur l’objet source (le lien) et l’objet destination
(la page).
Finalement un éditeur peut également parfaitement être amené à référencer une page qui n’est pas encore
publiée et qui est uniquement disponible, pour le moment, en mode « brouillon ». Si le validateur publie
cette page sans publier au préalable la destination, cette référence sera donc également, temporairement
du moins, cassée.
Cette option sert donc à avertir l’éditeur, lors de la saisie ou lors de la validation d’une page, de ces
différentes possibilités.
2.9.2
Conformité avec la norme d’accessibilité WAI/WCAG
La norme WAI (Web Accessibility Initiative ou désormais WCAG) doit permettre à des personnes avec des
handicaps (par exemple malvoyance) de pouvoir quand même visualiser et comprendre la signification
d’un site Internet.
En activant cette option, Jahia vérifiera le respect de certaines conditions de cette norme lors de la saisie
de textes riches. Par exemple un avertissement sera effectué à l’éditeur s’il oublie de renseigner le champ
d’information textuel lié à l’insertion d’une image.
Cette fonctionnalité peut être assez contraignante pour les éditeurs et peut amener à conduire à du travail éditorial
supplémentaire. Cette option est donc désactivée par défaut.
2.9.3
Verrouillage automatique des fichiers publiés
La dernière option a pour but de verrouiller automatiquement tous les fichiers publiés depuis le système de
gestion documentaire intégré.
Un éditeur peut en effet parfaitement publier une image ou un fichier au sein de l’un de ces textes riches.
L’un de ces fichiers peut être amené à devoir être supprimé du système de gestion documentaire après
quelques temps. Jahia détecte et corrige automatiquement certaines manipulations. Par exemple si un
fichier est déplacé dans un autre répertoire, Jahia corrigera automatiquement les liens vers ces fichiers
dans les textes concernés y compris en mode « En ligne». En revanche, de nouveau, en cas de
suppression totale du fichier, le sens du texte saisi par l’éditeur peut être altéré.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 36 sur 116
Ce système permet donc de verrouiller automatiquement les fichiers publiés. Ces fichiers ne peuvent plus
être modifiés ou supprimés tant qu’ils demeurent publiés au sein d’une page. L’éditeur devra donc au
préalable modifier et republier le contenu concerné avant de pouvoir effacer son fichier ou son répertoire.
2.9.4
Renforcer la vérification des liens
Par défaut cette vérification d’intégrité et de consistance n’est réalisée que lors de l’édition de contenu et
uniquement à titre indicatif.
Cependant l’administrateur du site peut décider de forcer le respect de ces vérifications lors de la validation
d’une page. L’éditeur peut donc parfaitement conserver certaines « erreurs » tout en demeurant en mode
brouillon, par contre il ne pourra dès lors plus publier les pages concernées tant que ces « erreurs » ne
sont pas résolues.
Des rôles additionnels ont donc été introduits et permettent de définir avec précision quels éditeurs sont
concernés par une telle mesure. En effet il peut parfaitement être concevable que certains « superéditeurs », et uniquement ces derniers, puissent décider de passer outre certains avertissements et que les
éditeurs habituels doivent pour leur part s’y conformer.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 37 sur 116
2.10
Module Analytique
Par défaut Jahia est déjà pré intégré avec le service populaire et gratuit de mesure et de suivi des
audiences et du trafic de site : Google Analytics (pour plus d’information, voir :
http://www.google.com/intl/fr_ALL/analytics/)
Jahia intègre donc nativement par défaut les fonctionnalités suivantes:
•
Un menu d’administration afin d’activer et de paramétrer le service de Google Analytics.
•
L’intégration du code Javascript nécessaire à faire fonctionner correctement Google Analytics
directement au sein des pages générées. L’intégration prend en compte automatiquement les
statistiques par site ou par langue.
•
Une barre d’édition additionnelle disponible pour tous les éditeurs. Cette barre d’édition permet ainsi
à chaque éditeur de visualiser, sans avoir à quitter son site Jahia et avoir à se loguer dans Google
Analytics, les statistiques sur la page en cours, au sein de la section ou du site dans sa globalité.
Figure 2-31: Gérer le module analytique
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 38 sur 116
Le module disponible dans l’administration vous permet de configurer vos paramètres Google Analytics
(GA) pour le site en cours d’utilisation. Cliquez simplement sur le bouton « Ajouter » pour rajouter un
nouveau profil de suivi et remplissez les champs correspondants avec les informations fournies par le
service Google.
Figure 2-32: Ajouter un nouveau compte de suivi
D’autres outils tiers de suivi des audiences et du trafic peuvent être utilisés avec Jahia tels que WebTrends ou Urchin.
Par contre il n’existe pas d’intégration par défaut au sein de Jahia et une telle intégration devra être effectuée de manière
propriétaire.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 39 sur 116
2.11
Choisir le thème par défaut
Dans Jahia, les templates (= l’ossature de la page en terme d’objets de contenu et de logique métier) sont
totalement séparés de l’aspect esthétique (CSS). Un set de templates peut donc parfaitement inclure un ou
plusieurs sous thèmes permettant d’afficher le contenu disponible au sein d’une page de manière
légèrement, voire totalement différente.
Ainsi un développeur de templates peut parfaitement concevoir et développer un set de templates très
générique et l’enrichir de plusieurs « sous thèmes » (par exemple afin de disposer d’un visuel différent pour
le printemps, l’été, l’automne ou l’hiver). Ceci permet également de réutiliser le même set de templates au
sein de plusieurs sites virtuels distincts ayant chacun leur propre identité visuelle.
La sélection du thème par défaut est normalement réalisée lors de la création d’un nouveau site.
Cependant l’administrateur d’un site peut le changer en tout temps à partir de ce module.
Figure 2-33: Choisir un nouveau thème pour le site en cours
Merci de vous référer au “Guide de développement de Template” afin d’apprendre comment créer, ajouter
ou supprimer un thème depuis un set de templates existant.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 40 sur 116
2.12
Vérificateur de liens
Le vérificateur de liens est un puissant outil d’administration permettant aux administrateurs du site de
vérifier la validité des liens externes dans un site web complet fonctionnant sous Jahia. Comme les auteurs
saisissent des liens externes sur les pages Jahia, ces liens peuvent cesser de fonctionner à tout moment,
due au changement du sitemap du site externe.
Le module de vérification des liens va parcourir toutes les pages Jahia à la recherche de liens externes
saisis par les auteurs. Il affichera ensuite un rapport qui aidera l’administrateur du site à corriger les liens
cassés.
Le module passe sur toutes les pages, dans toutes les langues, et dans toutes les versions (live, notifiée
pour validation et en cours d’édition).
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 41 sur 116
L’administrateur du site peut voir trois boutons; un seul est utilisable pour le moment (“Vérifier les liens”) :
Le bouton stop interrompt le processus de vérification des liens.
Le bouton Afficher au format CSV exporte le rapport en format CSV (pour être utilisé avec Microsoft
Excel®).
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 42 sur 116
2.12.1 Comment auditer les liens externes en utilisant le module de vérification des liens
2.12.1.1 Cas d’utilisation
Dans le site de demo ACME, sur la page “Activités”, l’auteur saisit un texte et y insère un lien company
pointant sur l’URL http://www.jahiaaaa.com.
Le lien est embarqué dans un paragraphe (de type Big Text) saisit à l’aide de l’éditeur de texte riche fourni
par Jahia.
Dans cet exemple, la page et le lien sont publiés en mode Live. En tant qu’auteur, vous pouvez également
créer des liens dans une boite de liens de la démo ACME :
Dans cet autre exemple, la page n’est pas publiée (toujours en mode édition) et le lien n’est pas correct
(“http://www.jahiaaaaaa.org”):
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 43 sur 116
2.12.1.2 Comment lancer une analyse du site web
Pour procéder à un audit de vérification des liens et détecter puis réparer les liens “cassés”,
l’administrateur du site peut cliquer sur le bouton “Vérifier les liens” dans le module de vérification des
liens :
Le temps nécessaire à la réalisation de l’audit dépend du volume de données à analyser.
Dès que l’administrateur du site lance le processus de vérification des liens, un statut d’activité sera
disponible en bas de module. A la fin du processus les résultats apparaissent dans la liste.
L’affichage ressemblera à ca:
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 44 sur 116
2.12.1.3 Description du rapport de vérification des liens
Le rapport de vérification des liens contient 5 colonnes :
•
Code: indique le type d’erreur (500, 404, 403) que le module de vérification de liens a rencontré en
vérifiant ce lien
•
Lien: indique l’URL qui a généré l’erreur
•
Titre de la page: indique le titre de la page qui contient le lien
•
Langue: indique la langue dans laquelle le problème est présent
•
Workflow state: indique le statut de la page concernée par l’erreur
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 45 sur 116
Pour avoir un rapport plus détaillé, l’administrateur du site peut cliquer sur le bouton “
” à gauche de
chaque ligne. Il pourra ainsi voir les informations suivantes :
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 46 sur 116
En cliquant sur “Afficher au format CSV”, l’administrateur du site peux exporter les résultats :
Remarque : la console de Tomcat doit en principe afficher les mêmes résultats que dans la liste présentée
ci-dessus.
2009-11-25 08:49:03,775: INFO [ExternalLinkValidator] - Error validating link
org.jahia.services.integrity.Link@2bcf2842[source=ContentPage_182_2_0_en,type=EXTERNAL,url=ht
tp://www.jahiaaaaaaa.org]. Cause: java.net.UnknownHostException: www.jahiaaaaaaa.org
2009-11-25 08:49:03,879: INFO [ExternalLinkValidator] - Error validating link
org.jahia.services.integrity.Link@7a1311ad[source=ContentField_112_1_1258710595_en,type=EXTER
NAL,url=http://www.jahiaaaa.com]. Cause: java.net.UnknownHostException: www.jahiaaaa.com
2009-11-25 08:49:03,984: INFO [ExternalLinkValidator] - Error validating link
org.jahia.services.integrity.Link@554350f5[source=ContentField_112_2_0_fr,type=EXTERNAL,url=h
ttp://www.jahiaaaaaa.com]. Cause: java.net.UnknownHostException: www.jahiaaaaaa.com
2009-11-25 08:52:44,580: INFO [Jahia] - Processed
[/cms/engineName/updatecontainer/op/edit/pid/6] user=[root] ip=[0:0:0:0:0:0:0:1%0]
sessionID=[882790E9C2AAAE5C5C80022024B7F7C7] in [36ms]
2009-11-25 08:53:34,647: INFO [ExternalLinkValidator] - Error validating link
org.jahia.services.integrity.Link@1b2c402[source=ContentPage_182_2_0_en,type=EXTERNAL,url=htt
p://www.jahiaaaaaaa.org]. Cause: java.net.UnknownHostException: www.jahiaaaaaaa.org
2009-11-25 08:53:34,751: INFO [ExternalLinkValidator] - Error validating link
org.jahia.services.integrity.Link@6af00092[source=ContentField_112_1_1258710595_en,type=EXTER
NAL,url=http://www.jahiaaaa.com]. Cause: java.net.UnknownHostException: www.jahiaaaa.com
2009-11-25 08:53:34,855: INFO [ExternalLinkValidator] - Error validating link
org.jahia.services.integrity.Link@5efe07b8[source=ContentField_112_2_0_fr,type=EXTERNAL,url=h
ttp://www.jahiaaaaaa.com]. Cause: java.net.UnknownHostException: www.jahiaaaaaa.com
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 47 sur 116
2.12.2 Comment corriger les mauvais liens depuis le module de verification des liens
L’administrateur du site peut cliquer sur le titre de la page pour accéder à celle-ci et effectuer directement
la modification sur la page concernée.
L’administrateur peut également cliquer sur l’icone “
” et ainsi ouvrir la fenêtre d’édition du container
concerné par le problème.
Dans notre premier exemple, l’administrateur du site verra l’éditeur de texte riche où a été trouvé le
problème.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 48 sur 116
Comme le lien peut également être incorrect dans un autre langage, l’administrateur peut éditer un autre
langage (par exemple le Français) du même contenu en cliquant sur le bouton Edit correspondant :
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 49 sur 116
Dans notre second exemple, l’administrateur du site verra l’interface de mise à jour d’un lien :
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 50 sur 116
2.13 Vanity URL
Dans Jahia EE v6.1, Vous pouvez faire de l’optimisation pour les moteurs de recherche (SEO) en utilisant
les Vanity URL. Cela signifie que vous pouvez donner une URL sympathique et explicite à une page
spécifique. Grâce à cela, les URL de vos pages pourront refléter réellement leur contenu. Dans les
paramètres du site, il y a une section Vanity URL qui affiche une liste de toutes les Vanity URL utilisées sur
le site :
Vous avez l’URL de la page concernée, son ID, la langue et l’état (actif ou non). Vous pouvez cliquer sur
l’URL pour arriver directement sur la page. Merci de consulter le guide utilisateur pour connaitre le détail de
la mise en place des Vanity URL sur les pages.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 51 sur 116
3 Configuration des extensions
Jahia fourni des extensions tel que la newsletter, le blog ou le constructeur de formulaire. Ces extensions
sont intégrés dans différents set de templates à titre de démonstration, mais nécessites une configuration
spécifique avant d’être utilisés par les utilisateurs finaux.
3.1 Installer et configurer la plateforme de blog
3.1.1
Installation par défaut
3.1.1.1 Introduction
Dans ce cas, l’installation de la plateforme de blog résultera en la mise à disposition d’un nouveau set de
templates. En conséquence, les nouveaux sites web devront utiliser ce set de templates pour pouvoir
disposer des templates de blog.
Si vous voulez intégrer la template de blog à un set de templates existant, veuillez vous reporter au
prochain paragraphe (3.1.2 Comment déployer dans un set de templates existant).
3.1.1.2 Procédure d’installation
Etape 1: Arrêter le serveur Jahia
Etape 2: Copier le package de la plateforme de blog “Jahia_EE_v6.1_Blog_Platform-1.0.war” dans le
dossier suivant de votre : webapps / ROOT / WEB-INF/var/shared_templates
Etape 3: Redémarrer Jahia
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 52 sur 116
3.1.1.3 Résultat de l’installation
3.1.1.3.1 Création d’un nouveau site virtuel
Dans l’interface de gestion des sites virtuels (paramètres du serveur dans le panneau d’administration),
sélectionnez « Ajouter un nouveau site » :
Après le paramétrage du site, Jahia va demander de sélectionner un set de templates. Comme sur la
capture ci-dessous, un nouveau set de templates « Blog templates » est disponible.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 53 sur 116
3.1.1.3.2 Création d’un site web à partir d’une archive de site
Vous pourriez également générer un site web en important un site prepackagé. Sélectionnez le package
que vous voulez importer puis cliquez sur procéder.
A l’écran suivant vous pourrez alors sélectionnez le set de templates que vous voulez appliquer à votre
archive.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 54 sur 116
IMPORTANT: le set de templates sélectionné doit être compatible avec celui utilisé pour packager
l’archive (en particulier concernant les définitions).
3.1.2
Comment déployer dans un set de templates existant
3.1.2.1 Introduction
Dans ce cas, l’installation de la plateforme de blog résultera en la mise à disposition d’une nouvelle
template dans le set de templates existant. Dans notre exemple, le set de templates existant sera « Web
Templates » , utilisé par l’ACME Demo. En conséquence, après l’intégration de la blog plateforme dans les
web templates les nouveaux sites web et les sites web existants utilisant les Web Templates pourront
utiliser les templates de blog.
ATTENTION, l’intégration de la plateforme de blog nécessite des modifications de la structure HTML ainsi
que des feuilles de style CSS. Assurez vous d’avoir les compétences nécessaires avant de démarrer
l’intégration. Vous pouvez voir un exemple d’intégration des templates de blog dans le set de templates
« web templates extension ».
3.1.2.2 Procédure d’installation
Important: Merci de prendre en compte que cette procédure se base sur une installation des web
templates. Merci d’adapter les répertoires en fonction de votre set de templates.
Etape 1 – Arrêter le serveur Jahia.
Etape 2 – Dézipper l’archive “Jahia_EE_v6_BlogPlatform-1.0.war” sur votre bureau
Etape 3 – Copier les fichiers suivants (surlignés) dans les répertoires correspondants:
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 55 sur 116
Source
Destination
Etape 4: Ajout des définitions de la plateforme de blog aux définitions du set de templates
Renommer le fichier defintions.cnd en “definitions_bp.cnd”
Copier le fichier “definitions-bp.cnd” dans le répertoire suivant:
webapp/ROOT/templates/web_templates/
Etape 5: Modifier le fichier “template.xml”
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 56 sur 116
Ajouter les tags suivants:
<?xml version="1.0" encoding="UTF-8"?>
<template-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.jahia.org/jahia/templates"
xsi:schemaLocation="http://www.jahia.org/jahia/templates
http://www.jahia.org/shemas/templates_2_0.xsd">
<package-name>Web templates</package-name>
<root-folder>web_templates</root-folder>
<provider>www.jahia.org</provider>
<thumbnail>images/preview.gif</thumbnail>
<resource-bundle>resources.Web_templates</resource-bundle>
<definitions-file>definitions.cnd</definitions-file>
Ajouter cette ligne:
<definitions-file>definitions_bp.cnd</definitions-file>
Ensuite déclarer un nouveau template à l’intérieur des tags <templates> :
<templates default="simple" homepage="Home">
……
</template>
En y ajoutant le code suivant :
<template
name="Blog platform"
display-name=" Blog platform "
filename="tpl.blogplatform.jsp"
page-type="blog_templates:blog_platform" description="Blog platform"/>
<template
name="Blog"
display-name="Blog"
filename="tpl.blog.jsp"
page-type="blog_templates:blog" description="Blog"/>
Etape 6: Redémarrer Jahia
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 57 sur 116
3.1.2.3 Résultat de l’installation
En suivant cette procédure vous ne verrez pas d’autre set de templates disponible quand vous créerez un
nouveau site ou quand vous importerez un site prepackagé.
Mais sur les sites existants, comme sur les nouveaux sites qui utilisent le set de templates que vous avez
modifié pour y intégrer la plateforme de blog, les auteurs pourront sélectionner le template de blog quand
ils ajouteront une page.
Essayez d’ajouter une page de type blog plateforme sur le site, configurez là comme décris dans la
présente documentation, puis ajoutez un nouveau blog. Ensuite identifiez si il y a des problèmes de
structure HTML ou d’affichage CSS. Then
Pour compléter l’intégration, éditez tpl.blog.jsp, tpl.blogplatform.jsp and web.css afin de fixer les éventuels
problèmes.
3.1.3
Configuration de la plateforme de blog
3.1.3.1 Description
Comme mentionné au paragraphe 2, la plateforme de blog fourni un mécanisme de demande de création
de blog. En fait l’utilisateur peut remplir un formulaire pour demander l’ouverture d’un blog. Il a juste à saisir
le titre du blog et ensuite à cliquer sur Envoyer. Derrière ce mécanisme, Jahia envoi un mail à
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 58 sur 116
l’administrateur de la plateforme pour l’informer de la requête de création de blog. La première étape est
donc d’activer la fonctionnalité de mail sur le serveur.
3.1.3.2 Configuration des notifications Email
Un administrateur du serveur Jahia peut vérifier les paramètres dans la partie paramètres du serveur du
panneau d’administration, dans la section E-mail configuration.
Ensuite, dans la section E-mail configuration, il faut configurer un serveur SMTP valide et activer le service
afin que la plateforme de blog puisse transmettre les demandes de création de blog.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 59 sur 116
3.1.4
Mise en place de la plateforme de blog
3.1.4.1 Créer la page d’accueil de la plateforme de blog
Si vous avez décidé d’utiliser la plateforme de blog en tant que set de templates, déployez simplement un
nouveau site.
Si vous avez intégré la plateforme de blog dans un set de templates existant, la première étape est de
créer une page de type blog plateforme.
3.1.4.2 Paramètres de la plateforme de blog
Maintenant que votre page de plateforme de blog est crée, vous devez en définir les paramètres. Tout
d’abord, merci de vous identifier. Ensuite switchez en mode édit et cliquez sur Settings. Puis utilisez
l’action menu pour ouvrir l’engine de configuration et remplir les informations relatives à la plateforme de
blog.
Description des champs :
-
Nombre de posts à afficher par page sur la page d’accueil de la plateforme de blog
-
Recipients, destinataire des demandes de création de blog (administrateurs de la plateforme)
-
Sender, mail de l’expéditeur
-
Sujet du mail
-
Contenu du mail
Après avoir saisi les paramètres, merci de vous assurer de mettre la plateforme en ligne en publiant la
page courante.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 60 sur 116
3.1.4.3 Définir les rôles sur la plateforme
Dans la section précédente vous avez spécifié le mail des administrateurs de la plateforme de blog. Ils
seront notifié des demandes de création de blog. Pour gérer ses demandes, ils doivent avoir les droits
d’écritures sur la plateforme de blog. Pour cela, sur la page de blog plateforme, switchez en mode édition
et cliquez sur « Paramètres de la page ». L’engine suivant est ouvert :
Cliquez sur l’onglet Droits :
Ajout d’utilisateurs et de groupes correspondant aux adresses mails définis dans la section précédente.
Quand c’est erminé valider et publier la page courante.
3.1.4.4 Comment ajouter un nouveau blog
Maintenant que la plateforme de blog est correctement configure, vous pouvez ajouter un blog. La creation
d’un blog peut être initié par la demande d’un utilisateur ou directmeent par l’iniative d’un administrateur de
la plateforme.
Dans ces deux cas, la première étape pour créer un blog est de switcher en mode édit et ensuite d’aller sur
la page « Blog list ». Sur cette page on retrouve la liste des blogs existants. Pour en ajouter un nouveau, il
faut simplement cliquer sur l’action « Ajouter à la liste ». Une nouvelle fenêtre s’ouvre :
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 61 sur 116
Sur cette page vous pouvez saisir le titre du blog et la clef de page correspondante. Si c’est un blog crée
suite à la demande d’un utilisateur, veillez à utiliser le titre de blog mentionné dans le mail. Pour le type de
page sélectionnez Blog.
Quand c’est fini, cliquez sur OK pour revenir à la liste de blog. Vous avez maintenant à définir les droits
d’accès pour le propriétaire du blog. Pour cela, cliquez sur l’icône d’édition à côté du blog :
Une nouvelle fenêtre est ouverte, rendez-vous dans l’onglet Droits et ajoutez le propriétaire du blog dans la
liste des utilisateurs ayant les droits d’écritures :
Finalement, validez et publiez la page courante pour mettre le blog à disposition de l’auteur et des visiteurs.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 62 sur 116
3.1.5
Comment définir un workflow pour la plateforme de blog
Si vous voulez définir un workflow pour la publication de nouveaux articles ou de nouveaux commentaires,
vous avez juste à modifier le fichier de définition du set de templates. Pour cela, ouvrez le fichier
definition.cnd :
Si vous souhaitez activer le workflow sur les articles, supprimez le “workflow=’none” pour la containerList
blogEntries.
Si vous souhaitez activer le workflow sur les commentaires, supprimez le “workflow=’none” pour la
containerList blogEntries.
C’est le même mécanisme pour tous les éléments de la plateforme de blog, vous pouvez donc supprimer
l’attribut “workflow=’none” sur n’importe quel élément que vous souhaitez gérer via un workflow.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 63 sur 116
3.2 Comment installer le Formulaire
3.2.1
Installation par défaut
3.2.1.1 Introduction
Dans ce cas, l’installation du Formulaire résultera en la mise à disposition d’un nouveau set de templates.
En conséquence, les nouveaux sites web devront utiliser ce set de templates pour pouvoir disposer de la
template de formulaire.
Si vous voulez intégrer la template de Formulaire à un set de templates existant, veuillez vous reporter au
prochain paragraphe (3.2.2 Comment déployer dans un set de templates existant).
3.2.1.2 Procédure d’installation
Etape 1 – Arrêter le serveur Jahia.
Etape 2 – Copier le package Formulaire“Jahia_EE_v6_ WebTemplatesExtension-1.0.war” dans le dossier
webapps / ROOT / WEB-INF/var/shared_templates
Etape 3: Redémarrer Jahia
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 64 sur 116
3.2.1.3 Résultat de l’installation
3.2.1.3.1 Création d’un nouveau site
Dans l’interface de gestion des sites virtuels (Onglet paramètres du serveur), sélectionnez « Ajouter un
nouveau site ».
Après le paramétrage du site, Jahia va demander de sélectionner un set de templates. Comme sur la
capture ci-dessous, un nouveau set de templates « Web templates extension» est disponible.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 65 sur 116
En sélectionnant ce set de templates, les auteurs pourront utiliser à la fois les templates fournis par les
« Web Templates » et ceux contenus dans l’extension, dont le Formulaire.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 66 sur 116
3.2.1.3.2 Création d’un site web à partir d’une archive de site
Vous pourriez également générer un site web en important un site prepackagé. Sélectionnez le package
que vous voulez importer puis cliquez sur procéder.
A l’écran suivant vous pourrez alors sélectionnez le set de templates que vous voulez appliquer à votre
archive.
IMPORTANT: le set de templates sélectionné doit être compatible avec celui utilisé pour packager
l’archive (en particulier concernant les définitions).
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 67 sur 116
Le package “Jahia_EE_v6_ WebTemplatesExtension-1.0.war” est une extension des web templates. Si le
site prépackagé a été créé avec les web templates, comme par exemple le site de démo ACME, il
fonctionnera donc avec l’extension. Ce mécanisme s’applique bien sûr à n’importe quel autre set de
templates qui hériterait d’un parent. Les développeurs de templates doivent décompresser le fichier war et
faire une extension de leurs propres templates en prenant soin de faire les modifications nécessaires au
niveau des JSP et des définitions (voir le prochain paragraphe pour plus de détails).
3.2.2
Comment déployer dans un set de templates existant
3.2.2.1 Introduction
Dans ce cas, l’installation de la plateforme de blog résultera en la mise à disposition d’une nouvelle
template dans le set de templates existant. Dans notre exemple, le set de templates existant sera « Web
Templates » , utilisé par l’ACME Demo. En conséquence, après l’intégration de la template Formulaire
dans les web templates les nouveaux sites web et les sites web existants utilisant les Web Templates
pourront utiliser la template de formulaire.
3.2.2.2 Procédure d’installation
Important: Merci de prendre en compte que cette procédure se base sur une installation des web
templates. Merci d’adapter les répertoires en fonction de votre set de templates.
Etape 1 – Arrêter le serveur Jahia.
Etape 2 – Dézipper l’archive “Jahia_EE_v6_WebTemplatesExtension-1.0.war” sur votre bureau
Etape 3 – Copier les fichiers suivants (surlignés) dans les répertoires correspondants:
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 68 sur 116
Source
Destination
COPIER
“Css” and “images” complete folders
COLLER DANS
web_templates/theme
COPIER
“form” complete folder
COLLER le dossier complet DANS
web_templates/modules/
COPIER le contenu de
“resources/formBuilder.properties” file
COPIER le contenu dans le fichier
“web_templates/resources/Web_templates.properties”
COPIER
Introduction_form.jsp
COLLER DANS
webtemplates/areas/
COPIER
tpl.forms.jsp
COLLER DANS
web_templates/
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 69 sur 116
Etape 4: Ajouter les définitions du Formulaire aux définitions du set de templates
Renommer le fichier defintions.cnd en “definitions_fb.cnd”
Copier le fichier “definitions-fb.cnd” dans le dossier suivant:
webapp/ROOT/templates/web_templates/
Etape 5: Modifier le fichier “template.xml”
Ajouter les tags suivants:
<?xml version="1.0" encoding="UTF-8"?>
<template-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.jahia.org/jahia/templates"
xsi:schemaLocation="http://www.jahia.org/jahia/templates
http://www.jahia.org/shemas/templates_2_0.xsd">
<package-name>Web templates</package-name>
<root-folder>web_templates</root-folder>
<provider>www.jahia.org</provider>
<thumbnail>images/preview.gif</thumbnail>
<resource-bundle>resources.Web_templates</resource-bundle>
<definitions-file>definitions.cnd</definitions-file>
Ajouter cette ligne de code :
<definitions-file>definitions_fb.cnd</definitions-file>
Ensuite ajouter un nouveau template entre les tags templates :
<templates default="simple" homepage="Home">
……
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 70 sur 116
</template>
En y ajoutant le code suivant :
<template
name="formGenerator"
display-name="form Generator"
filename="tpl.forms.jsp"
page-type="formBuilder_templates:form" description="form generator"/>
Etape 6: Redémarrer Jahia
3.2.2.3 Résultat de l’installation
Dans ce cas, l’installation du Formulaire résultera en la mise à disposition d’une nouvelle template dans le
set de templates existant. Dans notre exemple, le set de templates existant sera « Web Templates » ,
utilisé par l’ACME Demo. En conséquence, après l’intégration du Formulairedans les web templates les
nouveaux sites web et les sites web existants utilisant les Web Templates pourront utiliser les templates de
blog.
3.2.3
Configuration du Formulaire
3.2.3.1 Description
Les données soumises via le formulaire sont stockées dans un fichier CVS, localisé dans le Jahia Content
Repository (accessible en utilisant le Document Manager). Les utilisateurs pourront importer ce fichier
CVS dans Excel ou dans un autre système de CRM.
Pour faire cela, le Formulaire crée un dossier dans le Jahia Content Repository où un fichier CSV sera crée
ainsi qu’un dossier spécifique pour l’upload de fichiers.
Afin de pouvoir créer et mettre à jour ces fichiers et répertoires, le Formulaire nécessite l’identification d’un
utilisateur spécifique.
Par défaut, l’utilisateur utilisé par le Formulaire est “Root”, mais un développeur de Template peut tout à fait
changer cet utilisateur par un autre.
Important : cet utilisateur doit être disponible sur l’ensemble des sites web qui utilisent le formulaire.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 71 sur 116
3.2.3.2 Comment changer l’utilisateur utilisé par le Formulaire?
Selon la procédure de déploiement du Formulaire que vous avez suivi, rendez-vous dans le répertoire de
celui-ci (dans notre exemple : formBuilder_templates) :
Puis ouvrez le fichier suivant, nommé “formDisplay.jsp”:
Line 51, vous verrez la ligne suivante :
// CSVUser is a user with write access to available CSV files
String CSVUser = "root";
Changer la valeur “root” avec le nom d ‘utilisateur souhaité. L’utilisateur doit déjà exister au moment de la
modification.
Important : ne pas oublier que l’utilisateur utilisé doit avoir les droits de lecture et d’écriture sur le
répertoire où seront stockées les données du formulaire. C’est pourquoi les utilisateurs Root et
administrateurs sont recommandés pour cet usage particulier afin d’éviter toute erreur de droits qui
pourrait empêcher le stockage des résultats d’un formulaire.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 72 sur 116
3.2.3.3 Configuration des notifications mail
Important: si vous voulez activer la notification mail lors de l’envoi de données, merci de vérifier que votre
serveur Jahia est correctement configuré pour cela.
Un administrateur du serveur Jahia peut verifier la configuration dans les paramètres du serveur, dans
l’onglet E-mail.
Ensuite, l’administrateur doit vérifier que les paramètres relatifs aux mails soient correctement définis.
Pour permettre au Formulaire d’envoyer les données saisies par Email aux personnes définies, il est
impératif qu’un serveur SMTP soit déclaré et que le service soit activé.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 73 sur 116
3.3 Intégration de la Newsletter
3.3.1
Architecture du module de Newsletter
Dans le package de demo ACME (set de templates “web templates”), le module de newsletter est composé
des fichiers suivants :
 tpl.newsletter.jsp: template utilisé par l’auteur lors de la création d’une section newsletter. Le
template défini la structure globale d’une page newsletter
 tpl.newsletterIssue.jsp: template utilisé par l’auteur lorsqu’il crée une publication de newsletter.
 definitions.cnd: fichier standard de definition Jahia
Autres fichiers importants:
Dans le dossier /area, le fichier newsletter.jsp défini les différentes zone de contenu du Template de la
newsletter.
Dans le dossier /modules/newsletter, le fichier newsletter.jsp define le the code of the newsletter content
object, used in the related area:
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 74 sur 116
3.3.2
Méthode d’intégration
3.3.2.1 Introduction
Le module de newsletter permet aux visiteurs (identifies ou non) de souscrire à une newsletter sur une
page dédiée.
La page de souscription utilise un template spécifique qui inclut les tags de souscriptions et de gestion des
utilisateurs.
Cette page peut être envoyé à tous les souscripteurs.
Le module de newsletter repose sur deux templates majeurs : la « newsletter » et la « newsletter issue »
Tous deux sont des templates standard. Le newsletter template contient une containerList de publication
de newsletters (newsletter issue). Voici la définition du container correspondant, nous avons :
page link (page[type="direct",templates="newsletterIssue"])
Le template de Newsletter issue doit répondre aux exigences des clients mails. Par exemple tous les styles
doivent être déclarés à l’intérieur des tags eux-mêmes et non dans une CSS séparé.
Il est fortement recommandé de créer des templates séparés pour vos newsletters.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 75 sur 116
3.3.2.2 Définitions
Voici un exemple de définitions utilisées dans le package de démo de la newsletter :
defintions.cnd :
[web_templates:newsletterIssue] > jnt:container
page link (page[type="direct",templates="newsletterIssue"])
file image (file[mime='image/*'])
bigText description
[web_templates:newsletter] > jnt:page,web_templates:navigation, web_templates:introduction
containerList issues (web_templates:newsletterIssue)
[web_templates:newsletterIssuePage] > jnt:page,web_templates:navigation,
web_templates:introduction, jmix:sendAsNewsletter
templates.xml :
<template name="newsletter" display-name="template.name.newsletter"
filename="tpl.newsletter.jsp" page-type="web_templates:newsletter"
description="description.template.newsletter"/>
<template name="newsletterIssue" display-name="template.name.newsletterIssue"
filename="tpl.newsletterIssue.jsp" page-type="web_templates:newsletterIssuePage"
description="description.template.newsletterIssue"/>
C’est une définition standard Jahia, avec une spécificité : la page Newsletter Issue doit être définie en
utilisant le tag jmix :sendasNewsletter comme ceci :
[web_templates:newsletterIssuePage] > jnt:page,web_templates:navigation,
web_templates:introduction, jmix:sendAsNewsletter
Ce tag indique que la page est une newsletter issue (publication de newsletter). Grâce à ce tag, la barre
d’outil souscription affichera « Envoyer une newsletter » et le bouton « Tester la newsletter » sera affiché
quand les auteurs éditeront ce type de page.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 76 sur 116
3.3.2.3 Templates
3.3.2.3.1 Template simple de newsletter issue
Voici un exemple de template de newsletter issue:
<template:containerList name="issues" id="issues">
<c:if test="${not empty issues}">
<ul>
<template:container id="issue">
<li>
<h3><template:field name="link"/></h3>
<p>
<template:image file="image" cssClassName="left"/>
<template:field name="description"/>
</p>
<br class="clear"/>
</li>
</template:container>
</ul>
</c:if>
</template:containerList>
Ce code affiche uniquement les liens des newsletter issues.
L’HTML généré doit être aussi simple que possible afin d’être affiché dans les clients mails et non dans un
navigateur.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 77 sur 116
3.3.2.4 Exemple complet du package Newsletter d’ACME
3.3.2.4.1 tpl.newsletter.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ include file="common/declarations.jspf" %>
<%-- This file only describe the template --%>
<%-- Define layout file --%>
<jsp:include page="positioning.jsp">
<jsp:param name="position" value="position2"/>
<jsp:param name="mainArea" value="areas/newsletter.jsp"/>
<jsp:param name="areaB" value="areas/search_nav_boxes.jsp"/>
<jsp:param name="footerNav" value="true"/>
</jsp:include>
3.3.2.4.2 tpl.newsletterIssue.jsp
<%@ include file="common/declarations.jspf" %>
<template:template doctype="html-transitional">
<template:templateHead>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</template:templateHead>
<template:templateBody style="background-color:#f0eee4">
<table style="font-size:80%;background-color:#f0eee4;width:100%;font-family: Arial, Helvetica, sansserif;line-height:160%;"
width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<table width="579" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="padding: 8px 0 8px 0;">
<p style="font-size: 11px;font-weight: normal;font-style: italic;color: #333;text-align:
center;">
<fmt:message key="web_templates_newsletter.intro.1">
<fmt:param value="<a style='color: #900;text-decoration: none;' href='/'
name='top'>${currentSite.title}</a>"/>
</fmt:message>
<br/>
<fmt:message key="web_templates_newsletter.intro.2"/>
<a href="${currentPage.url}" target="_blank" style="color: #900;text-decoration: none;">
<fmt:message key="web_templates_newsletter.intro.3"/></a>.</p></td>
</tr>
</table>
<table width="579" border="0" cellspacing="0" cellpadding="0" style="background-color:#4f5c79">
<tr>
<td align="center">
<table width="579" height="108" border="0" cellspacing="0" cellpadding="0"
style="background-color:#4f5c79">
<tr>
<td><template:absoluteContainerList name="logo" id="logoContainerList" pageLevel="1"
displayActionMenu="false">
<template:container id="logoContainer" displayActionMenu="false"
cacheKey="logoNLTop">
<a href='<template:composePageURL
pageID="${requestScope.currentSite.homepageID}"/>'
target="_blank"><template:image file="logo"/></a>
</template:container>
</template:absoluteContainerList>
</td>
<td align="right" style="height: 108px; padding-right: 20px;">
<h3 style="color:#fff; font-weight:normal; margin:0; padding:5px 20px; fontsize:30px;font-family:Georgia, 'Times New Roman', Times, serif">
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 78 sur 116
<em>${currentPage.title}</em></h3>
<span style="color:#fff; padding:0 20px; font-size:14px;font-family:Georgia,
'Times New Roman', Times, serif">
<em>
<jsp:useBean id="startDate" class="java.util.Date" />
<fmt:formatDate value="${startDate}" dateStyle="long" type="date"/>
</em>
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="579" border="0" cellspacing="0" cellpadding="0" style="background-color:#fff">
<tr>
<td width="254" align="center" valign="top"
style="background-color: #f8f8f8;border-right: 1px solid #ccc;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" style="padding: 10px;">
<h2 style="font-size: 16px;font-weight: normal;color: #464646;margin: 0 0 10px
0;border-bottom: 3px solid #ccc;text-transform: uppercase;">
In this issue</h2>
<template:containerList name="preferences" id="preferences"
actionMenuNamePostFix="preferences"
actionMenuNameLabelKey="preferences">
<template:container id="preferencesContainer" cache="off"
actionMenuNamePostFix="preferences"
actionMenuNameLabelKey="preferences.update">
<template:field name="filter" display="false"
var="newsCategoriesFilter"/>
<c:set var="categoriesFilter" value=""/>
<c:set var="categoriesDisplay" value=""/>
<c:forEach items="${newsCategoriesFilter.category}"
var="newsCategoryFilter" varStatus="status">
<c:if test="${status.last}">
<c:set var="categoriesFilter"
value="${categoriesFilter}${newsCategoryFilter.category.key}"/>
<c:set var="categoriesDisplay"
value="${categoriesDisplay}${newsCategoryFilter.title}"/>
</c:if>
<c:if test="${!status.last}">
<c:set var="categoriesFilter"
value="${categoriesFilter}${newsCategoryFilter.category.key}$$$"/>
<c:set var="categoriesDisplay"
value="${categoriesDisplay}${newsCategoryFilter.title},
"/>
</c:if>
</c:forEach>
<template:field name="maxNews" var="maxNews" defaultValue="10"
display="false"/>
<c:if test="${requestScope.currentRequest.editMode}">
<div style="border: 1px solid #cccccc;background-color:
#eaeaea;padding: 5px;font-size: 90%;line-height: 100%; margin: 1em 0;">
<h2><fmt:message
key="web_templates_newsList.preferences"/></h2>
<p class="preference-item"><span
style=" font-weight: bold;"><fmt:message
key="web_templates_newsList.categoryFilter"/>:
</span><span
class="preference-value">${categoriesDisplay} </span>
</p>
<p class="preference-item"><span
style=" font-weight: bold;"><fmt:message
key="web_templates_newsList.rowsDisplay"/>: </span><span
class="preference-value">${maxNews.integer}</span>
</p>
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 79 sur 116
</div>
</c:if>
<c:set var="newsCategoryFilter" value="${newsCategoryFilter}"/>
<c:set var="maxNews" value="${maxNews}"/>
</template:container>
</template:containerList>
<template:containerList maxSize="${maxNews.integer}" id="newsList"
displayActionMenu="false">
<query:containerQuery>
<query:selector nodeTypeName="web_templates:newsContainer"
selectorName="newsList"/>
<c:if test="${!empty categoriesFilter}">
<query:equalTo propertyName="${queryConstants.CATEGORY_LINKS}"
value="${categoriesFilter}"
multiValue="true" metadata="true"/>
</c:if>
<c:if test="${empty categoriesFilter}">
<query:equalTo propertyName="${queryConstants.CATEGORY_LINKS}"
value="noCatDef"
multiValue="true" metadata="true"/>
</c:if>
<query:descendantNode selectorName="newsList"
path="${currentSite.JCRPath}"/>
<query:setProperty name="${queryConstants.SEARCH_MAX_HITS}"
value="${maxNews.integer}"/>
<query:sortBy propertyName="newsDate"
order="${queryConstants.ORDER_DESCENDING}"/>
</query:containerQuery>
<ul style="margin: 0 0 20px 24px;padding: 0;font-size: 12px;font-weight:
normal;color: #313131;">
<template:container id="newsContainer" cacheKey="newsletterShort"
displayActionMenu="false"
displayExtensions="false"
displayContainerAnchor="false">
<li><a href="#news${newsContainer.ID}" target="_blank"
style="font-size: 12px;font-weight: normal;color:
#333;"><template:field
name='newsTitle' inlineEditingActivated="false"/></a>
</li>
</template:container>
</ul>
</template:containerList>
<h2 style="font-size: 16px;font-weight: normal;color: #464646;margin: 0 0 10px
0;border-bottom: 3px solid #ccc;text-transform: uppercase;">
In short</h2>
<template:containerList name="introduction" id="introductionContainerList"
actionMenuNamePostFix="introduction"
actionMenuNameLabelKey="introduction">
<template:container id="mainContent"
emptyContainerDivCssClassName="mockup-introduction">
<p style="font-size: 12px;font-weight: normal;color: #313131;margin: 0 0
14px 0;padding: 0;">
<template:field name='introduction'/>
</p>
</template:container>
</template:containerList>
<%--<table width="100%" height="173" border="0" cellspacing="0"
cellpadding="0"
style="border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;">
<tr>
<td align="center" valign="top"
style="border-bottom: 1px solid #ccc;padding: 16px 22px 16px
22px;">
<h3 style="font-size: 16px;font-weight: normal;color:
#666;margin: 0 0 4px 0;padding: 0;">
UNSUBSCRIBE</h3>
<p style="font-size: 13px;font-weight: normal;color:
#313131;margin: 0; padding: 0;">
<a href="#" target="_blank"
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 80 sur 116
style="color: #900;text-decoration: none; border:
none;margin: 0;padding: 0;">Click
to instantly unsubscribe from this email</a></p></td>
</tr>
<tr>
<td align="center" valign="top"
style="padding: 16px 22px 16px 22px;">
<h3 style="font-size: 16px;font-weight: normal;color:
#666;margin: 0 0 4px 0;padding: 0;">
FORWARD</h3>
#313131;margin: 0; padding: 0;">
<p style="font-size: 13px;font-weight: normal;color:
<a href="#" target="_blank"
style="color: #900;text-decoration: none; border:
none;margin: 0;padding: 0;">Click
to forward this email to a friend</a></p></td>
</tr>
</table>--%>
</td>
</tr>
</table>
</td>
<td width="325" align="center" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" style=" padding: 20px;">
<template:containerList maxSize="${maxNews.integer}" id="newsList"
displayActionMenu="false">
<query:containerQuery>
<query:selector nodeTypeName="web_templates:newsContainer"
selectorName="newsList"/>
<c:if test="${!empty categoriesFilter}">
<query:equalTo propertyName="${queryConstants.CATEGORY_LINKS}"
value="${categoriesFilter}"
multiValue="true" metadata="true"/>
</c:if>
<c:if test="${empty categoriesFilter}">
<query:equalTo propertyName="${queryConstants.CATEGORY_LINKS}"
value="noCatDef"
multiValue="true" metadata="true"/>
</c:if>
<query:descendantNode selectorName="newsList"
path="${currentSite.JCRPath}"/>
<query:setProperty name="${queryConstants.SEARCH_MAX_HITS}"
value="${maxNews.integer}"/>
<query:sortBy propertyName="newsDate"
order="${queryConstants.ORDER_DESCENDING}"/>
</query:containerQuery>
<template:container id="newsContainer" cacheKey="MediumNews"
displayActionMenu="false" displayExtensions="false"
displayContainerAnchor="false">
<template:getContentObjectCategories var="newsContainerCatKeys"
objectKey="contentContainer_${pageScope.newsContainer.ID}"/>
<c:if test="${!empty newsContainerCatKeys }">
<h3 style="font-size: 11px;font-weight: normal;color: #333333;text-transform:
uppercase;margin: 0 0 8px 0;padding: 0;">
<ui:displayCategoryTitle categoryKeys="${newsContainerCatKeys}"/></h3>
</c:if>
<a name="news${newsContainer.ID}"></a>
<h2 style="font-size: 20px;font-weight: bold;color: #333;margin: 0 0 10px
0;padding: 0;">
<a style="font-size: 20px;font-weight: bold;color: #333;text-decoration:
none;"
href="#"><template:field name='newsTitle'/></a></h2>
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 81 sur 116
<p style="font-size: 12px;font-weight: normal;color: #333333;margin: 0 0 16px
0;padding: 0;">
<template:field name="newsImage" var="newsImage" display="false"/>
<img src="${newsImage.file.downloadUrl}"
alt='<template:field
name="newsTitle" inlineEditingActivated="false"/>' width="160" height="160"
hspace="10" border="0"
align="right"/>
<template:field name="newsDesc"/></p>
<p style="font-size: 10px;font-weight: normal;color: #44a0df;text-transform:
uppercase;width: 100%;text-align: right;margin: 14px 0 4px 0;">
<a href="#top" style="color: #900;text-decoration: none;">Back to
top</a></p>
<img alt="separator"
src="<utility:resolvePath value='images/hr.gif'/>" width="326" height="19">
</template:container>
</template:containerList>
</tr>
</table>
</td>
</tr>
</table>
<table width="579" height="108" border="0" cellspacing="0" cellpadding="0"
style="padding: 10px;background-color: #eaeaea;">
<tr>
<td align="center" valign="middle">
<table width="559" height="88" border="0" cellspacing="0" cellpadding="0"
style="font-size: 11px;font-weight: normal;color: #999999;text-align: center;">
<tr>
<td align="center" style="height: 88px;"><template:absoluteContainerList
name="logoFooter"
id="logoContainerList"
pageLevel="1"
displayActionMenu="false">
<template:container id="logoContainer" displayActionMenu="false"
cacheKey="logoNLBottom">
<a href='<template:composePageURL
pageID="${requestScope.currentSite.homepageID}"/>'
target="_blank"><template:image file="logo"/></a>
</template:container>
</template:absoluteContainerList>
<br/>
&copy; Copyright 2002-2009 - ACME International Corp.
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center">&nbsp;</td>
</tr>
</table>
</template:templateBody>
</template:template>
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 82 sur 116
3.3.2.4.3 definitions.cnd
Définitions de contenus liés à la Newsletter:
[web_templates:newsletterIssue] > jnt:container
page link (page[type="direct",templates="newsletterIssue"])
file image (file[mime='image/*'])
bigText description
[web_templates:newsletter] > jnt:page,web_templates:navigation, web_templates:introduction
containerList issues (web_templates:newsletterIssue)
containerList columnB_box (jnt:box [addMixin="jmix:skinnable",
availableTypes="web_templates:filesBox,jnt:textsBox,jnt:linksBox,jnt:fileContentBox"])
[web_templates:newsletterIssuePage] > jnt:page,web_templates:navigation, web_templates:introduction,
jmix:sendAsNewsletter
singleContainer preferences (web_templates:preferencesContainer)
3.3.2.4.4 areas/newsletter.jsp
<%@ include file="../common/declarations.jspf"%>
<h2><c:out value="${requestScope.currentPage.highLightDiffTitle}" escapeXml="false"/></h2>
<template:include page="modules/introduction/introductionDisplay.jsp"/>
<template:include page="modules/newsletter/newsletter.jsp"/>
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 83 sur 116
3.3.2.4.5 modules / newsletter.jsp
<%@ include file="../../common/declarations.jspf"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.HashMap"%>
<%@page import="org.jahia.data.beans.JahiaBean"%>
<%@page import="org.jahia.registries.ServicesRegistry"%>
<%@page import="org.jahia.utils.LanguageCodeConverters"%>
<%@page import="org.jahia.services.notification.Subscription"%>
<%@page import="org.jahia.services.notification.SubscriptionService"%>
<%@page import="org.jahia.services.notification.templates.TemplateUtils"%>
<%@page import="org.jahia.services.notification.NotificationEvent"%>
<template:containerList name="issues" id="issues" actionMenuNamePostFix="createNewsLetter"
actionMenuNameLabelKey="createNewsLetter">
<c:if test="${not empty issues}">
<ul>
<template:container id="issue">
<li>
<h3><template:field name="link"/></h3>
<p>
<template:image file="image" cssClassName="left"/>
<template:field name="description"/>
</p>
<br class="clear"/>
</li>
</template:container>
</ul>
</c:if>
</template:containerList>
<%-We use 'testSubscriptionEvent' as the event name and site's home page
as the source object for the sake of simplicity.
--%>
<%
String event = "newsletter";
JahiaBean jBean = (JahiaBean) request.getAttribute("jahia");
String objectKey = jBean.getPage().getKey();
SubscriptionService service = SubscriptionService.getInstance();
String action = request.getParameter("action");
if (action != null) {
if ("add".equals(action)) {
// add new
String newSubscriber = request.getParameter("newSubscriber");
if (newSubscriber != null && newSubscriber.length() > 0) {
// registered user
service.subscribe(objectKey, true, event, newSubscriber, jBean.getSite().getId());
} else {
// unregistered user
Map<String, String> properties = new HashMap<String, String>();
//properties.put("email", request.getParameter("username"));
properties.put("firstname", request.getParameter("firstname"));
properties.put("lastname", request.getParameter("lastname"));
properties.put("preferredLanguage", request.getParameter("preferredLanguage"));
properties.put("comment", request.getParameter("comment"));
service.subscribe(objectKey, true, event, request.getParameter("username"), false,
jBean.getSite().getId(), true, properties);
}
} else if ("suspend".equals(action)) {
// suspend
String subscriptionId = request.getParameter("subscription");
service.suspendSubscription(Integer.valueOf(subscriptionId));
} else if ("resume".equals(action)) {
// suspend
String subscriptionId = request.getParameter("subscription");
service.resumeSubscription(Integer.valueOf(subscriptionId));
} else if ("delete".equals(action)) {
// delete
String subscriptionId = request.getParameter("subscription");
service.unsubscribe(Integer.valueOf(subscriptionId));
} else if ("notify".equals(action)) {
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 84 sur 116
// fire an event
NotificationEvent evt = new
NotificationEvent(jBean.getSite().getHomeContentPage().getObjectKey().getKey(), event);
evt.setSiteId(jBean.getSite().getId());
evt.setPageId(jBean.getSite().getHomepageID());
ServicesRegistry.getInstance().getJahiaEventService().fireNotification(evt);
}
}
Subscription searchPattern = new Subscription();
searchPattern.setObjectKey(objectKey);
searchPattern.setEventType(event);
searchPattern.setSiteId(jBean.getSite().getId());
pageContext.setAttribute("subscriptions", service.getSubscriptionsByCriteria(searchPattern,
"includeChildren", "userRegistered", "enabled", "suspended"));
%>
<script type="text/javascript">
function doIt(action, subscription) {
document.getElementById('action').value = action;
document.getElementById('subscription').value = subscription;
document.subscriptionForm.submit();
}
</script>
<template:jahiaPageForm name="subscriptionForm">
<input type="hidden" name="action" id="action" value=""/>
<input type="hidden" name="subscription" id="subscription" value=""/>
<c:if test="${requestScope.currentRequest.hasWriteAccess}">
<table border="1" width="95%">
<caption>${fn:length(subscriptions)} subsription(s) found</caption>
<thead>
<tr>
<th>#</th>
<th>User</th>
<th>Profile</th>
<th>E-mail</th>
<th>Suspended</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<template:cache expiration="1" cacheKey="subscriptionList">
<c:forEach items="${subscriptions}" var="subscription" varStatus="status">
<% pageContext.setAttribute("subscriber", TemplateUtils.getSubscriber((Subscription)
pageContext.getAttribute("subscription"))); %>
<tr>
<td>${status.count}</td>
<td>
${subscription.username}<br/>
${subscriber.userProperties.properties.firstname}&nbsp;${subscriber.userProperties.properties.lastname}
</td>
<td>
<c:if test="${subscription.userRegistered}">
<a href="<c:url
value='/administration/?do=users&sub=edit&searchString=&searchIn=allProps&storedOn=providers&selectedUser
s=u{jahia_db}${subscription.username}'/>" target="_blank">profile</a>
</c:if>
<c:if test="${not subscription.userRegistered}">
unregistered
</c:if>
</td>
<td>${not empty subscriber.userProperties.properties.email ?
subscriber.userProperties.properties.email : (not subscription.userRegistered ? subscription.username :
'')}</td>
<td>${subscription.suspended ? 'yes' : 'no'}</td>
<c:set var="suspendAction" value="${subscription.suspended ? 'resume' : 'suspend'}"/>
<td><button type="button" onclick="doIt('delete',
'${subscription.id}')">delete</button><br/><button type="button" onclick="doIt('${suspendAction}',
'${subscription.id}')">${suspendAction}</button></td>
</tr>
</c:forEach>
</template:cache>
</tbody>
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 85 sur 116
</table>
<c:if test="${requestScope.currentRequest.editMode}">
<fieldset>
<legend>Add subscription for a registered user:</legend>
<input name="newSubscriber" id="newSubscriber" readonly="readonly"/>&nbsp;<ui:userGroupSelector
mode="users" fieldId="newSubscriber"/>
&nbsp;<button type="button" onclick="doIt('add')">Subscribe</button>
</fieldset>
</c:if>
</c:if>
<c:if test="${!requestScope.currentRequest.logged}">
<fieldset>
<legend>Subscribe to this newsletter :</legend>
E-mail: <input name="username" value=""/><br/>
Firstname: <input name="firstname" value=""/><br/>
Lastname: <input name="lastname" value=""/><br/>
<% pageContext.setAttribute("locales",
LanguageCodeConverters.getAvailableBundleLocalesSorted(jBean.getProcessingContext().getLocale())); %>
Preferred language:
<select name="preferredLanguage">
<c:forEach items="${locales}" var="locale">
<option value="${locale}">${locale.displayName}</option>
</c:forEach>
</select><br/>
Comment: <input name="comment" value=""/><br/>
<button type="button" onclick="doIt('add')">Subscribe</button>
</fieldset>
</c:if>
</template:jahiaPageForm>
<c:if test="${requestScope.currentRequest.logged}">
<fieldset>
<legend>Click on this button to subscribe/unsubscribe to this newsletter :</legend>
<ui:subscribeButton source="${jahia.page.key}" event="newsletter" />
</fieldset>
</c:if>
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 86 sur 116
3.3.2.5 Bonnes pratiques
 Créer la newsletter issue (page utilisant le template newsletter issue) sous la page newsletter et non
pas n’importe où dans le site map.
 Utiliser des balises CSS “inline” (mieux supportées par les clients mails) :
<td style="padding: 8px 0 8px 0;">
 Le boutton “Souscription” utilise plusieurs parameters :
<ui:subscribeButton/> permet aux utilisateurs de s’abonner à une page
Si le paramètre event est défini comme newsletter, la bouton de souscription permettra aux
utilisateurs de souscrire à la newsletter
Le tag supporte les arguments suivant :
•
event : Le type d’event à gérer. Si pas spécifié, l’événement « contentPublished » est utilisé.
Il faut spécifier la valeur “newsletter” pour que la souscription à la newsletter puisse
fonctionner.
•
source : La clef de l’objet de contenu à observer pour les changements.
•
user : Le nom d’utilisateur pour la souscription. Si pas spécifié c’est l’utilisateur courant qui
est utilisé.
•
onRequired : Est ce que la souscription nécessite une confirmation (un mail avec un lien
d’activation sera envoyé avec un lien de confirmation) ? Par défault à false.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 87 sur 116
3.3.3
Pré-requis
3.3.3.1 Configuration du serveur de mail
Votre serveur de mail doit être paramétré et activé. Si ceci n’a pas été fait lors de l’installation de Jahia,
vous pouvez vous rendre dans le panneau d’administration du Serveur, dans l’onglet E-mail configuration :
3.3.3.2 Email des utilisateurs enregistrés
Si uniquement les utilisateurs enregistrés peuvent souscrire à la newsletter, alors ils doivent saisir leur
adresse email pour s’abonner.
3.3.3.3 Risques liés à l’envoi massif
Si vous avez beaucoup d’abonnés, il se peut que votre adresse mail d’envoi soit back listé. Merci de
contacter votre provider mail pour plus de détails.
Attention, le processus d’envoi de mail peut consommer beaucoup de ressources, selon le nombre de
message à envoyer. Pour minimiser l’effet d’une telle activité sur le serveur, il est conseillé de dédié un
serveur Jahia à la gestion des newsletters. Une autre approche peut être de lancer le traitement des
newsletters à un moment où l’activité sur le serveur est minimum.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 88 sur 116
4 Paramètres du Serveur
Détaillons maintenant les options et modules disponibles depuis l’onglet “Paramètres du serveur”. Cet
onglet est normalement réservé uniquement au Super Administrateur de par le fait que les actions et
opérations effectuées vont impacter l’ensemble des sites mutualisés au sein du même serveur (ou cluster)
Jahia.
C’est donc à partir de cet onglet que l’on va pouvoir déployer de nouveaux patches, rajouter des nouveaux
portlets ou modifier les paramètres des caches. C’est également depuis cet onglet que l’on va pouvoir
lister, administrer, créer ou effacer des instances de sites virtuels.
De manière similaire à l’onglet “Paramètres du site”, le Super Administrator peut parfaitement déléguer l’accès à un ou
plusieurs modules disponibles dans cette section à d’autres utilisateurs. Cette option de délégation est disponible au sein du menu
« Gérer les permissions sur le serveur ».
Figure 3-1: Paramètres du Serveur
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 89 sur 116
4.1 Gestion des Sites Virtuels
Vous pouvez créer de multiples sites virtuels au sein du même serveur Jahia. Chaque site virtuel
possèdera ainsi son propre jeu de pages, de contenu, de fichiers,…
La notion de « site virtuel » dans Jahia n’est cependant pas une mutualisation entière de la plateforme
mais signifie plutôt la capacité de créer des « espaces virtuels » distincts.
Ainsi chaque site peut disposer de :
•
Son propre domaine (par exemple vous pouvez décider de gérer un premier site sur le domaine:
www.mon-premier-domaine.com et un second site qui sera disponible sur le domaine www.monsecond-domaine.com les deux tournant en définitive sur le même serveur Jahia).
•
Son propre plan de site avec sa propre arborescence
•
Son propre index
•
Son espace privé dans le système de gestion documentaire ou dans le gestionnaire de Mashups.
•
Ses groupes propres (par exemple vous pouvez parfaitement disposer de deux groupes “Auteurs”
distincts dont la composition des membres différents selon le site A ou le site B)
•
Ses propres paramétrages (voir les fonctionnalités décrites dans le chapitre précédant)
Cependant chaque site partage avec les autres sites :
•
La même base de données sous-jacente et la même API : Il est ainsi possible d’accéder aux objets
de contenu disponibles dans les autres sites virtuels. Ceci permet ainsi de facilement réutiliser du
contenu identique entre plusieurs sites (ex : des nouvelles qui sont identiques pour chaque
département disposant chacun de leur propre site), mais cela peut poser évidemment des
problèmes de sécurité en cas de mutualisation complète de la plateforme (ex : deux sociétés
distinctes sont hébergées sur le même serveur).
•
Les mêmes sets de templates (du moins pour les sites qui partagent le même set de templates).
Ainsi un changement dans un set de templates qui est réutilisé entre plusieurs sites impactera
l’ensemble des sites concernés.
•
Le même arbre de catégorie
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 90 sur 116
•
Les mêmes jeux de portlets et de mashups qui peuvent être limités par éditeur mais non pas par
site.
•
Les mêmes utilisateurs (LDAP ou Jahia : il n’est ainsi pas possible d’avoir deux utilisateurs distinct
(ex : John) avec le même identifiant entre deux sites. Les groupes LDAP sont pour leur part, à
l’instar des utilisateurs LDAP, également commun à tous les sites.
Créer un nouveau site virtuel est donc utile lorsque la même société doit gérer plusieurs initiatives web
différentes (ex : un site web public, un ou plusieurs extranets et un ou plusieurs intranets départementaux).
La notion de sites virtuels permet ainsi de mieux déléguer les rôles, de disposer de vues (sitemap, thèmes,
résultats de recherche…) ou d’url/domaine différenciés par site tout en conservant des capacités de
partage de contenu, d’utilisateurs ou de mashups.
Figure 3-2: Menu principal du module de gestion des sites virtuels
Vous pouvez accéder à la liste de tous les sites virtuels existants depuis cette interface.
Le site par défaut est celui qui est indiqué par une croix verte. Si le domaine utilisé est identique pour
plusieurs site (ex : acme.com), le site par défaut est le seul dont les pages seront directement disponibles
sans avoir à indiquer, en plus, la clé du site (par exemple : www.acme.com/about pour le site par défaut
contre www.acme.com/cms/site/demo/about pour le second site « demo »)
Les opérations nécessaires à la création, modification ou suppression d’un site sont disponibles depuis ce
menu.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 91 sur 116
Figure 3-3: Mise à jour des paramètres de configuration d’un site existant
En supprimant un site virtuel existant vous allez voir apparaître une option : « supprimer le gisement de
fichiers du site ». Si vous activez cette option, la suppression du site n’effacera pas uniquement les
contenus disponibles dans les pages concernées mais également l’espace réservé à ce site au sein du
système de gestion documentaire associé (chaque site virtuel dispose de son propre espace dans le
système de gestion électronique de documents). Vous pouvez aussi vouloir conserver cet espace
documentaire ainsi que ses fichiers associés même en cas de suppression du site. Dans un tel cas
n’activez pas cette option.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 92 sur 116
Figure 3-4: Interface pour effacer un site virtuel existant
3.1.1
Créer un nouveau site virtuel
Vous disposez de trois méthodes pour créer un nouveau site virtuel :
1) Utiliser le bouton “Ajouter un site” disponible en haut du menu principal. Ce menu va créer un
nouveau site virtuel vierge avec uniquement une page d’accueil pré-initialisée par défaut.
2) Utiliser un site de démonstration préinstallé. Par défaut Jahia est fourni avec deux sites de
démonstration prêt à l’emploi:
a. La “Corporate Demo” est un exemple de site public qui permet d’illustrer, de tester ou de
former les utilisateurs au produit.
b. Le “TCK (test Compatibility Kit)” est un exemple de site spécialement développé pour les
développeurs de templates. Il permet d’illustrer toutes les possibilités existantes au sein du
produit ainsi que les différentes options disponibles.
Vous pouvez bien entendu remplacer ces sites de démonstrations par vos propres démonstrateurs.
Ces sites préinstallés peuvent ainsi servir ensuite de « projet pilote» pour accélérer la création de
sites satellites modélisés sur la même base. Prenez contact avec votre intégrateur afin de savoir
comment remplacer les démonstrateurs préinstallés par les vôtres.
3) Finalement vous pouvez également utiliser la fonction “Importation d’une archive”. Cette option est
principalement utilisée par un administrateur système à des fins d’import/export d’un ou plusieurs
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 93 sur 116
sites entre deux environnements Jahia distincts (par exemple à des fins de migration ou de
basculement entre différentes zones démilitarisées ou non). Cependant si vous avez créé un
« squelette » de site plus ou moins prêt à l’emploi au sein d’un site web d’exemple, vous pouvez
ensuite rapidement le sauver de manière générique au sein d’un fichier d’archive et le réimporter
autant de fois que nécessaire afin de créer le nombre de sites “satellites” calqués sur le même
modèle dans les meilleurs délais.
Le processus nécessaire à la création d’un site provenant d’un démonstrateur ou d’un import est trivial
puisqu’il s’agit soit de simplement sélectionner le démonstrateur soit de charger un fichier d’archive.
Nous allons donc nous attarder plutôt sur le premier point à savoir la création d’un site virtuel vierge.
Pour rajouter un nouveau site virtuel, vous devez donc cliquer sur le bouton : « Ajouter un site ». Un menu
en trois étapes vous est ensuite proposé.
Etape 1: Entrez les détails à propos de votre site
Figure 3-5: Ajouter un nouveau site virtuel: Etape 1 - Propriétés
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 94 sur 116
Tout d’abord, veuillez saisir un titre pour votre nouveau site. Le titre apparaîtra dans vos interfaces
utilisateurs lorsque vous aurez à sélectionner un site.
Ensuite vous devez sélectionner un nom de serveur. Ce nom indique le domaine du site. Vous pouvez
ainsi par exemple utiliser le domaine de votre société (www.ma-societe.fr) et si votre DNS est correctement
configuré, vous pourrez ensuite accéder directement à votre site virtuel en y accédant via l’url :
http://www.ma-societe.fr/
Si vous ne souhaitez pas utiliser de DNS particulier, utilisez simplement “localhost” ou l’adresse IP de votre
serveur. Vous pourrez ensuite accéder à votre site, s’il tourne sur votre machine, depuis :
http://localhost:8080/cms/site/clé-du-site
soit en remplaçant localhost par l’adresse IP du serveur.
Enfin, vous devez également saisir une clé de site. Ce mot clé sera ensuite utilisé afin d’identifier le site
dans l’url qui sera généré. Cette clé est unique pour chaque site et non modifiable. Ainsi, si vous souhaitez
créer un site ACME, vous pouvez le nommer « ACME Corporation » (titre du site) et libeller la clé comme
ACME. Ce site sera ensuite disponible à l’adresse suivante :
http://localhost:8080/cms/site/ACME
Si vous souhaitez utiliser ce nouveau site comme site par défaut, veuillez sélectionner l’option ad-hoc
disponible en bas de cette première interface. Ce site pourra ensuite être soit accessible via l’url susmentionnée, soit directement via :
http://localhost:8080/cms/
Comme mentionné au préalable, un seul site virtuel peut évidemment devenir le site par défaut. En activant
cette option, l’ancien site par défaut est donc automatiquement désactivé. Son url complète devra dès lors
être composée afin de pouvoir y accéder.
Une option vous permet d’imposer ou non la politique de protection des mots de passe pour les nouveaux
utilisateurs. Si cette option est activée, les utilisateurs nouvellement créés devront alors respecter certains
critères minimums de sécurité pour leur mot de passe. Sinon ils sont libres de rentrer le mot de passe qu’ils
désirent sans de plus amples vérifications de sécurité. Voir la section concernant le module de gestion des
politiques de mot de passe pour de plus amples détails.
Finalement le champ de description vous permet de rentrer une légende pour le site en cours de création.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 95 sur 116
La seconde partie de ce premier menu vous permet de définir un compte pour le nouvel administrateur du
site. Vous avez le choix entre ne pas créer du tout de nouveau compte pour le rôle d’administrateur de ce
site (sous-entendu : un utilisateur existant remplira ce rôle), de créer un nouveau profil générique ou de
réutiliser un autre administrateur déjà créé et utilisé au sein d’un autre site virtuel. Dans tous les cas de
figure un nouveau groupe « Administrateur» propre à ce site sera créé. Chaque membre de ce groupe
deviendra de-facto un super-utilisateur disposant de tous les privilèges pour le site en question.
Une fois ces informations saisies, cliquez sur le bouton “Etape Suivante”.
Si vous aviez choisi de créer un nouvel administrateur pour ce site, vous devrez encore renseigner un
menu d’information complémentaire permettant de créer ce nouveau profil utilisateur. Si vous aviez choisi
de réutiliser un administrateur existant, vous devrez le sélectionner depuis la liste des sites déjà existants.
Etape 2: Sélectionner un set de templates
Après cette première étape, vous devrez choisir le set de templates qui sera utilisé ainsi que le thème et
une langue par défaut.
Les jeux de templates sont potentiellement partageables entre plusieurs sites. Un changement, rajout ou
suppression d’un template entraînent donc un changement sub-conséquent dans chacun des sites qui
exploitent le même set de templates. Une fois le jeu de template sélectionné, ce dernier ne pourra plus être
modifié pour le site en cours. Choisissez le donc prudemment.
Chaque set de template peut fournir un ou plusieurs thèmes (CSS). Chaque site peut par contre utiliser un
thème différent.
Finalement le nouveau site doit disposer d’au moins une langue disponible. Des langues additionnelles, si
nécessaires, pourront être rajoutées après coup. Attention, une langue ne peut pas être totalement
supprimée d’un site une fois créé mais uniquement désactivée. Chaque langue partage en effet certaines
informations communes. Sélectionnez donc la langue de prédilection avec diligence.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 96 sur 116
Figure 3-6: Ajouter un nouveau site virtuel: Etape 2 – Sélection d’un set de templates
Etape 3: Interface de confirmation
Le dernier écran récapitule l’ensemble des paramètres déjà saisis. Vérifier vos données et valider le tout.
Votre nouveau site sera alors instantanément créé.
Votre nouveau site sera alors listé dans l’interface principale de l’onglet « Paramètre du site ». Votre
nouveau site apparaîtra alors dans la zone de sélection de l’ensemble des sites existants. Sélectionnez
votre nouveau site depuis l’onglet « Paramètres du site » et quittez le centre d’administration. La page
d’accueil de votre site devrait apparaître. Vous pouvez alors commencer à éditer votre nouveau contenu.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 97 sur 116
4.2 Gérer les catégories
Les objets de contenu au sein de l’application Jahia peuvent être catégorisés afin d’accélérer leurs
recherches ou filtrages. Vous pouvez donc créer une taxonomie générale (un ensemble de catégories et
de sous-catégories) que vous pourrez associer ensuite à un ou plusieurs objets de contenu. Tous les
éléments au sein de Jahia (pages, listes, objets de contenu) peuvent ainsi être catégorisés. Et un
développeur de templates peut ensuite facilement récupérer tous les éléments associés à telle ou telle
catégorie.
Vous pouvez ainsi imaginer afficher automatiquement des nouvelles qui appartiennent uniquement à la
catégorie A ou laisser vos utilisateurs filtrer leur contenu selon un certain nombre de sous-catégories.
Le système de taxonomie de Jahia est par défaut partagé entre tous les sites virtuels. Ceci permet
également d’effectuer des recherches transverses entre plusieurs sites tout en utilisant le même
vocabulaire sémantique.
Figure 3-7: Liste des catégories déjà créées
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 98 sur 116
Pour chaque catégorie, vous pouvez également associer une ou plusieurs propriétés. Par exemple vous
pouvez stocker une page de référence propre à chaque catégorie, une description de la catégorie ou des
catégories associées. Ces propriétés peuvent ensuite être facilement exploitées au sein d’un template.
Pour rajouter une nouvelle catégorie, sélectionner simplement la racine du sous arbre concerné et cliquez
sur le bouton « ajouter une catégorie ».
Figure 3-8: Ajouter une nouvelle catégorie
Veuillez ensuite saisir la clé de la nouvelle catégorie (identifiant unique) ainsi que les titres associés pour
chacune des langues disponibles. Si une langue n’est pas définie, la valeur d’une autre langue ou la valeur
de la clé sera affichée à la place.
En tant qu’éditeur vous pouvez maintenant catégoriser un objet dans cette nouvelle catégorie. Depuis un
masque d’édition, cliquez simplement sur l’onglet « Métadonnées » puis aller dans le champs
« Catégories ». Un arbre de catégories similaire à celui disponible dans le centre d’administration
apparaîtra et vous permettra de tagger vos objets de contenu.
Veuillez noter que le développeur de template peut spécifier le sous-arbre de catégories sélectionnable pour chaque
type de contenu. Cette option permet ainsi à l’éditeur de ne pouvoir utiliser qu’un sous-ensemble restreint de catégories. Par
exemple un développeur de template peut décider de n’afficher que le sous-arbre de contenu « Catégories pour les nouvelles »
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 99 sur 116
pour tous les objets de type « News ». Un éditeur ne pourra donc pas catégoriser une « news » dans le plan comptable de la
société ou dans la liste des projets.
Une fois une catégorie créée vous pouvez éditer ces propriétés ou ces droits simplement en cliquant
dessus et en sélectionnant le bon onglet dans la fenêtre disponible à cet effet en bas de page.
De manière similaire à un plan de site et à des pages, l’arbre des catégories dispose de permissions qui
sont héritées dans le sous arbre. Vous pouvez donc déterminer avec précision quels sont les utilisateurs
qui ont le droit d’utiliser (ou de modifier) telle ou telle branche dans l’arbre des catégories.
Finalement il est coutumier que les clients disposent déjà de leurs propres taxonomies. Vous pouvez donc
importer (respectivement exporter) un arbre de catégories dans Jahia en utilisant les options prévues à cet
effet. Le fichier d’import des catégories utilise un schéma XML simple.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 100 sur 116
4.3 Configuration des notifications E-mails
Depuis ce module vous pouvez modifier les paramètres du serveur email qui servira de relai pour l’envoi
des notifications par email. Ces paramètres ont normalement été saisis au préalable lors de l’installation du
serveur Jahia.
Figure 3-9: Configuration des emails
Afin de paramétrer correctement votre serveur mail, entrer tout d’abord l’adresse de votre serveur SMTP.
Vous pourrez ensuite saisir le mail de l’administrateur système. Ce dernier recevra les emails de
notifications en cas d’erreurs système. Vous pouvez également déterminer l’adresse email qui servira de
source lors de l’envoi des notifications automatiques par le système.
Vous pourrez trouver des compléments d’informations de paramétrage ci-dessous :
1. "Serveur de messagerie": ce champ contient l’adresse SMTP du serveur email. Ce champ peut contenir
certaines propriétés avancées telles que :
- le numéro de port : si ce dernier diffère du port SMTP standard (25)
- l’utilisateur et son mot de passe : dans le cas où le serveur SMTP requiert une authentification
- des propriétés additionnelles : par exemple afin d’activer le TLS
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 101 sur 116
Le format pour ce champ est le suivant :
<utilisateur>:<mot de passe>@<smtp-host>:<smtp-port>[Paramètre1=Valeur1,Paramètre2=Valeur2,...]
Tous les arguments à l’exception de <smtp-host> sont optionnelles. Merci de consulter les exemples
d’utilisation ci-dessous pour plus de détails.
2. Le champ "e-mail à l’administrateur" contient une ou plusieurs adresses emails séparées par des
virgules. Chacun de ces utilisateurs recevra les notifications systèmes (si ces dernières sont activées).
3. Finalement le champ "e-mail de" déterminera le nom par défaut utilisé par Jahia pour envoyer les emails
de notifications.
Afin d’illustrer différentes configurations possibles, veuillez trouver différents exemples d’utilisation cidessous :
1. Le serveur SMTP ne requiert aucune authentification et utilise le port standard 25 :
smtp.acme.com
2. Le serveur SMTP requiert une authentification et utilise le port non standard 11019 :
utilisateur : [email protected]:11019
3. Exemple pour un compte GMail : Le serveur SMTP requiert une authentification et le TLS est activé :
[email protected]: mot-de-passe-secret @smtp.gmail.com:587[mail.smtp.starttls.enable=true]
4. Si nécessaire activation des options de debuging email avancées afin de voir le détail de la
communication avec le serveur SMTP : smtp.acme.com:25[mail.debug=true]
Finalement l’option concernant le niveau de notification est uniquement utilisée afin d’envoyer des emails
de notification concernant certaines erreurs systèmes. Normalement seuls les administrateurs système de
la plateforme sont concernés par cette option (voir ci-dessus pour la liste des récepteurs).
La configuration du serveur email concerne pour sa part l’envoi de tous les emails de notification de Jahia
(y compris les notifications des workflows par exemple) et ne s’arrêtent pas uniquement aux messages
d’alerte système.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 102 sur 116
3.1.2
Gérer les portlets
L’application Jahia supporte nativement la norme JSR168 (Portlet 1.0) et JSR286 (Portlet 2.0). Des portlets
génériques peuvent donc être facilement déployés et réutilisés au sein du système Jahia qui peut donc
totalement se substituer à un serveur de portail additionnel.
Un portlet est généralement une micro-application web qui peut gérer plusieurs instances. Par exemple un
administrateur peut déployer une portlet générique de type « Portlet RSS » servant à lire et afficher un flux
RSS. Cette portlet générique peut ainsi être utilisée au sein de plusieurs pages, voire plusieurs sites afin
d’afficher des flux RSS totalement différents. Chaque flux sera donc traité par Jahia comme une instance
de ce portlet. Chaque instance est sauvée et est considérée comme un « mashup » disponible au sein du
« Gestionnaire de Mashup ».
Ainsi la portlet générique est déployée et gérée directement au sein du centre d’administration à partir de
ce module. Le Super Administrateur peut ensuite déterminer quels seront les utilisateurs qui auront le droit
de créer des nouvelles instances à partir de ce portlet (par ex : des nouveaux flux RSS). Ensuite chacune
de ces instances pourra elle-même recevoir des droits d’utilisation distincts par utilisateur. Ce mécanisme
permet à l’administrateur de déterminer qui peut ajouter des nouveaux flux et qui peut les positionner au
sein d’une page dans un site précis. Ce système ne fait évidement de sens que si l’administrateur souhaite
contrôler les « instances de mashups » qui auront été générées. Si tel n’est pas le souhait, il suffit de
rajouter le groupe « utilisateurs » (tous les utilisateurs identifiés) à chacune des portlets et chaque
utilisateur sera alors libre de créer le nombre d’instances de ce portlet qu’il souhaite.
Merci de vous référez à la documentation en ligne disponible sur le site www.jahia.org afin d’apprendre
comment développer de nouvelles portlets ou comment déployer un portlet existant au sein de votre
environnement de travail Jahia.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 103 sur 116
Figure 3-10: Gérer des portlets
De manière similaire au menu concernant la gestion des sites virtuels, vous trouverez dans le menu des
portlets une liste de tous les portlets déjà déployés dans la partie supérieure de l’interface principale. Vous
pouvez cliquer sur les opérations et actions disponibles à côté de chaque portlet afin d’obtenir des détails,
de modifier leurs permissions d’accès ou d’accéder à leurs traces d’audit.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 104 sur 116
Figure 3-11: Détails au sujet d’un portlet
Par défaut le déploiement de nouveaux portlets (et la possibilité de créer des instances de ces dernières)
est uniquement réservé au Super Administrateur. Cela signifie qu’un éditeur ne peut pas rajouter de
nouvelles instances de portlets sans que le Super Administrateur ne lui donne en premier les permissions
nécessaires.
Afin de déployer un portlet dans le serveur d’application Tomcat livré par défaut avec Jahia, un
développeur aura besoin de réaliser une légère modification dans un fichier de configuration fourni avec le
portlet. Cette manipulation est décrite en bas de l’interface principale en cliquant sur le bouton d’aide. Cette
modification peut également être automatiquement réalisée en cliquant sur « Préparer » ou « Préparer et
Déployer la portlet »
Si vous utilisez un autre serveur d’application que Tomcat, vous devez effectuer de manière manuelle cette
opération et déployer vos portlets tels que précisés dans la documentation de votre serveur d’application.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 105 sur 116
4.4 Gestion des logs d’administration
Figure 3-12: Traces d’audit
Jahia conserve des traces d’audit (logs) de tous les événements générés automatiquement par le système
ou par un utilisateur (ajout, suppression, mise à jour) avec des informations sur la date, l’heure et
l’utilisateur (ou le système) qui a réalisé ladite opération.
Afin d’afficher les traces d’audit, cliquer sur le bouton « Afficher le log ».
Figure 3-13: Afficher les logs
Les traces d’audit peuvent être filtrées ou directement exportées dans de nombreux formats de fichiers.
Comme les traces d’audit générées peuvent rapidement devenir très importantes, vous pouvez également
choisir de les purger manuellement de temps en temps ou automatiquement après une certaine période de
temps.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 106 sur 116
4.5 Editer les propriétés du Super Administrateur
En tant que Super Administrateur vous pouvez bien entendu modifier à n’importe quel moment vos
propriétés personnelles (nom, mot de passe, email, …).
Figure 3-14: Propriétés du Super Administrateur
Mettez simplement à jour les informations nécessaires et cliquez sur le bouton OK.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 107 sur 116
4.6 Statut du serveur et des caches
Ce module permet de renseigner le Super Administrateur sur les différents paramètres systèmes
disponible depuis son serveur Jahia ainsi que de vérifier (voire purger) les différents niveaux de caches
gérés directement par l’application.
Figure 3-15: Liste des caches gérés par Jahia
Ce module peut donc être utile afin de diagnostiquer différents problèmes systèmes potentiels (par
exemple : Out of Memory ; dysfonctionnements de certains caches qui semblent anormalement gros ou
pas utilisés).
Jahia intègre en effet nativement différents niveaux de cache :
•
Caches au niveau de la base de données (gérés directement au niveau de la base de données ou
de Hibernate)
•
Caches au niveau des objets Jahia (par exemple des caches aux niveaux des objets de contenu
complexes, des utilisateurs et des groupes)
•
Les fragments de HTML – Le “Reverse HTML Cache Proxy” pré-intégré au sein de l’application
Jahia (dans le but d’éviter de régénérer depuis la base de données des fragments HTML qui
viennent d’avoir été générés pour un autre utilisateur).
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 108 sur 116
Depuis ce menu vous pouvez ainsi visualiser en tant que Super Administrateur tous les caches de second
niveau (caches des objets) et du troisième niveau (Fragments de HTML). Les caches de bases de données
ou Hibernate ne peuvent être modifiés que via leurs outils de monitoring respectifs ou via leurs fichiers de
configurations.
Normalement l’ensemble des caches au sein de l’applicatif est géré de manière transparente. Cette page a
donc avant tout un objectif d’information, voire de debugging en cas de dysfonctionnement.
Le cache HTML fournit avec Jahia est certainement le cache le plus sensible. Par défaut l’application Jahia
divise automatiquement chaque page en différentes zones de contenu (habituellement une zone pour
chaque objet de contenu) et cache le résultat HTML de chacune des zones en mémoire. Jahia n’a donc
ensuite plus qu’à agréger ces différents fragments HTML stockés en mémoire pour recomposer la page à
délivrer. Ce système permet d’assurer des temps de réponses quasiment instantanées puisqu’une page
qui a déjà été accédée est entièrement disponible en mémoire et ne nécessite aucun accès
supplémentaire à la base de données ainsi qu’un temps de traitement minimal. Lors de chaque
changement d’un objet de contenu sur une page, le fragment relatif est purgé de la mémoire et rechargé
lors du prochain accès. Seul ce fragment est régénéré depuis la base de données ce qui évite également
des accès superflus à tous les autres objets de contenu présents sur cette page et qui n’ont, pour leur part,
pas été modifiés.
Ce cache HTML peut également être modifié depuis les templates. Ainsi, par exemple, pour des zones
dynamiques non dépendantes de l’application Jahia telles que des flux RSS ou Twitter, le développeur de
template peut décider de forcer la purge de ces caches selon une certaine périodicité (par exemple : toutes
les 5 minutes), voire ne rien cacher du tout.
Pour obtenir plus d’information sur les systèmes de caches disponibles dans l’application, merci de
consulter le « Jahia Configuration and Fine Tuning Guide ».
Merci de noter que les caches HTML peuvent également être flushés depuis la barre d’édition qui leur est dédiée.
Cette fonctionnalité évite d’avoir à se loguer en tant qu’administrateur ou à déléguer certaines permissions dans ce module afin de
simplement purger les caches HTML de la page en cours. Cette barre d’outil est tout particulièrement utile lorsque le développeur
de template a décidé de gérer de manière plus fine certains caches (par exemple afin de ne les faire expirer qu’après un certain
délai de temps même en cas de mise à jour du contenu).
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 109 sur 116
4.6.1
Verrous – Purge des verrous de contenu
Vous pouvez également accéder au sous-menu “Verrous” depuis ce module. Cette option vous permet de
purger l’ensemble des verrous d’édition. Usuellement, lorsqu’un éditeur édite un objet de contenu, cet objet
est verrouillé afin d’éviter qu’un autre éditeur effectue la même opération en parallèle. Ceci est également
valable en cas de suppression de page, de validation, etc…
Ces « verrous d’édition » (à ne pas confondre avec les verrous liés à des étapes de validation = cadenas
jaunes) peuvent être purgés depuis ce menu. Il se peut que, dans certaines situations (ex : le navigateur
plante pendant l’édition d’un objet de contenu) certains verrous ne soient pas totalement libérés.
Normalement tous ces verrous ont une durée de vie de 30 minutes par défaut (durée d’une session). Mais
si des verrous venaient à ne plus expirer pour une raison ou une autre ou si un administrateur a besoin de
les faire expirer plus rapidement, cette option permet de tous les purger en un seul click.
A utiliser cependant avec précaution si des éditeurs sont en cours d’utilisation du système car ils ne seront
alors pas prévenus si un autre éditeur est également en train d’éditer un objet de contenu identique.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 110 sur 116
4.7 Gérer les permissions sur le serveur
De manière similaire aux permissions et rôles au niveau de chaque site virtuel, ce module permet à un
Super Administrateur de déléguer la mise à jour, d’un ou plusieurs modules disponibles dans cette section,
à des utilisateurs avertis.
Figure 3-16: Gérer les permissions sur le serveur
Ce module est plus simple que celui disponible au niveau de chacun des sites virtuels vu qu’ils ne
concernent que l’accès à chacun des modules disponibles dans cette section.
D’habitude le Super Administrateur délègue et octroie les permissions suffisantes à certains utilisateurs
avancés afin qu’ils puissent accéder aux modules de création de nouveaux sites virtuels ou à la gestion
des catégories.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 111 sur 116
4.8 Gestion de la politique des mots de passe
Le module de gestion de politique de mot de passe a pour objectif de fixer les règles servant à sécuriser
les identifiants des utilisateurs. Des paramètres tels la taille minimale pour les mots de passe, l’intégration
de certains caractères spéciaux, l’obligation de changer de mots de passe après un certain délai, etc…
peuvent être ajustés depuis ce menu.
Figure 3-17: Gestion de la politique des mots de passe
Pour certaines catégories de sites (par exemple des sites extranets publiquement disponibles) une
politique de sécurisation des mots de passe utilisateurs plus forte peut être requis. Mais ceci peut
également ne pas faire de sens pour certains sites totalement privés. Le Super Administrateur peut donc
décider d’appliquer ou non ces règles pour un seul site, une partie des sites ou sur l’ensemble des sites.
Afin d’activer la politique de sécurisation des mots de passe, l’administrateur, une fois la politique créée à
partir de ce menu, devra donc activer l’option relative dans le module de gestion des sites virtuels pour
chaque site concerné.
Il est important de mentionner que cette politique de sécurisation des mots de passe ne concerne que les utilisateurs
Jahia et non pas les utilisateurs LDAP ou Active Directory qui sont directement gérés et soumis aux règles édictés par ces serveurs
distants.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 112 sur 116
4.9 Gestion des correctifs
Le module de gestion des correctifs a été développé de manière à lister d’éventuels patches additionnels
fournis par l’éditeur et qui permettent de corriger certaines anomalies ou dysfonctionnements, à chaud, qui
nécessitent que l’application et la base de données soient lancées et accessibles pendant que le patch est
installé.
Figure 3-18: Gestionnaire de patches
Merci de consulter la documentation fournie avec chaque patch pour de plus amples détails. N’oubliez pas
de sauvegarder votre système, tout particulièrement en production, avant d’utiliser un patch.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 113 sur 116
4.10
Système de suivi des incidents
Ce raccourci vous redirige directement vers le système de gestion des tickets des incidents disponible en
ligne. Une connexion internet est donc nécessaire.
Deux systèmes de gestion des incidents co-existent :
•
Le système gratuit mis à disposition de la communauté Jahia.
•
Le système commercial uniquement à disposition des clients avec un contrat de support valide
Le système communautaire a également pour objectif d’enregistrer et de suivre les différentes propositions
d’amélioration. Donc n’hésitez pas à suggérer des propositions ou des idées afin d’améliorer l’application.
Comme ces tickets sont disponibles publiquement, merci de ne pas faire mention de vos paramètres
propres à votre environnement ou d’autres données confidentielles.
Le système de suivi des tickets commercial est uniquement disponible pour les clients. Chaque client
dispose de son environnement distinct et sécurisé uniquement disponible via une accréditation spécifique.
Tous les tickets de bugs traités par ce système le sont par des employés de Jahia Solutions Group sous le
couvert des règles classiques de confidentialité. Les tickets ne sont donc pas partagés entre les clients et
chaque client dispose d’un temps minium ainsi que d’une obligation de réponse de la part de l’éditeur.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 114 sur 116
4.11
Documentation
Ce lien vous redirige vers l’espace de documentation.
De manière similaire au système de gestion des incidents, la documentation Jahia est séparée en deux
parties :
•
la documentation gratuite et communautaire disponible sur le site jahia.org.
•
la documentation commerciale uniquement disponible pour les clients des versions payantes qui est
disponible dans l’espace Extranet client.
4.12
A propos de Jahia
Finalement le module: “A Propos de Jahia” résume l’ensemble des fonctionnalités disponible dans le cadre
de votre clé de licence actuelle (nombre d’utilisateurs, contraintes sur certains modules, expiration des
versions d’essais,…).
Figure 3-19: A propos de Jahia
Dans cette section vous trouverez également le numéro de version de l’applicatif. Ce numéro apparaît
normalement également en bas de chaque écran d’édition. Ce numéro doit être mentionné dans chaque
report d’incident afin de simplifier la résolution de ce dernier par l’équipe de support.
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 115 sur 116
9 route des Jeunes,
CH-1227 Les acacias
Genéve, Suisse
www.jahia.com
Le site de la Société
www.jahia.org
Le site de la Communauté
www.jahia.com > Le site de la Société
www.jahia.org > Le site de la Communauté
Page 116 sur 116

Documents pareils

Jahia Modules

Jahia Modules 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 mod...

Plus en détail