Points d'ancrage

Cette rubrique décrit le concept des points d'ancrage ClearQuest.

Les points d'ancrage constituent des points d'entrée, des déclencheurs, pour des scripts qui s'exécutent aux heures indiquées pour régir la façon dont les utilisateurs travaillent dans un environnement Rational ClearQuest.

Les points d'ancrage sont exécutés avec les droits utilisateur de super-utilisateur et ne sont donc pas soumis aux restrictions habituelles de contrôle d'accès ou de comportement de zone. Vous pouvez utiliser des points d'ancrage pour redéfinir la valeur de zones qui sont habituellement en lecture seule. (En revanche, vous ne pouvez pas réinitialiser des zones système, telles que la zone Historique.) En outre, les zones obligatoires le restent. Pour plus d'informations, voir IBM Rational ClearQuest - Référence de l'API et Actions et contrôle d'accès .

Quatre types de points d'ancrage sont pris en charge :

Langages de script pour les points d'ancrage

Vous pouvez écrire les points d'ancrage en langage VBScript (pour Windows) en en langage Perl (pour UNIX et Windows). Par défaut, les points d'ancrage s'exécutent en VBScript sous Windows. Pour des informations sur l'exécution des points d'ancrage dans le langage Perl pour Windows, voir Langages de script .

Vous pouvez ajouter des scripts écrits en langage VBScript ou Perl aux points d'ancrage de zone et d'action. Si vous créez des scripts globaux ou des scripts d'enregistrement, vous devez utiliser l'un de ces langages.

S'il peut s'avérer pratique d'écrire à la fois des scripts en VBScript et en Perl dans un même schéma, Toutefois, un schéma exécute uniquement des scripts dans le langage approprié. Pour obtenir plus d'informations, consultez Langages de script).

Pour écrire ou éditer des scripts, utilisez l'éditeur de script. Lorsque vous définissez un nouveau script, Designer ajoute la syntaxe d'appel de ce point d'ancrage à la fenêtre de l'éditeur de Script. La syntaxe d'appel ne peut pas être éditée. Designer fournit également des exemples de lignes de texte, que vous pouvez éditer au besoin. (Le texte initial est mis en commentaire et ne s'exécute que si vous supprimez les marques de mise en commentaire.)

Designer fournit un éditeur de script différent pour VBScript et Perl. Le type de l'éditeur apparaît dans la barre de titre de la fenêtre. Vérifiez que vous avez ouvert l'éditeur approprié avant d'écrire votre code.

Contexte d'utilisation des scripts de point d'ancrage

La procédure d'écriture des points d'ancrage en VBScript et Perl est simplifiée, car le contexte d'exploitation est cohérent. Avant qu'un point d'ancrage n'appelle un script VBScript ou Perl, le logiciel Rational ClearQuest crée un objet Session et connecte l'utilisateur. Tous les points d'ancrage (scripts globaux compris) s'exécutant à partir de l'enregistrement en cours, vous disposez d'un objet Entity qui correspond à cet enregistrement. (Un script global partage l'objet Entity associé au point d'ancrage l'ayant appelé).

Dans un script, il est possible d'appeler les méthodes Entity sans indiquer d'identifiant principal. Par exemple, pour appeler la méthode GetSession d'Entity, vous pouvez utiliser le code suivant :

set curSession = GetSession 
 

Lorsque vous procédez de cette manière, le logiciel Rational ClearQuest suppose que vous appelez une méthode de l'objet Entity implicite transmis au point d'ancrage. Si vous souhaitez inclure une référence explicite à cet objet Entity, vous pouvez utiliser le nom du type d'enregistrement comme identificateur de l'objet. Cela permet d'améliorer la lisibilité du code lorsque celui-ci gère plusieurs objets Entity en même temps. C'est le cas dans l'exemple suivant, où l'un des objets Entity est marqué comme étant un double d'un autre :

set curSession = GetSession  
 idName = GetFieldValue("id").GetValue  
 set currentObj = curSession.GetEntity("defect", idName)  
 'Marquer l'entité avec ID="SAMPL00000031" comme un double de cette entité.
 ' Utiliser l'action nommée "duplicate".  
 set dupEntityObj = curSession.GetEntity("defect", "SAMPL00000031") 
 curSession.MarkEntityAsDuplicate dupEntityObj, currentObj, "duplicate"

Les scripts pouvant influencer le comportement d'une zone, vous devez concevoir et tester le code de vos points d'ancrage avec soin. Par exemple, si un point d'ancrage impose qu'une zone donnée contienne une valeur, cette zone devient obligatoire même si son comportement n'est pas défini sur MANDATORY.

Remarques sur le test des points d'ancrage

S'il n'est pas écrit correctement, le code d'un point d'ancrage peut provoquer des erreurs au moment de l'exécution. Un point d'ancrage sera compilé lors de la validation du schéma et toute erreur de syntaxe ou de grammaire sera indiquée. Testez le schéma sur une base de données de test avant de le restituer et sauvegardez la base de données utilisateur avant d'appliquer les changements apportés au schéma. Pour plus d'informations, voir Création d'une base de données de test.

Lorsque vous planifiez vos points d'ancrage, tenez compte des éléments suivants :

Points d'ancrage en environnement répliqué

Nombre de problèmes liés aux points d'ancrage exécutés en environnement répliqué sont les mêmes qui concernent le verrouillage des bases de données de site unique. Le test fonctionnel des points d'ancrage est également identique sur un site unique ou en environnement répliqué. Toutefois, l'exécution de certains points d'ancrage ClearQuest peut être différente en environnement répliqué et en environnement sur site unique. Par exemple, les points d'ancrage qui mettent à jour d'autres enregistrements dans le contexte d'action d'un enregistrement peuvent rencontrer des erreurs si l'autre enregistrement n'est pas régi sur le site en cours, l'empêchant d'être modifié.

Chaque enregistrement de base de données peut être mis à jour uniquement sur le site sur lequel il est actuellement régi (qui est signalé par le nom du site de réplique dans la zone ratl_mastership de l'enregistrement). Dans des applications complexes, il se peut que plusieurs enregistrements soient mis à jour en tant qu'éléments d'une transaction complexe. Lors de la conception et du test des points d'ancrage d'un environnement répliqué, ces principes doivent être pris en compte.

Pour les applications complexes en environnement répliqué avec des enregistrements liés, il convient que votre conception de schéma traite les cas suivants.
  • L'enregistrement parent n'est pas modifiable pour des raisons de maîtrise. Par exemple, l'enregistrement parent ne sera pas modifiable s'il n'est pas régi sur le site courant.
  • L'enregistrement parent est modifiable (régi sur le site courant), mais un enregistrement subalterne n'est pas modifiable pour des raisons de maîtrise (non régi sur le site courant).

Voir également Verrouillage d'enregistrement et Contrôle de validité des schémas .

Scripts installés par des packages

Lorsque vous installez un package, des points d'ancrage de zone ou des scripts d'enregistrement peuvent être ajoutés au schéma. Ces scripts font partie du package et non du code des points d'ancrage.

Les scripts intégrés à des packages ne peuvent être ni supprimés ni modifiés ; ils ne font pas partie du code d'un schéma. Il n'existe donc aucun lien entre le langage par défaut que vous avez choisi pour vos points d'ancrage et celui qui est utilisé pour l'implémentation des points d'ancrage intégrés à des packages.


Commentaires