Portails et portlets AEM aem-portals-and-portlets
Ce document répond aux questions suivantes :
- Architecture des portails AEM
- Administration et configuration d’AEM en tant que portail
- Utilisation d’AEM comme portail
- Installation, configuration et affichage du contenu d’AEM dans un portlet (serveur Web, par exemple)
Architecture des portails AEM aem-portal-architecture
L’architecture des portails AEM comprend des définitions de portails et de portlets.
Qu’est-ce qu’un portail ? what-is-a-portal
Un portail est une application web qui offre la personnalisation, l’authentification unique, l’intégration de contenu provenant de différentes sources et héberge la couche de présentation des systèmes d’information.
Dans AEM, vous pouvez exécuter des portlets compatibles avec la spécification JSR-286. Le composant Portlet permet également d’incorporer un portlet dans la page. Consultez Administration du portlet de contenu AEM.
Qu’est-ce qu’un portlet ? what-is-a-portlet
Les portlets sont des composants web déployés dans un conteneur, qui proposent du contenu dynamique. L’interface du portlet est regroupée et déployée sous forme de fichier WAR dans un conteneur de portlet. Si vous exécutez AEM en tant que portail, vous avez besoin du fichier .war du portlet pour exécuter le portlet.
Pour configurer l'affichage du contenu AEM dans un portail, voir Installation, configuration et utilisation d’AEM dans un portlet.
AEM Portal Director aem-portal-director
Administration du portlet de contenu AEM. administering-the-aem-content-portlet
Le portlet de contenu AEM permet d’afficher du contenu AEM sur un portail. Le portlet est disponible à l’adresse /crx-quickstart/opt/portal
et peut être personnalisé de différentes façons. Par exemple, vous pouvez personnaliser la gestion SSO/de l’authentification en déployant votre propre service d’authentification générant les informations d’authentification nécessaires pour qu’AEM remplace le comportement par défaut. Les modules externes utilisent une API définie, qui permet d’ajouter votre propre fonctionnalité en créant le module externe contre les API. Le module externe peut être déployé dans le portlet exécuté. Pour fonctionner correctement, vous avez besoin de configurer l’instance de création et de publication d’AEM ainsi que le chemin d’accès au contenu à afficher au démarrage.
Certaines des configurations sont modifiables par le biais des préférences de portlet et d’autres par le biais des configurations de service OSGI. Vous pouvez modifier ces configurations à l’aide des fichiers config ou de la console Web OSGi.
Préférences de portlet portlet-preferences
Les préférences de porlet peuvent être configurées lors du déploiement sur le serveur du portail ou en modifiant le fichier WEB-INF/portlet.xml avant de déployer l’application web du portlet. Le fichier portlet.xml se présente, par défaut, comme suit :
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="https://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd /opt/SUNWps/dtd/portlet.xsd"
version="1.0">
<portlet>
<portlet-name>RSSWeatherPortlet</portlet-name>
<portlet-class>org.jboss.portlet.weather.WeatherPortlet</portlet-class>
<init-param>
<name>default_zipcode</name>
<value>05673</value>
</init-param>
<init-param>
<name>RSS_XSL</name>
<value>/WEB-INF/Rss.xsl</value>
</init-param>
<init-param>
<name>base_url</name>
<value>https://xml.weather.yahoo.com/forecastrss?p=</value>
</init-param>
<expiration-cache>180</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
<portlet-mode>EDIT</portlet-mode>
</supports>
<portlet-info>
<title>Weather Portlet</title>
</portlet-info>
<portlet-preferences>
<preference>
<name>expires</name>
<value>180</value>
</preference>
<preference>
<name>RssXml</name>
<value>https://xml.weather.yahoo.com/forecastrss?p=33145</value>
<read-only>false</read-only>
</preference>
</portlet-preferences>
</portlet>
</portlet-app>
Le portlet peut être configuré avec les préférences suivantes :
Console web OSGi osgi-web-console
Si le serveur du portail est exécuté sur l’hôte localhost, port 8080, et que l’application web du portlet AEM est montée dans le contexte de l’application web cqportlet, l’adresse URL de la console web est https://localhost:8080/cqportlet/cqbridge/system/console
. L’utilisateur et le mot de passe par défaut sont : admin.
Ouvrez l’onglet Configurations et sélectionnez Configuration du serveur CQ de Portal Directory. Vous spécifiez l’adresse URL de base de l’instance de création et de publication. Cette procédure est décrite dans la section Configuration du portlet.
Spécification de configurations providing-configurations
Pour prendre en charge les déploiements automatisés et la configuration, le portlet de contenu AEM dispose d’une prise en charge de la configuration intégrée qui tente de lire les configurations du chemin d’accès aux classes fourni à l’application du portlet.
Au démarrage, la propriété système com.day.cq.po rtet.config est lue pour détecter l’environnement actif. En règle générale, la valeur de cette propriété est du type dev, prod, test et ainsi de suite. Si aucun environnement n’est défini, aucune configuration n’est lue.
Si un environnement est défini, le système cherche un fichier config dans le chemin d’accès aux classes sous** com/day/cq/portlet/{env}.config, où env est remplacé par la valeur actuelle pour l’environnement. Ce fichier doit répertorier tous les fichiers de configuration pour cet environnement. Ces fichiers sont recherchés par rapport à l’emplacement du fichier .config. Par exemple, si le fichier contient une ligne my.service.xml,
, ce fichier est lu à partir du chemin d’accès aux classes sous com/day/cq/portlet/my.service.config.
. Le nom du fichier est composé de l’identifiant de persistance du service, suivi de .config. Dans l’exemple précédent, l’ID de persistance est my.service. Le format du fichier de configuration est le format utilisé par le programme d’installation OSGi Apache Sling.
Cela signifie qu’un fichier .config correspondant doit être ajouté pour chaque environnement. Une configuration qui doit être appliquée à tous les environnements doit être indiquée dans tous ces fichiers. Si un seul environnement est concerné, elle est simplement indiquée dans ce fichier. Ce mécanisme garantit un contrôle total sur la configuration lue dans un environnement spécifié.
Il est possible d’utiliser une autre propriété système pour détecter l’environnement. Spécification de la propriété système com.day.cq.portet.configproperty contenant le nom de la propriété système à utiliser au lieu de com.day.cq.portet.config.
Mise en cache et invalidation de la mise en cache caching-and-caching-invalidation
Le portlet, dans sa configuration par défaut, met en cache les réponses qu’il reçoit d’AEM WCM dans un cache spécifique à l’utilisateur. Les caches doivent être annulés si des modifications sont apportées au contenu de l’instance de publication. À cet effet, un agent de réplication doit être configuré dans l’instance de création AEM WCM. Le cache peut également être vidé manuellement. Cette section décrit ces deux procédures.
Le portlet peut être configuré avec son propre cache, de sorte que le contenu dans le portlet s’affiche sans avoir à accéder à AEM. Le portail est disponible sous forme de contenu dans le répertoire /libs/portal/director. Pour accéder au contenu, démarrez une instance AEM et téléchargez le fichier de cet emplacement à l’aide de CRXDE Lite ou Webdav.
Vous pouvez déployer ce lot lors de l’exécution ou l’ajouter à l’application Web du portlet sous WEB-INF/lib/resources/bundles
avant le déploiement.
Une fois le cache déployé, le portlet met en cache le contenu de l’instance de publication. Le cache du portlet peut être annulé en vidant le Dispatcher d’AEM. Pour configurer le portlet afin qu’il utilise son propre cache, procédez comme suit :
- Configurez un agent de réplication dans l’instance de création qui cible le serveur de portail.
- Si le serveur du portail est exécuté sur localhost, port 8080, et que l’application Web du portlet AEM est montée dans le contexte cqportlet, l’adresse URL pour vider le cache de la console Web est
https://localhost:8080/cqportlet/cqbridge/cqpcache?Path=$(path)
. Utilisez la méthode GET.
Remarque : au lieu d’utiliser un paramètre de demande, vous pouvez envoyer un en-tête HTTP appelé Path.
Purge du cache via l’agent de réplication flushing-the-cache-via-replication-agent
Comme l’annulation normale de Dispatcher, un agent de réplication peut être configuré de manière à cibler le cache du portlet AEM du portail. Une fois que vous avez configuré l’agent de réplication, chaque activation de page habituelle purge la mémoire cache du portail.
Si vous utilisez plusieurs nœuds de portail exécutant le portlet AEM, vous devez créer un agent pour chaque nœud, comme décrit dans cette procédure.
Pour configurer un agent de réplication pour le portail :
-
Connectez-vous votre instance de création.
-
Sur l’onglet Sites web, cliquez sur l’onglet Outils.
-
Cliquez sur Nouvelle page… dans le menu Nouveau… de l’agent de réplication.
-
Dans Modèle, sélectionnez Agent de réplication et entrez un nom pour l’agent. Cliquez sur Créer.
-
Double-cliquez sur l’agent de réplication que vous avez créé. Il s’affiche comme non valide, car il n’a pas encore été configuré.
-
Cliquez sur Modifier.
-
Sur l’onglet Paramètres, cochez la case Activé, sélectionnez le type de sérialisation Vider Dispatcher, puis saisissez un délai avant une nouvelle tentative (60 000, par exemple).
-
Cliquez sur l’onglet Transfert.
-
Dans le champ URI, saisissez l’URI (URL) de vidage du portlet. L’URI est au format suivant :
code language-xml https://<wps-host>:<port>/<wps-context>/<cq5-portlet-context>/cqbridge/cqpcache
-
Cliquez sur l’onglet Étendu.
-
Dans la boîte de dialogue Méthode HTTP, saisissez GET.
-
Dans le champ En-têtes HTTP, cliquez sur + pour ajouter une nouvelle entrée, puis saisissez Chemin d’accès : {path}.
-
Si nécessaire, cliquez sur l’onglet Proxy et saisissez les informations du serveur proxy dans l’agent.
-
Pour enregistrer les modifications, cliquez sur OK.
-
Pour tester la connexion, cliquez sur le lien Tester la connexion. Un message du journal s’affiche et indique si le test de réplication a réussi. Par exemple :
Purge manuelle du cache du portlet manually-flushing-the-portlet-cache
Vous pouvez vider manuellement le cache du portlet en accédant à l’adresse URL configurée pour l’agent de réplication. Pour le format de l’adresse URL, voir Vidage du cache. En outre, l’URL doit être étendue avec un paramètre d’URL Path=<path> pour indiquer les éléments à purger.
Par exemple :
https://10.0.20.99:10040/wps/PA_CQ5_Portlet/cqbridge/cqpcache?Path=*
vide le cache complet. https://10.0.20.99:10040/wps/PA_CQ5_Portlet/cqbridge/cqpcache?Path=/content/mypage/xyz
vide /content/mypage/xyz
du cache.
Sécurité du portail portal-security
Le portail est le mécanisme d’authentification principal. Vous pouvez vous connecter à AEM avec un utilisateur technique, un utilisateur du portail, un groupe et ainsi de suite. Le portlet n’a pas accès au mot de passe de l’utilisateur du portail. Par conséquent, si le portlet ne connaît pas toutes les informations d’identification pour connecter correctement un utilisateur, une solution de connexion unique doit être utilisée. Dans ce cas, le portlet AEM transfère toutes les informations nécessaires à AEM, qui les transfère à son tour au référentiel AEM sous-jacent. Ce comportement est enfichable et peut être personnalisé.
Authentification lors de la publication authentication-on-publish
Cette section décrit les modes d’authentification disponibles que le portlet peut utiliser pour communiquer avec les instances de gestion de contenu web d’AEM sous-jacentes.
Par défaut, aucune information de l’utilisateur n’est envoyée à l’instance de publication d’AEM. Le contenu s’affiche toujours en tant qu’utilisateur anonyme. Si des informations spécifiques à l’utilisateur ou l’utilisatrice doivent être diffusées à partir d’AEM ou si l’authentification de l’utilisateur ou l’utilisatrice pour la publication est requise, cette option doit être activée.
Accès à la configuration de l’authentification du portlet accessing-the-portlet-s-authentication-configuration
Les options de configuration d’authentification que le portlet utilise dans les insances de gestion de contenu web d’AEM sont disponibles dans la console web (configuration OSGi).
Pour accéder à la configuration d’authentification du portlet :
-
Accédez à la console web à l’adresse suivante :
https://localhost:8080/cqportlet/cqbridge/system/console
Par exemple, dans sa configuration par défaut :
https://wps-host:10040/wps/PA_CQ5_Portlet/cqbridge/system/console
-
Connectez-vous à la console Web. Les informations d’identification par défaut sont
admin/admin
. -
Dans la console, sélectionnez Configuration.
-
Dans le menu Configuration, sélectionnez un service particulier à configurer. Les services sont fournis par le portlet dans le framework OSGi.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 Nom du service Description Authentificateur Day Portal Director Configurer le mode d’authentification utilisé pour les instances AEM WCM. En fonction du mode sélectionné, vous pouvez spécifier un utilisateur technique ou le nom du cookie de connexion unique. En outre, l’authentification pour les instances de publication de gestion de contenu AEM peut être activée. Cache de fichiers Day Portal Director Configurez les paramètres de mise en cache des réponses reçues des instances de gestion de contenu web AEM du portlet. Service client HTTP Day Portal Director Configurer la façon dont le portlet se connecte aux instances AEM WCM sous-jacentes via HTTP. Vous pouvez, par exemple, spécifier un serveur proxy. Gestionnaire de paramètres régionaux de Director Day Portal Configurer les paramètres régionaux pris en charge par le portlet. Les demandes au niveau des instances de gestion de contenu Web AEM dépendent des paramètres régionaux de l’utilisateur. Par exemple, si la langue de l’utilisateur est Allemand, la demande sera /content/geometrixx/de/
…Gestionnaire de privilèges Day Portal Director Indiquez si le portlet doit tester l’onglet Sites web en fonction de la personne actuellement connectée. Rendu de la barre d’outils Day Portal Director Personnalisez le rendu de la barre d’outils du portlet. -
Vous pouvez également configurer la console web et le service de journalisation. Par exemple, vous pouvez modifier les informations d’identification de l’administrateur ou l’administratrice de la console web en cliquant sur le lien Console de gestion Apache Felix OSGi .
Mode Utilisateur ou utilisatrice technique technical-user-mode
Dans le mode par défaut, toutes les demandes émises par le portlet pour l’instance de création AEM WCM sont authentifiées à l’aide du même utilisateur technique, indépendamment de l’utilisateur actuel du portail. Le mode Utilisateur technique est activé par défaut. Vous activez/désactivez ce mode dans l’écran de configuration correspondant de la console de gestion OSGi :
L’utilisateur technique spécifié doit exister sur l’instance de création de gestion de contenu Web AEM et sur l’instance de publication si l’option S’authentifier lors de la publication est activée. Veillez à accorder aux utilisateurs et utilisatrices des privilèges d’accès suffisants pour leur travail de création.
SSO sso
Le portlet prend en charge la connexion unique avec la version commerciale d’AEM. Le service d’authentification peut être configuré de manière à utiliser la connexion unique et transmettre à AEM l’utilisateur actuel du portail au format De base sous forme de cookie appelé « cqpsso
». AEM doit être configuré de manière à utiliser le gestionnaire d’authentification SSO pour le chemin d’accès /. Le nom du cookie doit lui aussi être configuré ici.
Le fichier crx-quickstart/repository/repository.xml
du référentiel d’AEM doit être configuré en conséquence :
<LoginModule class="com.day.crx.security.authentication.CRXLoginModule">
...
<param name="trust_credentials_attribute" value="TrustedInfo"/>
<param name="anonymous_principal" value="anonymous"/>
</LoginModule>
Mode d’authentification SSO sso-authentication-mode
Le portlet peut s’authentifier pour AEM WCM à l’aide du schéma de connexion unique (SSO). Dans ce mode, l’utilisateur actuellement connecté au portail est transféré à AEM WCM sous forme de cookie de connexion unique. Si le mode SSO est utilisé, tous les utilisateurs du portail ayant accès au portlet AEM doivent être connus au niveau des instances AEM WCM sous-jacentes, le plus souvent sous forme d’AEM WCM connecté au LDAP ou en ayant créé manuellement les utilisateurs à l’avance. De plus, avant d’activer la connexion unique dans le portlet, l’instance de création de gestion de contenu Web AEM sous-jacente (et l’instance de publication si l’option S’authentifier lors de la publication est activée) doit être configurée pour accepter les demandes basées sur l’authentification unique.
Pour configurer le portlet afin d’utiliser le mode d’authentification SSO, procédez comme suit (plus de détails dans les sections suivantes) :
- Activez le référentiel de gestion de contenu web AEM pour accepter les informations d’identification approuvées.
- Activez l’authentification SSO dans la gestion de contenu web AEM.
- Activez l’authentification SSO dans le portlet AEM.
Activation du référentiel de gestion de contenu AEM pour accepter les informations d’identification approuvées enabling-aem-wcm-s-repository-to-accept-trusted-credentials
Avant de pouvoir activer la connexion unique pour AEM WCM, le référentiel sous-jacent doit être configuré de manière à accepter les informations d’identification approuvées fournies par AEM WCM. Pour ce faire, configurez le fichier repository.xml d’AEM.
-
Dans le système de fichiers dans lequel la gestion de contenu web AEM est installée, ouvrez le fichier suivant :
//crx-quickstart/repository/repository.xml
-
Dans le fichier XML, recherchez l’entrée correspondant au LoginModule et ajoutez trust_credentials_attribute à sa configuration :
code language-xml <LoginModule class="com.day.crx.security.authentication.CRXLoginModule"> ... <param name="trust_credentials_attribute" value="TrustedInfo"/> <param name="anonymous_principal" value="anonymous"/> </LoginModule>
-
Redémarrez la gestion de contenu web AEM pour que les modifications soient prises en compte.
Activation de l’authentification SSO dans la gestion de contenu web AEM enabling-sso-authentication-in-the-aem-wcm
Pour activer l’authentification SSO dans la gestion de contenu web AEM, accédez à l’entrée de configuration appropriée dans la console de gestion web Apache Felix (OSGi) de la gestion de contenu web AEM :
-
Accédez à la console par le biais de son URI à l’adresse https://<hôte-AEM>:<port>/system/console.
-
Dans le menu Configuration, sélectionnez Gestionnaire d’authentification SSO. Dans cet exemple, le gestionnaire de connexion unique accepte des demandes de connexion unique de tous les chemins d’accès en fonction du cookie fourni par le portlet AEM. Votre configuration peut varier.
table 0-row-3 1-row-3 Chemin / Active le gestionnaire d’authentification unique pour toutes les requêtes Noms de cookie cqpsso Nom du cookie fourni par le portlet tel que configuré dans la console OSGi du portlet. -
Cliquez sur Enregistrer pour activer la connexion unique. SSO est désormais le schéma d’authentification principal.
Pour chaque demande que reçoit AEM WCM, l’authentification SSO est tentée en premier. En cas d’échec, un système de secours du schéma d’authentification de base habituel est exécuté. Par conséquent, des connexions normales à la gestion de contenu web AEM sans SSO restent possibles.
Activation de l’authentification SSO dans un portlet AEM enabling-sso-authentication-in-a-aem-portlet
Pour que cette instance de gestion de contenu web AEM sous-jacente accepte des requêtes SSO, le mode d’authentification du portlet doit être défini non plus sur Technique, mais sur Connexion unique.
Pour activer l’authentification SSO dans un portlet AEM :
-
Accédez à la console par le biais de son URI à l’adresse https://<hôte-AEM>:<port>/system/console.
-
Dans le menu Configuration, sélectionnez l'authentificateur Director Day Portal dans la liste des configurations disponibles.
-
Dans ce mode, sélectionnez Connexion unique. Conservez les valeurs par défaut des autres paramètres.
-
Cliquez sur Enregistrer pour activer l’authentification SSO pour le portlet.
À des fins de test, accédez au portlet avec l’utilisateur administrateur ou l’utilisatrice administratrice de votre portail, après avoir créé le même utilisateur ou la même utilisatrice dans la gestion de contenu web AEM avec les privilèges d’administrateur ou d’administratrice.
Après avoir exécuté cette procédure, les demandes sont authentifiées à l’aide d’une connexion unique. Un fragment de code type provenant de la communication HTTP révèle la présence des en-têtes spécifiques SSO et Portlet suivants :
C-12-#001898 -> [GET /mynet/en/_jcr_content/par/textimage/image.img.png HTTP/1.1 ]
C-12-#001963 -> [cq5:locale: en ]
C-12-#001979 -> [cq5:used-locale: en ]
C-12-#002000 -> [cq5:locales: en,en_US ]
C-12-#002023 -> [cqp:user: wpadmin ]
C-12-#002042 -> [cqp:portal: IBM WebSphere Portal/6.1 ]
C-12-#002080 -> [cqp:windowid: 7_CGAH47L000CE302V2KFNOG0084 ]
C-12-#002124 -> [cqp:windowstate: normal ]
C-12-#002149 -> [cqp:portletmode: view ]
C-12-#002172 -> [User-Agent: Jakarta Commons-HttpClient/3.1 ]
C-12-#002216 -> [Host: 10.0.0.68:4502 ]
C-12-#002238 -> [Cookie: $Version=0; cqpsso=Basic+d3BhZG1pbg%3D%3D ]
C-12-#002289 -> [ ]
Activation de l’authentification par code PIN enabling-pin-authentication
Si vous n’utilisez pas les fonctionnalités de modification en ligne par défaut du portlet de contenu AEM, mais que vous souhaitez que la création et l’administration fassent partie du portlet en dehors du portail directement dans l’instance de création AEM, vous devez activer l’authentification par code personnel. Vous devez également modifier la configuration des boutons de gestion.
Pour afficher la page d’administration du site web ou modifier une page du portlet, le portlet de contenu AEM utilise la nouvelle authentification par code personnel. Par défaut, l’authentification par code PIN est désactivée. Par conséquent, les modifications de configuration suivantes doivent être apportées dans AEM :
-
Activez l’authentification approuvée dans AEM en ajoutant les informations approuvées dans le fichier repository.xml :
code language-xml <LoginModule class="com.day.crx.security.authentication.CRXLoginModule"> ... <param name="trust_credentials_attribute" value="TrustedInfo"/> </LoginModule>
-
Dans la console de configuration OSGi, située par défaut à l’adresse https://localhost:4502/system/console/configMgr, sélectionnez Gestionnaire d’authentification par code personnel CQ dans le menu déroulant.
-
Modifiez le paramètre Chemin d’accès racine de l’URL pour qu’il contienne la valeur unique /.
Autorisations privileges
Certaines fonctions du portlet sont protégées par des autorisations. L’utilisateur ou l’utilisatrice en cours doit disposer de cette autorisation pour pouvoir accéder à cette fonction. Les autorisations ci-dessous sont prédéfinies :
- « toolbar » : il s’agit du privilège général d’afficher/utiliser la barre d’outils dans le portlet.
- « prefs » : si l’utilisateur ou l’utilisatrice dispose de ce privilège, il lui est possible de voir/modifier les préférences du portlet.
- "cq-author:edit" : avec ce privilège, l’utilisateur ou l’utilisatrice a le droit d’appeler la vue de modification du contenu.
- "cq-author:preview" : avec ce privilège, l’utilisateur ou l’utilisatrice a le droit de voir l’aperçu.
- « cq-author:siteadmin » : avec ce privilège, l’utilisateur ou l’utilisatrice peut ouvrir le siteadmin dans AEM.
La meilleure approche pour gérer les autorisations consiste à utiliser les rôles du portail et d’affecter des rôles à ces droits. Cette opération peut être effectuée par le biais d’une configuration OSGi. La configuration « Day Portal Director Privilege Manager » peut être configurée avec un ensemble de rôles pour chaque autorisation. Si l’utilisateur ou l’utilisatrice possède l’un des rôles, il ou elle dispose du privilège correspondant.
De plus, il est possible de définir cet accès en fonction des rôles pour chaque instance de portlet. La boîte de dialogue Préférences du portlet contient un champ de saisie pour chacune des autorisations ci-dessus. Pour chaque autorisation, il est possible de configurer une liste des rôles de portlet, séparés par des virgules. Si une valeur est configurée, elle remplace la configuration globale du service « Day Portal Director Privilege Manager », et il peut être nécessaire d’ajouter les mêmes rôles que dans ce paramètre global, car les rôles ne sont pas fusionnés. Si aucune valeur n’est spécifiée, la configuration globale est utilisée.
Personnalisation de l’application de portlet AEM customizing-the-aem-portlet-application
L’application du portlet AEM indiquée lance un conteneur OSGi dans l’application web comme le fait AEM. Cette architecture vous permet de profiter de tous les avantages d’OSGi :
- Facile à mettre à jour et à étendre
- Fourniture de mises à jour dynamiques dans le portlet sans intervention du serveur du portail
- Portlet facile à personnaliser
Boutons de la barre d’outils toolbar-buttons
La barre d’outils et ses boutons peuvent être configurés et personnalisés. Vous pouvez ajouter vos propres boutons à la barre d’outils ou définir les boutons affichés dans les différents modes. Chaque bouton est un service OSGi configurable via une configuration OSGi.
La console web OSGi répertorie toutes les configurations de bouton sur l’onglet Configuration. Pour chaque bouton, vous pouvez choisir le mode dans lequel ce bouton s’affiche. Par exemple, vous pouvez ainsi désactiver un bouton en supprimant tous les modes.
Par défaut, le portlet de contenu AEM utilise la fonctionnalité de modification en ligne. Cependant, si vous préférez passer à l’instance de création AEM pour la modification, activez Bouton SiteAdmin et Bouton ContentFinder, mais désactivez Bouton Modifier. Dans ce cas, veillez à configurer correctement l’authentification par code personnel dans AEM.
La mise en page de la barre d’outils du portlet peut être personnalisée en installant un bundle via la console web Felix du portlet, qui contient un CSS/HTML personnalisé à un emplacement prédéfini.
Structure du bundle bundle-structure
Voici un exemple de structure de bundle :
$ jar tvf target/toolbarlayout-0.0.1-SNAPSHOT.jar | awk '{print $8}'
META-INF/
META-INF/MANIFEST.MF
/com/day/cq/portlet/toolbar/layout/
/com/day/cq/portlet/toolbar/layout/author.gif
/com/day/cq/portlet/toolbar/layout/back.gif
/com/day/cq/portlet/toolbar/layout/button.html
/com/day/cq/portlet/toolbar/layout/edit.gif
/com/day/cq/portlet/toolbar/layout/manage.html
/com/day/cq/portlet/toolbar/layout/publish.html
/com/day/cq/portlet/toolbar/layout/refresh.gif
/com/day/cq/portlet/toolbar/layout/siteadmin.gif
/com/day/cq/portlet/toolbar/layout/toolbar.css
Le dossier META-INF contient le fichier MANIFEST.MF nécessaire à OSGi afin de l’identifier comme lot. Il se présente comme suit :
Manifest-Version: 1.0
Built-By: djaeggi
Created-By: Apache Maven Bundle Plugin
Import-Package: com.day.cq.portlet.toolbar.layout
Bnd-LastModified: 1234178347159
Export-Package: com.day.cq.portlet.toolbar.layout
Bundle-Version: 0.0.1.SNAPSHOT
Bundle-Name: Company CQ5 Portal Director Portlet Toolbar Layout
Bundle-Description: This bundle provides a custom layout for the CQ5 P
ortal Director Portlet Toolbar.
Build-Jdk: 1.5.0_16
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.day.cq.portlet.company.toolbarlayout
Tool: Bnd-0.0.255
La présence du répertoire HTML/CSS/images dans le dossier /com/day/cq/portlet/toolbar/layout est déterminée par le portlet et ne peut pas être modifiée. De même, les en-têtes Import-Package et Export-Package du fichier MANIFEST.MF doivent être appelés eux aussi dans le dossier /com/day/cq/portlet/toolbar/layout. Le nom symbolique du bundle doit être un nom de package complet unique.
Vous pouvez le créer à l’aide d’un outil tel que Maven ou créer manuellement un fichier JAR avec l’en-tête correspondant défini, comme illustré dans cette section.
Vues de la barre d’outils du portlet portlet-toolbar-views
La barre d’outils du portlet comporte deux états d’affichage. Chaque vue et les boutons associés peuvent être personnalisés avec un fichier HTML correspondant.
Vue « Publication » publish-view
L’affichage Publication ne comporte qu’un seul bouton, qui permet d’afficher/de masquer la barre d’outils dans l’affichage Gestion. L’affichage Publication est représenté par le fichier publish.html dans le lot précédent. Dans le HTML, vous pouvez utiliser les espaces réservés suivants, qui sont remplacés par le portlet de contenu correspondant lors du rendu :
Espaces réservés de la vue « Publication » publish-view-placeholders
Gérer la vue manage-view
L’affichage Gestion comporte quatre boutons : Modifier, onglet Sites web, Actualiser et Précédent. L’affichage Gestion est représenté par le fichier manage.html dans le lot précédent. Dans le HTML, vous pouvez utiliser les espaces réservés suivants, qui sont remplacés par le portlet de contenu correspondant lors du rendu :
Espaces réservés de la vue d’affichage manage-view-placeholders
Boutons buttons
Les boutons, peu importe dans quelle vue ils se trouvent, utilisent le même HTML commun, défini dans button.html.
Dans le HTML, vous pouvez utiliser les espaces réservés suivants, qui sont remplacés par le portlet de contenu correspondant lors du rendu :
Boutons Gérer et publier la vue manage-and-publish-view-buttons
Exemple de fichier button.html :
<div class="cqp_button">
<a href="#" onclick="{onclick}">
<img src="/wps/PA_CQ5_Portlet/cqbridge/static/{id}.gif" alt="{text}"
title="{text}"/>
</a>
</div>
Installation d’une disposition personnalisée installing-a-custom-layout
Pour installer une disposition personnalisée, accédez à la section Lots de la console Web OSGI du portlet et chargez le lot.
Packages packages
Si vous devez charger ou créer des packages pour votre installation, consultez Gestionnaire de packages dans la documentation d’AEM pour obtenir des instructions détaillées.
Gestion des liens link-handling
Tous les liens sont réécrits afin de fonctionner dans le contexte du portail. Par défaut, ce sont les liens avec des paramètres de rendu qui sont utilisés. Le module de réécriture HTML de Portal Director peut être configuré pour utiliser des liens d'action alternatifs.
Vous pouvez également définir d’autres paramètres de demande qui peuvent faire l’objet d’une requête pour le chemin d’accès au contenu à afficher. Cette fonction est utile, par exemple, s’il y a un lien de l’extérieur vers du contenu spécifique.
De plus, le service Portal Director HTML Rewriter peut être configuré avec une liste d’exclusions définies par des expressions régulières pour la réécriture des liens. Par exemple, s’il y a des liens relatifs vers des systèmes externes, vous devez les ajouter à cette liste d’exclusions.
Localisation localization
Le portlet de contenu AEM dispose d’une fonction de localisation intégrée, qui garantit que le contenu AEM est dans la langue correcte.
Deux étapes sont nécessaires :
- Le service Portal Directory Locale Detector détecte les paramètres régionaux du portail en extrayant le paramètre des paramètres régionaux du portail. Ce service doit être configuré avec la liste des langues disponibles dans AEM.
- Le service Portal Director Locale Handler gère la localisation de la demande actuelle. Il utilise le chemin d’accès au contenu demandé, par exemple,
/content/geometrixx/en/company.html
, et conformément à la configuration, il remplace les paramètres régionaux en par les paramètres régionaux de l’utilisateur ou l’utilisatrice.
Le service Portal Director Locale Handler peut être configuré avec les chemins d’accès pour vérifier les informations des paramètres régionaux, qui incluent généralement tout ce qui se trouve sous /content
et avec la position des informations des paramètres régionaux dans le chemin d’accès. Par défaut, le gestionnaire des paramètres régionaux suit la recommandation de structure des sites multilingues dans AEM.
Si votre site ne comporte pas de règle absolue pour gérer les informations des paramètres régionaux avec le chemin d’accès, il est possible de remplacer le gestionnaire des paramètres régionaux par votre propre mise en œuvre.
Services OSGi facultatifs optional-osgi-services
Des services OSGi facultatifs peuvent être mis en œuvre pour personnaliser différentes parties du portlet. Chaque service correspond à une interface Java. Cette interface peut être mise en œuvre et déployée par le biais d’un lot dans le portlet.
Remplacement des services par défaut replacing-default-services
Les services ci-dessous possèdent une mise en œuvre par défaut dans le portlet de contenu (grâce à une interface Java correspondante). Pour personnaliser, un bundle contenant la nouvelle mise en œuvre du service doit être déployé dans l’application du portlet.
En mettant en œuvre ce service, veillez à définir la propriété service.ranking du service sur une valeur positive. La mise en œuvre par défaut utilise le classement 0, et le portlet utilise le service avec le classement le plus élevé.
Événements de portlet portlet-events
L’API de portlet (JSR-286) spécifie les événements de portlet. Le portlet de contenu d’AEM dispose d’un pont intégré, qui distribue les événements de portlet pour le portlet AEM en tant qu’événements OSGi. Cela rend la gestion des événements de portlet enfichable.
Si vous souhaitez gérer des événements spécifiques, déclarez-les comme événements de réception dans le descripteur de déploiement (ou configurez-les via votre serveur de portail) et mettez en œuvre un service OSGi déclarant l’interface EventHandler (voir la spécification OSGi EventAdmin).
Chaque fois qu’un événement de portlet se produit, un événement OSGi spécifique est envoyé pour appeler le gestionnaire. Le gestionnaire extrait toutes les informations contextuelles et peut mettre à jour le statut du portlet en conséquence ou envoyer de nouveaux événements. Essentiellement, dans la méthode handle, toutes les fonctionnalités de la phase d’événement de portlet peuvent être utilisées.
Utiliser AEM comme portail using-aem-as-a-portal
Utilisez le composant Portlet pour ajouter des fenêtres de portlet à des pages AEM. Les bibliothèques partagées que vous installez sur le serveur d’applications permettent au composant Portlet de détecter les applications de portlet déployées.
Pour utiliser AEM en tant que portail, effectuez les tâches suivantes :
- Installez le composant Portlet et les bibliothèques partagées.
- Ajoutez le composant Portlet à Sidekick.
- Configurez et déployez l’application web qui contient les portlets que vous souhaitez afficher dans le composant Portail.
- Ajoutez le composant Portlet à une page et sélectionnez le portlet à afficher.
Installer le composant Portlet installing-the-portlet-component
Le fichier JAR d’AEM Quickstart contient les fichiers du composant Portlet. Pour obtenir les fichiers (cq-portlet-components.zip), vous pouvez exécuter Quickstart ou extraire le contenu.
-
Exécutez ou extrayez le contenu du fichier JAR de Quickstart et recherchez le fichier cq-portlet-components.zip en conséquence :
- Exécuter Quickstart : crx-quickstart/opt/portal
- Extraire le contenu Quickstart : static/opt/portal
-
Ouvrez le Gestionnaire de packages de l’instance de création CQ5 déployée sur le serveur d’applications. (https://appserverhost:port/cq5author/crx/packmgr)
-
Utilisez le Gestionnaire de packages pour charger et installer le package cq-portlets-components.zip.
Le package installe cq-portlet-director-sharedlibs-x.x.x.jar dans le dossier /libs/portal/director dans le référentiel.
-
Copiez cq-portlet-director-sharedlibs-x.x.x.jar sur votre disque dur. Utilisez tous les moyens pour obtenir le fichier, par exemple FileVault ou un client WebDAV.
-
Déplacez le fichier cq-portlet-director-sharedlibs.x.x.x.jar vers le dossier de bibliothèque partagée de votre serveur d’applications afin que les classes soient disponibles pour les applications de portlet déployées.
Ajouter le composant Portlet à Sidekick adding-the-portlet-component-to-sidekick
Ajoutez le composant Portlet au système de paragraphes afin qu’il soit disponible pour les auteurs et les autrices.
-
Dans le Sidekick, cliquez sur l’icône en forme de règle pour accéder au mode Conception.
-
À côté du titre
Design of par
, au-dessus du premier paragraphe, cliquez sur Modifier. -
Dans la catégorie de composants Général, cochez la case en regard du composant Portlet et cliquez sur OK.
Configuration et déploiement de vos applications de portlet configuring-and-deploying-your-portlet-applications
Déployez les portlets dans le conteneur web du serveur d’applications afin qu’ils soient disponibles dans le composant Portail. Avant de déployer l’application de portlet, vous devez configurer l’application afin qu’elle charge le servlet du conteneur de portail d’AEM. Cette configuration permet au composant Portlet d’accéder aux portlets.
-
Extrayez le contenu du fichier WAR de l’application du portlet.
Conseil : la commande jar xf nomapp.war extrait les fichiers.
-
Ouvrez le fichier Web.xml dans un éditeur de texte.
-
Ajoutez la configuration de servlet ci-dessous dans l’élément Web-app :
code language-xml <servlet> <servlet-name>slingportal</servlet-name> <servlet-class>org.apache.sling.portal.container.api.ContainerServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>slingportal</servlet-name> <url-pattern>/SlingPortletInvoker</url-pattern> </servlet-mapping>
-
Enregistrez le fichier Web.xml et recompressez le fichier WAR.
Conseil : la commande
jar cvf nameofapp.war *
ajoute le contenu du répertoire actif au fichier nomapp.war. -
Déployez l’application de portlet sur le serveur d’applications. Pour plus d’informations, consultez la documentation de votre serveur d’applications.
Ajout de portlets à votre page AEM adding-portlets-to-your-aem-page
Utilisez le composant Portail pour ajouter une fenêtre du portlet à votre page web. Utilisez les propriétés du composant pour spécifier le portlet à afficher.
-
Sur la page web, faites glisser le composant Portlet depuis le groupe Général dans Sidekick vers la page.
note note NOTE Après avoir fait glisser le composant sur la page, rechargez la page pour vous assurer qu’elle fonctionne correctement. -
Double-cliquez sur le composant pour ouvrir les propriétés du portlet.
-
Dans le menu déroulant Entité de portlet, sélectionnez le portlet.
-
Cochez ou désélectionnez la case Masquer la barre de titre selon si vous souhaitez afficher la barre de titre du portlet ou non.
-
Dans le champ Fenêtre de portlet, saisissez un ID de fenêtre de portlet unique, si besoin est.
note note NOTE Si vous prévoyez d’utiliser plusieurs fois le même portlet sur la même page, attribuez à chaque portlet un identifiant de fenêtre différent. -
Cliquez sur OK. Le portlet s’affiche sur votre page AEM.
Installation, configuration et utilisation d’AEM dans un portlet installing-configuring-and-using-aem-in-a-portlet
Pour accéder au contenu fourni par AEM WCM, le serveur du portail peut disposer d’AEM Portal Director Portlet. Pour ce faire, installez, configurez et ajoutez le portlet à la page du portail à l’aide des étapes fournies dans cette section.
Par défaut, le portlet se connecte à l’instance de publication sur localhost 4503 et l’instance de création sur locahost 4502. Ces valeurs peuvent être modifiées lors du déploiement du portlet. Portal Director est disponible sous forme de contenu dans le référentiel, sous /libs/portal/directory. Téléchargez le fichier war de l’application avant de l’utiliser.
Téléchargement du fichier WAR downloading-the-war-file
-
À l’aide de WebDAV ou CRXDE Lite, accédez à /libs/portal/director.
-
Téléchargez cq-portlet-Webapp.war.
Installation du portlet installing-the-portlet
Pour installer le portlet :
-
Connectez-vous au portail avec les privilèges d’administrateur.
-
Accédez à la partie Gestion de portlet de votre portail web.
-
Cliquez sur Installer et accédez à l’application Portlet AEM (cq-portlet-webapp.war) que vous avez téléchargée, puis saisissez les autres informations importantes sur le portlet.
Pour obtenir des informations essentielles sur le portlet, vous pouvez accepter les valeurs par défaut ou modifier les valeurs. Si vous acceptez les valeurs par défaut, le portlet est disponible à l’adresse suivante : https://<wps-host>:<port>/wps/PA_CQ5_Portlet. La console d’administration OSGi fournie par le portlet est disponible à l’emplacement https://<wps-host>:<port>/wps/ PA_CQ5_Portlet/cqbridge/system/console (la paire nom d’utilisateur/mot de passe est admin/admin).
-
Assurez-vous que l’application de portlet démarre automatiquement en sélectionnant cette option ou en cochant la case, puis enregistrez vos modifications. Un message s’affiche indiquant que l’installation a réussi.
Configuration du portlet configuring-the-portlet
Une fois que vous avez installé le portlet, vous devez le configurer afin qu’il connaisse les adresses URL des instances AEM sous-jacentes (création et publication). Vous pouvez également configurer d’autres options.
Pour configurer le portlet :
-
Dans la fenêtre d’administration du portail du serveur d’applications, accédez à la gestion des portlets, où tous les portlets sont répertoriés et sélectionnez le portlet AEM Portal Director.
-
Configurez le portlet, au besoin. Par exemple, vous pouvez avoir besoin de modifier l’adresse URL pour les instances de création et de publication et l’adresse URL du chemin d’accès de début. Les configurations par défaut sont décrites dans la section Préférences de portlet.
note note NOTE Si le portlet est configuré pour se connecter à des instances de création et de publication AEM qui s’exécutent sur un chemin contextuel différent de /, vous devez activer l’option consistant à forcer CQUrlInfo dans la configuration du gestionnaire de bibliothèques HTML de ces instances AEM (par exemple, via Felix Webconsole). Dans le cas contraire, toute modification sera impossible et la boîte de dialogue des préférences ne s’affichera pas. -
Enregistrez les modifications apportées à la configuration sur le serveur d’applications.
-
Accédez à la console d’administration OSGi pour le portlet. L’emplacement par défaut est
https://<wps-host>:<port>/wps/PA_CQ5_Portlet/cqbridge/system/console/configMgr
. La paire nom d’utilisateur/mot de passe est par défaut admin/admin. -
Sélectionnez la variable Configuration du serveur Day Portal Director CQ et modifiez les valeurs suivantes :
- URL de base de la création : URL de base de l’instance de création AEM.
- URL de base de la publication: URL de base de l’instance de publication AEM.
- Création utilisée comme publication : l’instance de création est-elle utilisée comme instance de publication (pour le développement) ?
-
Cliquez sur Enregistrer. Vous pouvez maintenant ajouter le portlet aux pages du portail et utiliser le portail.
URL de contenus content-urls
Lorsque le contenu est demandé à partir d’AEM, le portlet utilise le mode d’affichage actuel (publication ou création) et le chemin d’accès actuel pour assembler une adresse URL complète. Avec les valeurs par défaut, la première adresse URL est https://localhost:4503/content/geometrixx/en.portlet.html
. La valeur de la propriété htmlSelector
est ajoutée automatiquement à l’adresse URL avant l’extension.
Si le portlet passe en mode Aide et que appendHelpViewModeAsSelector
est sélectionné, le sélecteur help
est lui aussi ajouté, par exemple, https://localhost:4503/content/geometrixx/en.portlet.html.help
. Si la fenêtre du portlet est agrandie et que appendMaxWindowStateAsSelector
est sélectionné, le sélecteur est lui aussi ajouté, par exemple, https://localhost:4503/content/geometrixx/en.portlet.max.help
.
Les sélecteurs peuvent être évalués dans AEM et un modèle différent peut être utilisé pour différents sélecteurs.
Utilisation d’une carte d’URL de contenu dans AEM using-a-content-url-map-in-aem
Généralement, le chemin d’accès de début pointe directement vers le contenu dans AEM. Cependant, si vous voulez conserver les chemins d’accès de début dans AEM plutôt que dans les préférences de portlet, vous pouvez faire pointer le chemin d’accès de début vers une correspondance de contenu dans AEM, comme /var/portlets
. Dans ce cas, un script exécuté dans AEM peut utiliser les informations envoyées à partir du portlet pour déterminer l’adresse URL qui est l’adresse URL de début. Elle doit rediriger vers la bonne URL.
Ajout du portlet à la page du portail adding-the-portlet-to-the-portal-page
Pour ajouter le portlet à la page de portail :
- Assurez-vous que vous êtes dans la fenêtre administration du serveur d’applications et accédez à l’emplacement de gestion des pages. (par exemple, dans WebSphere 6.1, cliquez sur Gérer les pages).
- Sélectionnez le nom du portlet, puis une page existante ou créez-en une.
- Modifiez la mise en page.
- Sélectionnez le portlet et ajoutez-le à un conteneur.
- Enregistrez vos modifications.
Utilisation du portlet using-the-portlet
Pour accéder à la page que vous avez ajoutée au portlet :
- Dans le menu de personnalisation du portlet, configurez le portlet tel que vous l’avez configuré dans le portail.
- Ouvrez la configuration (le portlet affiche l’URL de début de publication configurée dans la configuration du portlet), apportez les modifications nécessaires, puis enregistrez-les.