CF07 et versions antérieures : Utilisation d'URL conviviales sans informations d'état

Par défaut, les URL d'HCL DX Portal incluent des informations d'état de navigation. Si vous configurez des pages pour les URL conviviales, le portail ajoute les informations d'état à ces URL. Certains scénarios requièrent des URL courtes et compréhensibles qui ne comportent pas les informations d'état. Pour les scénarios de ce type, vous pouvez configurer des URL conviviales de sorte que le portail n'affiche pas ces informations d'état.

Avant de commencer

Si vous utilisez le groupe de correctifs combinés 8 ou ultérieur, accédez à Définition d'URL conviviales sans informations d'état pour les pages de votre site.

Pourquoi et quand exécuter cette tâche

Les informations d'état correspondent à une agrégation codée de l'état de navigation du portail et du portlet.
  • L'état du portail inclut la sélection de page, les extensions, le mappage des étiquettes et les cibles d'action.
  • L'état du portlet inclut les paramètres de rendu, l'état de fenêtre et le mode de portlet.
La présence des informations d'état dans l'URL active les caractéristiques des sites Web dynamiques, telles que l'utilisation des signets ou le bouton Précédent. Par exemple, lorsque les informations d'état sont inclues, les utilisateurs peuvent ajouter un signet à une page et revenir ultérieurement au même état de cette page.
Certains scénarios requièrent des URL courtes et compréhensibles qui ne comportent pas les informations d'état :
  • Vous ne voulez pas que l'URL semble référencer du contenu dynamique.
  • Vous voulez que l'URL contienne uniquement des informations pouvant être lues et interprétées par une personne.
  • Vous voulez que l'URL soit adaptée à la zone adresse du navigateur Web.
  • Les moteurs de recherche Internet attendent des URL statiques qui font référence à une seule ressource ou page Web pendant la durée de vie de cette page.
  • Les moteurs de recherche Internet préfèrent les URL courtes et conviviales.
Pour les scénarios de ce type, vous pouvez configurer HCL DX Portal comme suit :
  • Vous configurez les thèmes de sorte qu'ils affichent uniquement des URL conviviales courtes, sans les informations d'état.
  • Vous configurez des pages qui utilisent ce thème pour afficher des URL conviviales.
La configuration s'applique à toutes les pages qui utilisent ce thème et qui sont configurées pour afficher les URL conviviales.
Notes :
  • Si vous configurez votre portail pour l'affichage d'URL conviviales sans état, la lisibilité des URL s'en trouve améliorée aux dépens de la perte de la fonctionnalité d'état :
    • Les URL de portail désignent toujours l'état par défaut d'une page car elles ne contiennent pas les informations d'état.
    • Si un utilisateur clique sur le bouton Précédent ou actualise une page en cliquant sur le bouton Actualisation ou sur le titre de la page, la page retourne au mode par défaut, à savoir Affichage.
    • Si un utilisateur affiche une page et crée un signet, le fait cliquer ensuite sur ce signet permet d'ouvrir la page dans le mode Affichage par défaut.
    • Les URL conviviales sans état ne contiennent pas les informations sur la langue de la page. Le portail détermine la langue de la page en exécutant les étapes suivantes :
      1. Le portail recherche d'abord la préférence utilisateur.
      2. Si la préférence utilisateur n'est pas définie, le portail recherche la langue préférée qui est définie dans le navigateur. Si la page est une page publique, l'utilisateur est un utilisateur anonyme. Dans ce cas, le portail recherche également la langue préférée qui est définie dans le navigateur.
      3. Si le portail ne peut pas déterminer un paramètre de langue préférée pour le portail ou le navigateur, il applique la langue par défaut qui est définie pour le portail.
      Vous voudrez peut-être présenter des pages de portail spécifiques à une langue avec des URL conviviales sans état. Pour plus d'informations, voir l'étape mp_friendly_short_url_prevcf7.html#mp_friendly_short_url_prevcf7__step_lang_spec_urls de la procédure décrite ci-après.
  • Assurez-vous que les JSPs de votre thème fournissent une balise <base> dans la section d'en-tête de votre balisage. Par exemple, vous pouvez utiliser la balise de portail <portal-core:stateBase/>. Pour plus d'informations, voir la section consacrée aux balises<portal-core/>.

