Deux manipulations sont nécessaires pour lancer BranchManager for DOORS® en français:
Vous devez configurer DOORS afin qu'il utilise les scripts de BranchManager qui sont déployés à un autre
endroit, le plus souvent dans un dossier partagé du réseau. Pour cela, vous devez paramétrer une clé de registre
sur la machine cliente.
Donc s'il est possible de déployer une clé de registre, notre suggestion serait de mettre les scripts
dans un dossier partagé du réseau, et de paramétrer les répertoires addins / projectaddins dans
les clé de registre des machines clientes. De cette façon, les scripts peuvent être mis à jour
sur le réseau et tous les clients DOORS utiliseront les nouveaux fichiers.
Si la clé de registre ne peut pas être déployée, il est possible de le faire immédiatement à partir de DOORS.
Normalement, les droits admin ne sont pas nécessaires, puisque le répertoire d'installation DOORS n'a
pas besoin d'être changé.
Les clés de registre suivantes ont besoin d'être ajoutées / changées:
HKEY_CURRENT_USER / Software / Telelogic / DOORS / 9.3 / config
avec:
addins = <chemin_de_l_installation>\menu\p2\addins
projectaddins = <chemin_de_l_installation>\menu\p2\projectaddins
Si les valeurs addins/projectaddins existent déjà, alors il faut ajouter les valeurs précédentes aux valeurs existantes,
en les séparant par une virgule.
Aussi, pour lancer correctement BranchManager, vous avez besoin d'ajouter à l'un des deux chemins (addins ou projectaddins) le chemin vers le code source.
Donc il faut ajouter le répertoire où se trouve les sources pour indiquer où aller chercher le code:
Par exemple:
Il existe deux types de licences : les fixes et les flottantes, pour trois types de fonctions:
Deux heures après la première utilisation
Les préférences de licence sont mises à jour si les utilisateurs vont sous le menu Gestion de Configuration > Information de licence, mettent à jour la licence et sauvegardent.
Les modifications sont alors sauvegardées sous le répertoire utilisateur .branchmanager, dans le fichier preferences.xml.
Pour revenir en arrière, il suffit de supprimer le fichier preferences.xml sous le répertoire .branchmanager.
Les liens entrants ne sont jamais pris en compte pendant la création de branche. Les liens entrants ne sont pas des données associées au module cible.
Ceci est aussi vrai pour la comparaison et la fusion.
Tous les formats OLE supportés par DOORS sont supportés par BranchManager for DOORS.
Il n'est pas possible de copier/coller des objets entre les modules. Mais vous pouvez utiliser le menu Outils > Fonctions > Copier les objets pour copier les objets entre modules.
Si vous travaillez sur la même base, il n'y a pas de problème à copier les objets entre modules. Le script d'intégration résoudra le mapping entre objets.
Mais si les modules sont séparés, il sera difficile d'essayer d'intégrer.
Lorsque l'on restaure des modules archivés, le module aura de nouveaux identifiants uniques assignés par le serveur DOORS. Cela ne permettra pas d'utiliser l'historique des modules.
Mais cela ne veut pas dire que rien ne peut être fait. Voici deux cas d'utilisation:
Lorsque l'on créé une branche, il y a une bonne façon de faire (en supposant une structure de liens saine): commencer en haut de la hiéarchie de liens puis descendez.
Soit les liens en haut de la hiérarchie n'auront pas de cible, soit les cibles de liens sont dans d'autres projets.
Après avoir créé la branche au niveau le plus haut, il faut créer la branche pour le niveau du dessous. La cible des liens du second niveau, encore en supposant que la structure de liens
est saine, sera le niveau du dessus,
et puisque l'on a déjà créé la branche pour le niveau du dessus, tous les objets cibles doivent exister. Et ainsi de suite pour le troisième, quatrième niveau....
Si les modules sont copiés en même temps, BranchManager for DOORS® créé tous les modules en premier, puis les liens. Donc l'ordre n'a pas d'importance.
Lorsque l'on fait une intégration, ce n'est pas toujours aussi simple. Si vous commencez au niveau le plus haut, vous pouvez tenter la fustion d'un objet supprimé, mais peut être que cet objet aura
un lien entrant qui interdira la suppression, et donc vous devrez intégrer cet objet source en premier parce que le lien est supprimé pendant sa fusion. Si vous démarrez par le bas,
vous rencontrerez la situation inverse, vous pourrez tenter de fusionner un lien nouvellement créé, mais peut être que la cible du lien n'aura pas encore été créée, et donc vous devrez
intégrer la création de l'objet cible en premier...
Si on doit donner des règles générales, voici ce que l'on suggère : toujours travailler du haut vers le bas. Cela fonctionne toujours lorsque l'on créé une branche, et cela fonctionne pour l'intégration
excepté pour la suppression d'objet.
Donc lorsque l'on fait une intégration d'une hiérarchie de module, pour la première passe, commencez à partir du haut puis descendez en ignorant la suppression des objets, en n'annulant pas
ou en ne finalisant pas l'intégration
pour chaque module, mais en utilisant le bouton continuer plus tard. Lorsque cela est fait, faites une deuxième passe, commencez en haut de la hiérarchie, et intégrez tout (vous devriez
seulement avoir des suppressions d'objets), et pour chaque module, finalisez.
Pour visualiser les triggers au niveau module:
Ouvrir le module,
Aller dans Outils -> Editer DXL,
Copier le code ci-dessous et cliquer sur 'Exécuter'
Pour vérifier les triggers au niveau projet, remplacer la ligne 13 par la suivante et sélectionner le projet désiré dans le panneau de gauche:
for t in current Project do
Pour vérifier les triggers au niveau de la base de données, remplacer la ligne 13 par la suivante:
for t in database do
Trigger t
bool flag = false
if(null current Module)
{
if (confirm "You don't have a module open.\nYou can only view details of triggers at Project/Database level if line 13 is modified as mentioned in TechNote")
{}
else
{
ack "You don't have a module open. Please open a module and run this script"
halt
}
}
for t in current Module do
{
string h=name (t )
string k=dxl (t )
print "----------------------------------\n"
print "Name of trigger: " h "\n"
print "DXL Code associated with trigger:\n" k "\n"
flag = true
}
if (!flag)
print "No triggers were found.\n"
print "----------------------------------\n"