Arborescences

De nombreux produits intégrables et implémentations utilisent largement les structures arborescentes de l'interface utilisateur pour afficher les relations hiérarchiques entre les enregistrements du système. Le framework fournit un objet permettant de définir une structure arborescente et les règles permettant d'alimenter les noeuds de l'arborescence, ainsi que des processus permettant d'interpréter la configuration et d'afficher dynamiquement l'arborescence.

Cette section fournit des informations sur ce qui est fourni dans le framework. Votre produit peut fournir des composants d'interface utilisateur avec des arborescences prêtes pour les cas d'emploi courants. Pour plus d'informations, voir la documentation du produit.

Attributs communs des arborescences

Votre organisation peut avoir de nombreux portails et zones affichant des données dans une arborescence hiérarchique. La plupart des arborescences du système suivent un schéma similaire :
  • Les arborescences ont un certain nombre de niveaux. Différents types de noeud d'arborescence peuvent être présents à un niveau donné ; par exemple, une liste de types d'algorithme pour un script, suivie d'une liste d'étapes de script. Des icônes peuvent être affichées pour identifier davantage le type d'objet du noeud.

  • Les types de noeud les plus courants font référence à une entité au sein du système, telle qu'un schéma, un script, une zone de données, etc. Ces noeuds affichent généralement la chaîne d'informations à partir de la référence de clé étrangère de l'entité et permettent d'accéder à l'entité. Ils peuvent également transmettre le contexte des noeuds à d'autres zones du portail.

  • Outre la possibilité d'accéder à l'entité associée, de nombreux types de noeud fournissent un menu contextuel avec d'autres chemins de navigation.

  • Certains noeuds sont simplement informatifs et servent à regrouper un ensemble de noeuds enfant sous un type ou une catégorie. Par exemple, l'arborescence des options d'objet métier regroupe les noeuds de valeur d'option sous les noeuds récapitulatifs qui décrivent le type d'option.

Chaque arborescence définit les noeuds qui la constituent et la relation parent/enfant entre ces noeuds. Un noeud d'arborescence définit les attributs communs applicables au noeud et les algorithmes chargés d'extraire les données du noeud et, éventuellement, de déterminer les informations du noeud à afficher.

Renseigner un algorithme de noeud

Un noeud d'arborescence affiche une combinaison des attributs répertoriés ci-dessus, généralement pour un objet en contexte. Pour un noeud racine, l'objet est normalement dérivé d'une valeur de contexte globale ou de portail, telle que le script en cours. Pour chaque noeud de niveau inférieur, le contexte est dérivé des champs contextuels de sa ligne parent ; par exemple, des algorithmes pour un type d'algorithme spécifique.

L'algorithme chargé de renseigner le noeud a pour principale responsabilité de recevoir le code d'arborescence, le nom du noeud et la ou les valeurs de contexte parent, de déterminer si des données doivent être affichées pour ce noeud et de renvoyer la liste des champs contextuels et des valeurs applicables à chaque ligne du noeud. Les informations facultatives supplémentaires qui peuvent être renvoyées par l'algorithme sont les suivantes :

  • Informations d'entité. Si le noeud est lié à une entité spécifique, les valeurs de code d'objet de maintenance et de clé primaire peuvent être renvoyées. Celles-ci sont utilisées pour déterminer les informations par défaut du noeud, y compris les détails de navigation.

  • Valeur d'icône d'affichage. Utilisée pour remplacer l'icône définie dans le noeud d'arborescence et/ou l'icône par défaut de l'entité telle que définie dans l'objet de maintenance ou l'objet métier.

  • Chaîne d'informations. Peut être utilisée pour remplacer la chaîne d'informations par défaut d'une entité ou pour afficher un texte autonome, tel qu'un récapitulatif ou une description des noeuds enfant à suivre.

  • Remplacez les détails de diffusion si nécessaire pour un noeud spécifique. Par exemple, définissez des noms et des valeurs de champ de diffusion spécifiques lorsqu'ils diffèrent des clés primaires de l'entité associée ou indiquez que la diffusion n'est pas applicable pour une instance de noeud, même si la diffusion est activée par la définition du noeud.

Remarque :
L'algorithme de renseignement de noeud doit renvoyer toutes les valeurs de contexte requises pour remplir ses noeuds enfant. Pour un noeud informationnel ou récapitulatif, cela peut nécessiter l'inclusion des champs contextuels parent du noeud dans son propre contexte. Par exemple, dans l'arborescence de scripts, le noeud récapitulatif décrivant le nombre d'étapes est suivi de la liste d'étapes du script. L'algorithme en charge de renseigner le noeud récapitulatif doit inclure le code de script transmis en tant que contexte parent dans sa liste de contextes de sortie, afin que les étapes soient correctement extraites.

Algorithme de substitution d'informations

L'algorithme de substitution d'informations a deux objectifs principaux :

  • Fournir un autre texte d'information pour un noeud d'arborescence lorsque les informations fournies ne sont pas adaptées à votre implémentation.

  • Extraire des données clés contextuelles liées à l'entité du noeud d'arborescence, à inclure dans le texte d'informations du noeud. Seuls les données clés de type badge sont actuellement prises en charge.

  • Remplacez les détails de diffusion si nécessaire pour un noeud spécifique. Par exemple, définissez des noms et des valeurs de champ de diffusion spécifiques lorsqu'ils diffèrent des clés primaires de l'entité associée ou indiquez que la diffusion n'est pas applicable pour une instance de noeud, même si la diffusion est activée par la définition du noeud.

