Modification du comportement du cas d'erreur
En cas d'erreur lors de la recherche ou de l'utilisation d'une règle affectée à une page ou à un portlet, par défaut, cette page ou ce portlet sera caché. Si un utilisateur ou une application attendue n'existe pas, le système continuera de s'exécuter. Ce comportement peut être approprié mais dans un environnement de développement, vous devrez peut-être modifier ce comportement pour des besoins de tests. Mettez à jour le fichier PersonalizationService.properties pour remplacer l'ensemble de ce comportement.
Avant de commencer
Pourquoi et quand exécuter cette tâche
La propriété rulesEngine.visibilityDefault indique si une page ou un portlet s'exécute en cas de problème avec la règle affectée. La modification de la valeur de la propriété à afficher signifie que la page ou le portlet s'affichera même si la règle affectée est introuvable ou en cas de problème avec la règle.
La propriété rulesEngine.throwObjectNotFoundException indique ce qui se produit si un objet tel qu'un utilisateur n'est pas trouvé, alors qu'il est nécessaire à l'exécution d'une règle. Ceci peut se produire lorsque Personalization ne parvient pas à trouver l'utilisateur actuel ou lorsqu'un objet d'application n'existe pas dans la session ou la requête à l'emplacement de clé attendu. Si la propriété est définie sur false, un utilisateur ou un objet null n'est pas traité en tant qu'erreur, mais uniquement enregistré dans les journaux, pour avertissement. Personalization continue comme si l'attribut requis de l'objet null était également null.
Par exemple, si aucun objet utilisateur n'est trouvé et que rulesEngine.throwObjectNotFoundException est défini sur false, une règle telle que Show page or portlet when user.name is null retourne show. Un utilisateur null est traité comme si son nom était null. Toutefois, si aucun objet d'utilisateur n'est trouvé et que rulesEngine.throwObjectNotFoundException est défini sur true, cette règle lève une exception. Si cette règle a servi à déterminer la visibilité d'une page ou d'un portlet, le résultat final dépend de la valeur de la propriété rulesEngine.visibilityDefault, qui décide ce qui se produit si une exception est levée pendant le traitement d'une règle dans une administration basée sur des attributs.
Procédure
- Ouvrez le fichier PersonalizationService.properties. Ce fichier est situé dans le répertoire suivant :wp_profile_root/PortalServer/config/config/services/PersonalizationService.properties.
- Recherchez la propriété rulesEngine.visibilityDefault.
- Pour permettre l'exécution des portlets ou des pages en cas d'erreur, définissez cette propriété sur afficher.
- Recherchez la propriété rulesEngine.throwObjectNotFoundException.
- Pour générer une exception si l'objet est introuvable, définissez cette propriété sur true.