Passer la navigation

Définitions de transformations

La balise de début de la définition de transformation est <transform>. Les transformations sont appliquées à l'arborescence hiérarchique résultant du processus de récupération et de filtrage. L'objectif des transformations consiste à modifier la structure de l'arborescence pour la rendre compatible avec le système
BlackBerry AtHoc
. Il existe deux types de transformations : « move » et « delete ». « move » modifie le nœud parent du nœud spécifié. « delete » supprime les sous-arborescences spécifiées.
<!—- Transform Examples --> <transforms> <!—- Transform 1 --> <transform type="move" inheritable="true"> <target>Users/*</target> <destination>..</destination> </transform> <!—- Transform 2 --> <transform type="delete" inheritable="true"> <target>Users</target> </transform> </transforms>
<transform>
: Possède l'attribut « inheritable » (comme <filter>). L'utilisation de cet attribut permet au module de synchronisation de transformer une grande partie de la structure commune des sous-arborescences. Définir un seul attribut <transform> et le rendre non héritable transforme la sous-arborescence d'un nœud spécifié.
De nombreux administrateurs LDAP sont susceptibles de créer des structures organisationnelles communes dans toutes les branches LDAP. Voici un exemple de structure organisationnelle :
Exemple de structure organisationnelle
ABC Inc. compte trois services : Marketing, Production et Support client. Dans chaque service, il existe deux sous-nœuds contenant respectivement tous les ordinateurs et utilisateurs. À des fins de synchronisation, placez tous les utilisateurs directement sous les nœuds du service auxquels ils appartiennent. Utilisez un filtre pour exclure le nœud « Computers » inutile. Utilisez les transformations pour rendre les nœuds des utilisateurs finaux compatibles avec le système
BlackBerry AtHoc
.
Dans l'exemple ci-dessus, la transformation 1 déplace tous les nœuds des utilisateurs finaux sous les nœuds « Users » vers les nœuds des services appropriés.
La transformation 2 supprime les nœuds « Users » vides. Au terme du filtrage et de la transformation, l'arborescence se présente comme suit :
Structure organisationnelle après transformation 2
Dans la définition <transform>, la balise <target> définit les nœuds auxquels cette transformation est appliquée. Le texte intérieur de l'élément cible est une chaine de type chemin. Il s'agit d'un chemin relatif partant du nœud actuel. Si aucune cible n'est trouvée, la transformation ne prend pas effet.
Supposons que les transformations 1 et 2 soient définies dans le nœud « ABC Inc ». Lorsque le processus atteint les nœuds des services Marketing, Production et Support client, la transformation 1 héritée trouve le nœud cible « Users ». Il déplace ensuite tous les nœuds enfants « Users » vers les nœuds appropriés définis par l'élément <destination>.
L'élément <destination> contient une chaine de type chemin, mais il s'agit d'un chemin relatif partant des nœuds parents des nœuds ciblés. Dans la définition du chemin de la transformation, « * » signifie tout, y compris tous les nœuds. « .. » signifie monter d'un niveau. Toute autre chaine est considérée en tant qu'expression régulière correspondant aux noms des nœuds.
La définition <transform> de suppression ne comporte qu'un élément cible et supprime les nœuds ciblés de l'arborescence hiérarchique.
Les transformations prennent effet dans l'ordre de la déclaration, de haut en bas et du parent à l'enfant. Vous devez les définir dans un ordre spécifique pour obtenir le résultat attendu. Dans l'exemple ci-dessus, si la transformation 2 est antérieure à la transformation 1, elle supprime tous les nœuds « Users » avec tous leurs nœuds des utilisateurs avant l'entrée en vigueur de la transformation 1.
Dans une définition <transform>, une expression régulière doit toujours commencer par ^ et se terminer par $. N'utilisez pas le caractère « / » dans l'expression.