L'algorithme d'informations de substitution reçoit le code d'arborescence, le nom du noeud, l'objet de maintenance et les valeurs de clé primaire du noeud. Les informations qui peuvent être renvoyées par l'algorithme sont les suivantes :

  • Valeur d'icône d'affichage.

  • Chaîne d'informations. Utilisée pour remplacer la chaîne d'informations par défaut dans la chaîne formatée du noeud.

  • Texte intégral du noeud. Utilisé comme texte complet pour l'affichage, remplaçant ainsi le formatage défini sur le noeud.

  • Liste des données clés de type badge et leur contexte.

Remarque :
Si l'algorithme de substitution des informations renvoie des types de données clés pour l'entité, il est également responsable du renvoi de toutes les valeurs de contexte requises pour ces types de données clés. Pour plus d'informations, voir Données clés contextuelles.

Préparer un noeud pour affichage

La section suivante présente les étapes clés de l'extraction des données d'un noeud et de son formatage pour affichage.

Déterminer le contenu d'un noeud

Pour extraire les composants constituant l'affichage des noeuds d'arborescence, procédez comme suit :

  • L'algorithme Renseigner un noeud est appelé pour déterminer tous les noeuds d'instance du noeud d'arborescence ainsi que les détails associés.

  • L'algorithme Substitution d'informations est appelé pour chaque instance de noeud afin de permettre le remplacement facultatif des détails de présentation.

Le contenu de l'affichage du noeud est déterminé comme suit :

  • L'icône est déterminée à partir des sources suivantes, dans l'ordre indiqué : définition du noeud d'arborescence, valeur de l'algorithme Informations de substitution, valeur de l'algorithme Renseigner un noeud, valeur par défaut de l'objet de maintenance/objet métier.

  • L'utilisation de la transmission est déterminée par le paramètre défini dans la définition du noeud d'arborescence.
    • Ce paramètre peut être remplacé par l'algorithme de renseignement de noeud ou l'algorithme de substitution d'informations (qui est prioritaire) pour indiquer que la diffusion n'est pas applicable à une instance de noeud spécifique.
    • Par défaut, les champs de diffusion d'un noeud sont les noms de clé primaire de son entité associée. Les noms de champ de diffusion peuvent être remplacés par l'algorithme de renseignement de noeud ou l'algorithme de substitution d'informations, lequel est prioritaire.
  • La chaîne d'informations est déterminée à partir des sources suivantes, dans l'ordre indiqué : valeur de l'algorithme Informations de substitution, valeur de l'algorithme Renseigner un noeud, algorithme d'informations d'objet de maintenance/objet métier. Si la chaîne est dérivée de l'algorithme d'objet de maintenance/objet métier, le système utilise le texte d'information court, lorsqu'il est disponible. Sinon, il utilise les informations standard.

  • L'utilisation du menu contextuel est déterminée par les paramètres de la définition du noeud d'arborescence.

  • Le système prend en charge un style différent pour les lignes d'en-tête, y compris une police plus grande. L'utilisation du style d'en-tête est déterminée par le paramètre de la définition de l'arborescence et n'est applicable que si le noeud est un noeud racine avec une seule instance.

Format de texte de noeud

Le texte des noeuds faisant référence à une entité système inclut généralement une combinaison étiquette/clé d'entité/chaîne d'informations. La configuration de noeud fournit un champ d'étiquette et un champ de chaîne destiné au format de substitution qui peuvent être utilisés pour définir le format du texte du noeud. La chaîne de format définit les composants à inclure dans le texte, l'ordre de ces composants, ainsi que les balises HTML et le texte environnant. Par exemple, une chaîne de format '%label - %key - %info' génère le texte de noeud suivant :

Exemple de format du noeud de l'arborescence

Si la chaîne de format est vide, le texte par défaut inclut uniquement "%info". Si un algorithme d'informations de substitution est configuré pour renvoyer le texte complet du noeud, le texte est présenté sans autre formatage.

Développement automatique

Si la définition du noeud d'arborescence indique que le noeud doit être développé, le système extrait et affiche automatiquement les données de son noeud enfant. Ce traitement se poursuit jusqu'à ce qu'aucun autre noeud enfant ne soit marqué pour développement.

Dans certains cas, un noeud d'arborescence doit être développé de manière conditionnelle en fonction de règles métier. Par exemple, pour empêcher l'extension initiale lorsque le nombre de noeuds enfant dépasse un certain seuil. Vous pouvez concevoir l'algorithme "Renseigner un noeud" pour indiquer si un noeud d'arborescence doit être initialement développé ou non. Lorsqu'il est renseigné, l'indication remplace le paramètre défini dans la définition du noeud d'arborescence.

Arborescences fournies avec l'installation standard

Les arborescences sont des données système et votre produit peut fournir plusieurs types d'arborescence prêtes à l'emploi. Vous pouvez choisir de personnaliser une arborescence du produit comme suit :

  • Vous pouvez ajouter vos propres noeuds à une définition d'arborescence existante.

  • Vous pouvez remplacer la chaîne d'informations d'un noeud en fournissant votre propre algorithme de substitution d'informations. Si un algorithme de substitution fourni par l'installation standard est configuré pour le noeud, l'algorithme personnalisé doit être rattaché à un numéro de séquence supérieur afin d'être prioritaire sur l'algorithme de l'installation standard.

Afficher une arborescence

Pour afficher une arborescence dans l'interface utilisateur, vous devez inclure le composant Web ou-tree dans une matrice IU qui référence la définition de l'arborescence.

Remarque :
Pour plus d'informations, voir Inclure un composant Web.