Procédure

  1. Facultatif : Désactivez les redirections d'URL conviviale. Si l'URL entrante ne contient pas le préfixe d'URL conviviale de la page traitée, une redirection d'URL ajoute les informations d'état à l'URL. Pour désactiver les réacheminements d'URL, affectez à la propriété personnalisée friendly.redirect.enabled la valeur false dans le service Resource Environment Provider (REP) WP Configuration de la console WebSphere® Integrated Solutions Console. Si la propriété n'est pas répertoriée ici, ajoutez-la et affectez-lui la valeur false. Pour plus d'informations sur cette propriété et sa définition, lisez les rubriques Service de configuration de portail et Définition des propriétés de configuration de service.
  2. Dans le thème que vous souhaitez configurer, pour les URL conviviales et sans état, affectez la valeur true au paramètre com.ibm.portal.theme.hasBaseURL.
    Vous pouvez mettre à jour le paramètre du thème à l'aide de l'interface de configuration XML. L'exemple suivant illustre un exemple de script XML :
    <?xml version="1.0" encoding="UTF-8"?>
    
    <request
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:noNamespaceSchemaLocation="PortalConfig_8.5.0.xsd"
     type="update">
    
     <!-- This sample sets the hasBaseURL Tag in the Portal 8.5 Theme. -->
     <portal action="locate">
     <theme action="update" uniquename="ibm.portal.85Theme" >
     <parameter name="com.ibm.portal.theme.hasBaseURL" 
      type="string" update="set">true</parameter>
     </theme>
     </portal>
    </request>
Assurez-vous qu'aucune information d'état ne figure dans les URL générées dans le thème. Dans le thème par défaut, vous pouvez exécuter cette étape en modifiant les fichiers navigation.jsp, sideNavigation.jsp, mobileNavigation.jsp et mobileNavigationFeed.jsp.
  1. Modifiez le fichier navigation.jsp :
    1. Accédez au répertoire du fichier navigation.jsp.
      Le fichier se trouve à l'emplacement suivant : PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots
    2. Ouvrez le fichier navigation.jsp à l'aide d'un éditeur.
    3. Recherchez la chaîne node.urlGeneration et remplacez-la par la chaîne suivante : node.urlGeneration.noNavigationalState
  2. Modifiez le fichier sideNavigation.jsp :
    1. Accédez au répertoire PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots.
    2. Ouvrez le fichier sideNavigation.jsp à l'aide d'un éditeur.
    3. Recherchez la chaîne node.urlGeneration et remplacez-la par la chaîne suivante : node.urlGeneration.noNavigationalState
  3. Modifiez le fichier mobileNavigation.jsp :
    1. Accédez au répertoire PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots.
    2. Ouvrez le fichier mobileNavigation.jsp à l'aide d'un éditeur.
    3. Localisez la chaîne ?uri=nm:oid:${nodeID} et remplacez-la par la chaîne suivante : ${node.urlGeneration.noNavigationalState}.
  4. Modifiez le fichier mobileNavigationFeed.jsp :
    1. Accédez au répertoire PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots.
    2. Ouvrez le fichier mobileNavigationFeed.jsp à l'aide d'un éditeur.
    3. Recherchez la chaîne node.url et remplacez-la par la chaîne suivante : node.urlGeneration.noNavigationalState
  5. Facultatif : Si vous utilisez HCL Web Content Manager, vous souhaiterez peut-être que le portlet de rendu d'HCL Web Content Manager affiche également les URL conviviales et sans état. Dans ce cas, implémentez un plug-in qui convertit les URL d'HCL Web Content Manager au format personnalisé requis.
    Pour obtenir des instructions et un exemple de code pour un plug-in de ce type, voir .Exemple 2 : Génération d'une URL conviviale pour le contenu Web.

Résultats

Le portail n'affiche plus les informations d'état de navigation dans les URL.