HelpNDoc 6.0 a ajouté la prise en charge des statuts de chapitres, ce qui simplifie considérablement la gestion des projets de documentation pour les rédacteurs techniques : les chapitres peuvent être étiquetés comme “Obsolètes”, “En cours”, “À réviser”, “Achevés” ou tout autre statut personnalisé. Vous pourriez être tentés d’utiliser cette fonctionnalité pour mettre à jour un vieux projet et modifier l’état de tous vos chapitres en “À réviser” pour les réviser un par un. Mais la mise à jour individuelle de tous les chapitres d’un grand projet prendra du temps. Heureusement, la prise en charge de scripts par HelpNDoc permet de mettre à jour la totalité des statuts du projet en une fraction de seconde. Voyons comment le faire.

Utilisation de l’éditeur de script de HelpNDoc

Lorsqu’une fonctionnalité n’est pas disponible dans HelpNDoc, utilisez simplement l’éditeur de script et l’API de HelpNDoc afin de la créer vous-même.

L’éditeur de script peut être utilisé pour automatiser la plupart des étapes de la rédaction et de l’entretien de la documentation. Voici comment utiliser l’éditeur de script dans HelpNDoc :

  • Dans l’onglet “Outils” du ruban, cliquez sur “Éditeur de script”. Cela affichera la fenêtre “Création et exécution de scripts” ;
  • Entrez le contenu de votre script dans l’éditeur de code. Consultez la documentation pour la listes des méthodes disponibles dans l’API découvrez ce qui est possible dans votre script personnalisé ;
  • Utilisez le bouton “Construire le script” (ou le raccourci clavier SHIFT-F9) pour vérifier la syntaxe ;
  • Utilisez le bouton “Exécuter le script” (ou le raccourci clavier F9) pour l’exécuter ;

Écriture du script

L’algorithme à développer pour mettre à jour chaque chapitre vers un statut spécifique est très simple : nous devons d’abord obtenir l’identifiant unique du statut, nous itérons ensuite tous les chapitres du projet et nous définissons l’identifiant approprié du statut du chapitre.

1. Obtenir l’identifiant du statut

Avant d’appliquer un statut à chaque chapitre, nous devons en obtenir l’identifiant unique. Heureusement, l’API HelpNDoc pour l’objet HndStatus inclut la méthode HndStatus.GetStatusByCaption() qui facilite largement cette tâche. Voici un script montrant comment procéder :

const
  // Nom du statut
  STATUS_TO_LOOK_FOR = 'Needs Review';
var
  // Identifiant du statut
  aStatusId: string;
begin
  // Obtenir l'identifiant unique du statut
  aStatusId := HndStatus.GetStatusByCaption(STATUS_TO_LOOK_FOR);
end;

2. Itérer tous les chapitres

Nous avons maintenant l’identifiant unique du statut à appliquer à chaque chapitre. Nous pouvons maintenant l’itérer à travers chacun d’eux comme suit :

var
  // Identifiant du statut en cours
  aTopicId: string;
begin
  // Obtenir le premier chapitre
  aTopicId := HndTopics.GetTopicFirst();
  // Faire une boucle dans tous les chapitres
  while aTopicId <> '' do
  begin

    // ... Définir le statut du chapitre ici ...

    // Obtenir le chapitre suivant
    aTopicId := HndTopics.GetTopicNext(aTopicId);
  end;
end.

3. Définir le statut du chapitre

Nous pouvons désormais simplement utiliser la méthode de HndTopics appropriée pour définir le statut du chapitre :

  // Définir son statut
  HndTopics.SetTopicStatusId(aTopicId, aStatusId);

Le script entier

Nous avons maintenant tous les morceaux de code prêts pour la rédaction du script complet de modification de statut du chapitre dans tout le projet de documentation. Examinons le script complet.

Table des matières statut du chapitre

Le script ci-dessous changera automatiquement le statut de tous les chapitres du projet en cours en “À réviser”. Il est personnalisable au besoin : il suffit de remplacer la valeur de la constante STATUS_TO_LOOK_FOR par un autre statut. On peut également améliorer ce script pour n’appliquer le statut qu’à des chapitres répondant à une condition, comme avoir un parent spécifique, un identifiant d’aide spécifique, le statut en cours… les possibilités sont infinies.
Le script complet peut être collé dans l’éditeur de script de HelpNDoc et sera inclus dans une version à venir de HelpNDoc :

const
  // Nom du statut
  STATUS_TO_LOOK_FOR =  réviser';
var
  // Identifiant du statut
  aStatusId: string;
  // Identifiant du statut en cours
  aTopicId: string;
begin
  // Obtenir l'identifiant unique du statut
  aStatusId := HndStatus.GetStatusByCaption(STATUS_TO_LOOK_FOR);
  // Obtenir le premier chapitre
  aTopicId := HndTopics.GetTopicFirst();
  // Faire une boucle dans tous les chapitres
  while aTopicId <> '' do
  begin
    // Définir son statut
    HndTopics.SetTopicStatusId(aTopicId, aStatusId);
    // Obtenir le chapitre suivant
    aTopicId := HndTopics.GetTopicNext(aTopicId);
  end;
end.

Voir aussi


Catégories: articles