A propos des adresses URL conviviales pour le contenu Web
Les adresses URL conviviales pour le contenu Web permettent de construire des adresses URL claires et concises pour les objets de contenu.
Vous pouvez construire des URL conviviales qui font référence à des objets de contenu Web, mais, par défaut, HCL Web Content Manager lui-même ne génère pas d'URL conviviale. Toutefois, vous pouvez faire en sorte que l'afficheur de contenu Web génère des URL conviviales. Pour plus d'informations, lisez la section Modification de l'URL de site après une installation. Pour plus d'informations, lisez la section Définition d'URL conviviales sans informations d'état pour les pages de votre site.
Ces adresses URL sont plus faciles à mémoriser et à partager et permettent aux utilisateurs de créer facilement des signets pour les objets de contenu. Les applications externes peuvent aussi utiliser les adresses URL conviviales pour fournir des liens directs aux objets de contenu dans le portail. Pour pouvoir créer des adresses URL conviviales efficaces pour le contenu Web, vous devez comprendre comment les adresses URL conviviales pour les pages de portail sont construites et comment les adresses URL conviviales pour le contenu Web les étendent.
Construction des adresses URL conviviales pour les pages
Si vous souhaitez qu'une page fasse l'objet d'une référence dans une adresse URL conviviale, vous devez lui attribuer un nom d'adresse URL conviviale. Vous pouvez affecter une adresse URL conviviale lorsque vous créez la page, ou éditer les propriétés de la page après sa création.
http://host_name:port_number/context_root/portal/page_id/[!ut/p/encoded_suffix]La partie page_id de l'adresse URL conviviale se compose des noms d'adresse URL conviviale de chaque page dans la structure de pages. La structure de pages commence à la racine du contenu et se termine par la page sélectionnée.Products dont le nom d'URL conviviale est products. Sous la page Products se trouve une autre page nommée Appliances dont le nom d'URL conviviale est appliances. Lorsqu'elle est exprimée sous la forme d'une URL conviviale complète, l'URL permettant d'accéder à la page Appliances :http://www.example.com:10039/wps/portal/products/appliancescom.ibm.portal.friendly.wildcard pour la page. Par exemple, si la page Products possède le nom d'URL conviviale com.ibm.portal.friendly.wildcard, l'URL conviviale dans l'exemple précédent pour la page Appliances est abrégée :http://www.example.com:10039/wps/portal/appliances!ut/p/base_codec/rich_state. Ce suffixe contient des informations sur les états que le portail peut utiliser lorsqu'il affiche la page. Toutefois, lorsque vous créez des signets pour les adresses URL conviviales ou que vous les partagez, il n'est pas nécessaire d'inclure ce suffixe.Construction des adresses URL conviviales pour le contenu Web
Les adresses URL conviviales pour le contenu Web sont construites comme des adresses URL conviviales pour les pages, mais contiennent des informations supplémentaires qui identifient le chemin d'accès à un objet de contenu. Lorsque le portail décode une adresse URL conviviale, il décode l'adresse URL du début à la fin. Il met en correspondance chaque segment de chemin de l'adresse URL avec les noms d'adresse URL conviviale des pages de portail jusqu'à ce qu'il ne trouve plus de correspondance. Il considère que le reste de l'adresse URL représente les informations de chemin d'accès à un objet de contenu.
Ces informations de chemin sont mappées à un paramètre de rendu public partagé dont la portée est la page de portail identifiée par l'adresse URL. Le nom qualifié complet de ce paramètre path-info est http://www.ibm.com/xmlns/prod/websphere/portal/publicparams:path-info. Le paramètre path-info peut contenir plusieurs valeurs, chacune d'elles représentant les segments d'un chemin de contenu. Les segments sont concaténés avec une barre oblique (/) servant de séparateur.
http://host_name:port_number/context_root/portal/page_id/path_to_content/[!ut/p/encoded_suffix]http://www.example.com:10039/wps/portal/products/appliances/welcomePlusieurs conditions participent à cette adresse URL :- La page de portail
Productspossède un nom d'URL convivialeproducts, et sous la pageProductsse trouve une autre page nomméeAppliancesdont le nom d'URL conviviale estappliances. - Une bibliothèque de contenu Web contient une zone de site nommée
Appliances, qui contient un objet de contenu appeléwelcome. Dans cet exemple, la bibliothèque de contenu Web s'appelleWeb Content. - La page de portail
Appliancescontient un mappage de contenu par défaut vers la zone de siteWeb Content/Appliances.
Appliances, l'afficheur de contenu Web interprète les informations path-info à partir de l'URL conviviale. Il identifie l'élément welcome comme étant des informations de chemin représentant le contenu dans une bibliothèque de contenu Web. En examinant le mappage de contenu par défaut de la page, il localise la zone de site Web Content/Appliances et affiche l'objet de contenu welcome.La partie page_id de l'URL conviviale est toujours évaluée en premier. En raison de cette priorité, veillez à ce que vos schémas de dénomination ne se chevauchent pas lorsque vous configurez votre hiérarchie de pages de portail et votre hiérarchie de contenu Web. Plus spécifiquement, l'information path_to_content ne peut pas débuter par des segments pouvant appartenir à la partie page_id de l'URL conviviale. Si le premier segment de l'information path_to_content correspond au nom d'URL conviviale d'une page de portail à ce niveau dans la hiérarchie de pages, l'URL conviviale pourrait référencer une page incorrecte.
- Pour qu'un afficheur de contenu Web puisse traiter le paramètre path-info , il doit être configuré pour recevoir des liens. S'il est configuré pour recevoir des liens, il donne la priorité au paramètre path-info plutôt qu'au paramètre de rendu public context. Lorsque vous cliquez sur un lien proposé par l'afficheur de contenu Web, celui-ci incorpore automatiquement le chemin de l'objet lié.
- Lorsque vous cliquez sur Effacer le contexte des pages lors de la modification des paramètres d'un afficheur de contenu Web, le paramètre path-info est également effacé.
- Si une URL conviviale contient un suffixe codé, son format est le suivant :
!ut/p/base_codec/rich_state. Ces informations étant codées, elles ne sont pas destinées à être lues par les utilisateurs. Toutefois, le portail lui-même peut agir sur l'information, ce qui peut parfois entraîner l'affichage d'une page incorrecte.Si le paramètre de rendu partagé public path-info est codé dans la partie
rich_statedu suffixe, le contenu path-info écrase la partiepath_to_contentde l'URL conviviale. Il se peut également qu'il existe une non-concordance entre le contenu de path-info et les informations de chemin codées dans la partierich_state. Lorsque cela se produit, le portail remplace la partiepath_to_contentde l'URL conviviale par les informationsrich_stateet dirige l'utilisateur vers cette page.Les tableaux suivants expliquent de quelle manière la présence des informationsrich_stateaffecte la page affichée :Tableau 1. Exemple d'informations rich_state ayant une incidence sur la page affichée Description URL L'utilisateur navigue vers l'adresse URL du portail. http://www.example.com:10039/wps/portal/home/content_item_1/!ut/p/b1/dY07Do...L'utilisateur modifie l'URL dans la barre d'adresse du navigateur pour accéder à content_item_2.http://www.example.com:10039/wps/portal/home/content_item_2/!ut/p/b1/dY07Do...URL résultante http://www.example.com:10039/wps/portal/home/content_item_1/!ut/p/b1/dY07Do...Etant donné que la partie
rich_statede l'URL contient toujours des informations de chemin désignantcontent_item_1, le portail écrase la partiepath_to_contentde l'URL. L'utilisateur reste sur la même page au lieu d'être redirigé vers la page sur laquellecontent_item_2est affiché.Tableau 2. Exemple d'URL conviviale pour contenu Web sans information rich_state Description URL L'utilisateur navigue vers l'adresse URL du portail. http://www.example.com:10039/wps/portal/home/content_item_1/!ut/p/b1/dY07Do...L'utilisateur modifie l'URL dans la barre d'adresse du navigateur pour accéder à content_item_2.http://www.example.com:10039/wps/portal/home/content_item_2URL résultante http://www.example.com:10039/wps/portal/home/content_item_2Etant donné que l'utilisateur a supprimé la partie
rich_statede l'URL lorsqu'il a modifié cette dernière, la partiepath_to_contentde l'URL est évaluée. L'utilisateur est redirigé vers la page sur laquellecontent_item_2est affiché.
Filtres de génération d'adresses URL de contenu et adresses URL conviviales
Ce qui suit s'applique uniquement au groupe de correctifs HCL Digital Experience Portal version 8.5 CF07 et aux groupes de correctifs combinés antérieurs : Un filtre de génération d'adresses URL de contenu permet de personnaliser les adresses URL qui sont générées par un afficheur de contenu Web. L'afficheur de contenu Web génère une adresse URL de contenu chaque fois qu'il détecte une adresse URL d'un contenu Web présent dans le contenu présenté par l'afficheur. Si vous créez un plug-in qui implémente un filtre de génération d'URL de contenu, vous pouvez personnaliser les URL des éléments de contenu. Pour plus d'informations, voir Création d'une classe de filtre de génération d'URL de contenu.
Identification et résolution des problèmes liés aux URL conviviales pour contenu Web
http://host_name:port_number/context_root/portal/page_id/path_to_content/[!ut/p/encoded_suffix]- La prise en charge des URL conviviales pour le contenu Web est activée uniquement lorsque les propriétés de configuration
friendly.enabledetfriendly.pathinfo.enabledsont toutes les deux associées à la valeur true dans le service de configuration du portail. - L'afficheur de contenu Web affiche un message d'avertissement dans les cas suivants :
- L'adresse URL conviviale pour le contenu Web référence un objet de contenu qui ne peut pas être localisé.
- L'utilisateur ne dispose pas des droits d'accès permettant d'afficher l'objet de contenu référencé.
- La page de portail spécifiée dans l'adresse URL conviviale pour le contenu Web doit comporter un mappage de contenu par défaut à une zone de site de contenu Web existante. Si la page ne comporte pas de mappage de contenu par défaut, les afficheurs de contenu Web de la page affichent un message d'avertissement concernant le contexte de page manquant.
- Si la page cible ne contient pas d'afficheur de contenu Web configuré pour la réception de liens, l'objet de contenu spécifié dans l'adresse URL conviviale pour le contenu Web n'est pas affiché.
- Si l'afficheur de contenu Web n'est pas configuré pour la diffusion de liens, les liens proposés par l'afficheur n'ont pas d'impact sur l'adresse URL conviviale pour le contenu Web.
- La sélection de la page de portail par défaut n'affiche pas le chemin de l'objet de contenu de l'adresse URL conviviale. La partie
path_to_contentde l'URL inclut les informations de chemin d'accès au contenu uniquement après que les utilisateurs ont parcouru le contenu Web à l'aide des liens proposés par l'afficheur. - Les URL conviviales pour contenu Web sont codées en URL. Lorsque vous utilisez des adresses URL conviviales pour le contenu Web, les caractères spéciaux qui apparaissent dans les segments de l'adresse URL doivent être codés pour l'URL. Par exemple, un espace est remplacé par son équivalent codé pour URL :
%20. Certains navigateurs Web décodent automatiquement l'adresse URL. Dans ce cas, vous pouvez voir des caractères non codés dans l'adresse URL ; toutefois, le portail utilise toujours une version codée de l'adresse URL. - Les segments d'une URL conviviale pour contenu Web ne sont pas localisés pour plusieurs langues. La partie
path_to_contentd'une URL conviviale pour un contenu Web est composée de noms non localisés de dossiers de contenu Web, de zones de site et d'objets de contenu. Par exemple, si vous attribuez à ces objets des noms en anglais, l'adresse URL conviviale pour le contenu Web est composée avec ces mots anglais, même si la langue du portail n'est pas l'anglais.