Article
· Fév 12 7m de lecture

Meilleures pratiques de contrôle de source Git avec IRIS dans VSCode

Table des matières

  1. Introduction
  2. Contrôle de version
  3. Exportation de classes
  4. Exportation de classes BI Analytics
  5. Exportation de globales

Introduction.

Dans cet article, nous aborderons une approche rapide du développement Git avec la Communauté de développeurs InterSystems et les pratiques de contrôle de version lorsqu'on utilise InterSystems IRIS. Nous traiterons des scénarios dans lesquels nous devons exporter des classes d'interopérabilité, des variables globales et des éléments d'analyse tels que des cubes et des tableaux de bord. Ces scénarios englobent les principales pratiques de contrôle de version avec IRIS.

Pour commencer, il vous faut:

  1. Vous inscrire et vous connecter à GitHub
  2. Être membre de l'organisation intersystems-community sur Git

Il est très simple de se lancer au moyen d'InterSystems IRIS!

Le contrôle de version avec InterSystems IRIS est fondamentalement identique à celui de tout autre projet. Nous apportons des modifications aux fichiers et les validons dans le référentiel. Au moyen d'InterSystems IRIS, les modifications apportées dans InterSystems IRIS ne sont pas exportées automatiquement vers le système de fichiers externe. Pour cela, des outils spécialisés sont nécessaires.

Commençons par créer un référentiel et y télécharger votre code.

