Vous consultez actuellement l'aide de la version:

Dans·AEM,·Externalizer·est un service OSGI qui vous permet de transformer, par programmation, un chemin d’accès aux ressources (/path/to/my/page, par exemple) en une URL externe et absolue (http://www.mycompany.com/path/to/my/page, par exemple) en faisant précéder le chemin d’accès d’un DNS préconfiguré.

Une instance ne peut pas connaître son URL visible en externe si elle s’exécute derrière une couche web et il arrive qu’un lien doive être créé en dehors d’une étendue de demande. Dès lors, ce service fournit un emplacement centralisé pour configurer ces URL externes et les générer.

Cette page explique comment configurer le service Externalizer et l’utiliser. Pour plus d’informations, reportez-vous aux JavaDocs.

Configuration du service Externalizer

Le service Externalizer vous permet de définir, de manière centralisée, plusieurs domaines pouvant être utilisés pour préfixer des chemins d’accès aux ressources par programmation. Chaque domaine est identifié par un nom unique utilisé pour faire référence au domaine par programmation.

Pour définir un mappage de domaine pour le service Externalizer, procédez comme suit :

  1. Accédez au gestionnaire de configuration via Outils, puis Consoleweb ou saisissez http://<hôte>:<port>/system/console/configMgr.

  2. Cliquez sur Day CQ Link Externalizer pour ouvrir la boîte de dialogue de configuration.

    Remarque :

    Le lien direct vers la configuration est http://<hôte>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl

    chlimage_1
  3. Définissez un mappage de domaine : un mappage se compose d’un nom unique qui peut être utilisé dans le code pour faire référence au domaine, d’un espace et du domaine :
    <nom-unique> [scheme://]server[:port][/contextpath], où :

    • scheme est généralement http ou https ; cependant, il peut également s’agir de ftp, etc.; utilisez https pour imposer des liens https si nécessaire ; ce protocole est utilisé si le code client ne remplace pas le schéma lors de la demande d’externalisation d’une URL.
    • server est le nom d’hôte (il peut s’agir d’un nom de domaine ou d’une adresse IP).
    • port (facultatif) est le numéro de port.
    • contextpath (facultatif) est défini uniquement si AEM est installé en tant qu’application web sous un autre chemin d’accès au contexte.

    Exemple : production http://my.production.instance
    Les noms de mappage suivants sont prédéfinis et doivent toujours être configurés, car AEM en dépend :

    • local : instance locale
    • author : DNS du système de création
    • publish : DNS du site public

    Remarque :

    Une configuration personnalisée vous permet d’ajouter une nouvelle catégorie, telle que « production », « staging », voire des systèmes non AEM externes, tels que « my-internal-webservice ». Elle s’avère utile pour éviter le codage en dur de telles URL en différents points du codebase d’un projet.

  4. Cliquez sur Enregistrer pour enregistrer vos modifications.

Remarque :

Adobe vous recommande d’ajouter la configuration au référentiel.

Utilisation du service Externalizer

Cette section illustre quelques exemples d’utilisation du service Externalizer.

 

Pour obtenir le service Externalizer dans un JSP :

Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);

 

Pour externaliser un chemin d’accès avec le domaine « publish » :

String myExternalizedUrl = externalizer.publishLink(resolver, "/my/page") + ".html";

En supposant que le mappage de domaine soit « publish http://www.website.com », myExternalizedUrl se termine par la valeur « http://www.website.com/contextpath/my/page.html ».

 

Pour externaliser un chemin d’accès avec le domaine « author » :

String myExternalizedUrl = externalizer.authorLink(resolver, "/my/page") + ".html";

En supposant que le mappage de domaine soit « author http://author.website.com », myExternalizedUrl se termine par la valeur « http://author.website.com/contextpath/my/page.html ».

 

Pour externaliser un chemin d’accès avec le domaine « local », procédez comme suit :

String myExternalizedUrl = externalizer.externalLink(resolver, Externalizer.LOCAL, "/my/page") + ".html";

En supposant que le mappage de domaine soit « local http://publish-3.internal », myExternalizedUrl se termine par la valeur « http://publish-3.internal/contextpath/my/page.html ».

 

Vous trouverez d’autres exemples dans les Javadocs.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne