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.
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.
- 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.
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 :
- Le portail recherche d'abord la préférence utilisateur.
- 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.
- 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.
- 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
- 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.enabledla 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. -
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.
-
Modifiez le fichier navigation.jsp :
-
Modifiez le fichier sideNavigation.jsp :
-
Accédez au répertoire
PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots. - Ouvrez le fichier sideNavigation.jsp à l'aide d'un éditeur.
-
Recherchez la chaîne
node.urlGenerationet remplacez-la par la chaîne suivante :node.urlGeneration.noNavigationalState
-
Accédez au répertoire
-
Modifiez le fichier mobileNavigation.jsp :
-
Accédez au répertoire
PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots. - Ouvrez le fichier mobileNavigation.jsp à l'aide d'un éditeur.
-
Localisez la chaîne
?uri=nm:oid:${nodeID}et remplacez-la par la chaîne suivante :${node.urlGeneration.noNavigationalState}.
-
Accédez au répertoire
-
Modifiez le fichier mobileNavigationFeed.jsp :
-
Accédez au répertoire
PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots. - Ouvrez le fichier mobileNavigationFeed.jsp à l'aide d'un éditeur.
-
Recherchez la chaîne
node.urlet remplacez-la par la chaîne suivante :node.urlGeneration.noNavigationalState
-
Accédez au répertoire
- 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.