Pour commencer, rendez-vous sur github.com et créez un référentiel vide. Vous serez invité à le nommer, à sélectionner les paramètres de confidentialité et à utiliser le modèle intersystems-community/iris-interoperability-template (ceci est possible si vous faites partie d'InterSystems Community).

- Ce modèle contient tout ce qu'il faut pour se lancer rapidement avec IRIS et ses systèmes centraux : classes d'interopérabilité, globales et classes de données pour analyser les données. Vous pouvez aussi utiliser ce modèle pour suivre mes explications. -

Remplissez les champs appropriés et cliquez sur Créer un référentiel (Create repository)

 

C'est fait! Nous avons maintenant un référentiel. Ensuite, il suffit de le cloner sur notre disque dur, de créer un conteneur Docker avec l'image IRIS et de commencer à coder.

Clonez le référentiel vers le système de fichiers. Ouvrez ensuite Microsoft Visual Studio et accédez au répertoire contenant le code.

Ensuite, nous construisons notre projet.

docker compose build - -no-cache - -progress=plain

Et ensuite

docker compose up -d

Voilà, l'installation et le lancement de votre projet sont achévés.

Contrôle de version.

Pour valider les modifications apportées à votre projet dans le référentiel, vous devez les extraire du conteneur et les placer dans le répertoire de travail. Pour suivre les modifications dans IRIS, utilisez l'application git-source-control. Elle vous permet de surveiller l'état des fichiers dans le système de fichiers IRIS sans configuration supplémentaire et de les extraire chaque fois que vous apportez des modifications.

Notre modèle a déjà le package git-source-control préinstallé, nous pouvons donc voir comment il fonctionne et nous concentrer sur le contrôle de version. Le package est installé dans le fichier iris.cls. Notez les lignes suivantes:

zpm "install git-source-control"
do ##class(%Studio.SourceControl.Interface).SourceControlClassSet("SourceControl.Git.Extension")


La première ligne installe l'application à partir d'InterSystems Package Manager ou IMP (ex: ZPM). La deuxième ligne définit la classe d'application git-source-control : "SourceControl.Git.Extension" comme argument de la classe système %Studio.SourceControl.Interface, ce qui permet à VSCode de communiquer avec la classe de contrôle de source. Cette configuration est effectuée lors de la création du conteneur dans le fichier dockerfile ou installer.cls, ou dans notre cas, dans iris.cls.

Exportation des classes.

Essayons maintenant d'apporter quelques modifications à notre code et voyons ce qui se passe. Nous allons créer un cube de données pour l'une des tables fournies dans ce modèle. Pour ce faire, activez l'analyse pour l'espace de noms actuel en exécutant la commande suivante dans la console:

do EnableDeepSee^%SYS.cspServer("/csp/USER/")

Ensuite, nous accédons à l'adresse Management Portal->Analytics->Architect (Portail de gestion->Analyses->Architecte) pour afficher la fenêtre suivante:

 

Cliquez sur New (Nouveau) et remplissez les champs du formulaire pour créer un nouveau cube. Pour notre cube, nous utiliserons le modèle de données dc.Demo.PostMessages.

 

Le résultat obtenu devrait être similaire à celui-ci.

 

Ensuite, nous enregistrons et compilons le nouveau cube.

 
Revenons à VSCode et voyons ce qui a changé.

 
Le nouveau cube est téléchargé dans le système de fichiers exactement tel que nous l'avons créé ! C'est tout simple. Ensuite, nous allons modifier l'une des classes de production métier.

Accédez à IRIS et naviguez vers Portail de gestion->Interopérabilité->Configurer->Production: Management Portal->Interoperability->Configure->Production. Vous y verrez le processus métier dc.Demo.RedditService en cours d'exécution.

 Modifions la définition de la classe dc.Demo.RedditService et attribuons-lui une catégorie. Cliquez ensuite sur Apply (Appliquer).

 
Nous allons dans VSCode et constatons que la classe du processus métier a déjà été téléchargée dans notre système de fichiers et contient toutes les modifications apportées.



 

Il ne nous reste plus qu'à placer les classes dans les répertoires appropriés et à les enregistrer dans le référentiel.

Exportation des classes BI Analytics.

Nous allons maintenant examiner une autre méthode d'exportation de fichiers à l'aide de éléments d'analyse métier. Revenons au cube de données que nous avons créé à partir des messages Reddit. Créons un tableau de bord et un pivot pour visualiser les données, puis essayons de les exporter. Pour ce faire, accédez à IRIS, puis à Analytics->Analyzer. Ici, nous avons le cube de données RedditMessages et la mesure de base Count.

Faites glisser la mesure dans le champ Measures et enregistrez le pivot résultant sous le nom Reddit Messages Amount.

 
Ensuite, créons un tableau de bord pour afficher le pivot résultant. Accédez à Management Portal -> User Portal (Portail de gestion -> Portail utilisateur). Dans la fenêtre qui s'ouvre, cliquez sur le signe plus et sélectionnez Add Dashboard (Ajouter un tableau de bord).

 
Ensuite, saisissez le nom du tableau de bord et cliquez sur OK

 

Ajoutez ensuite le widget créé précédemment au tableau de bord et cliquez sur OK.

 

C'est fait! Très simple. Nous avons commencé à développer des analyses. Maintenant, il faut exporter ces éléments. Malheureusement, la version actuelle d'IRIS et de Git-Source-Control ne permet pas de suivre les modifications apportées aux classes d'analyse, mais nous avons un autre outil pratique pour cette tâche.

Nous utiliserons iris-bi-utils. Il s'agit d'un ensemble d'utilitaires permettant d'exporter ou d'importer n'importe quelle classe d'IRIS vers votre système de fichiers. La principale différence avec Git-Source-Control est que ce dernier suit automatiquement les modifications apportées aux classes, tandis qu'iris-bi-utils exporte les classes manuellement. À l'aide de l'application iris-bi-utils, vous pouvez télécharger toutes les classes et tous les éléments contenus dans IRIS.

Commençons donc par installer iris-bi-utils dans votre IRIS.

Exécutons la commande dans la console.

zpm "install iris-bi-utils"

 

Nous exécutons ensuite la commande pour définir le répertoire racine du projet afin d'y stocker les objets.
​​

do ##class(BIInstruments.utils).workdir("/home/irisowner/dev/")

Les commandes suivantes exportent le pivot et le tableau de bord souhaités. Notez la syntaxe de la classe exportée. Le nom de l'élément doit être suivi de sa catégorie et de son type: .pivot.DFI pour le pivot et .dashboard.DFI pour le tableau de bord.

do ##class(BIInstruments.export).export("Reddit Messages Amount.pivot.DFI")
do ##class(BIInstruments.export).export("Reddit overview.dashboard.DFI")

Les fichiers seront exportés vers le répertoire /dfi. C'est là que les classes de bi-analyse sont stockées.

Nous les plaçons également dans le répertoire approprié et transmettons les modifications au référentiel.

Exportation des globales.

Généralement, nous n'avons pas besoin de transmettre les variables globales au référentiel pendant le développement. Souvent, des données sensibles y sont stockées ou la taille de la variable globale est trop importante. Cependant, si nécessaire, elles peuvent toujours être exportées vers un système de fichiers externe et validées dans git à l'aide de cette méthode de la classe %Library.Global.

do ##class(%Library.Global).Export("NAMESPACE", "global.name, global.name1,....", “/path/and/outputFileName”)

      Cela peut également être effectué via le portail de gestion. Pour ce faire, accédez à Management Portal->System Explorer->Globals (Portail de gestion->Explorateur système->Globales). Sélectionnez la globale souhaitée et cliquez sur Exporter. L'interface a une fonction de recherche pratique. L'exportation est possible vers le système de fichiers ou vers un navigateur.
 Lorsqu'il est exporté, la globale peut être encodée à l'aide de plusieurs variantes des plus courantes


 
 

Voilà, cc'est tout, dans cet article, nous avons créé un référentiel, examiné les moyens d'exporter des classes métier, des analyses et des variables globales, et envoyé les modifications au référentiel git.

Liens utiles relatifs à cet article:

Discussion (0)2
Connectez-vous ou inscrivez-vous pour continuer