Artigo
· 5 hr atrás 6min de leitura

Integração com Git para o Iniciante Absoluto: Boas Práticas de Controle de Origem com o IRIS através do VSCode

Sumário

  1. Introdução
  2. Controle de Versão
  3. Exportando Classes
  4. Exportando Classes de BI Analytics
  5. Exportando Globals

Introdução

Neste artigo, cobriremos um início rápido para o desenvolvimento com Git na Comunidade de Desenvolvedores InterSystems e as práticas de controle de versão ao trabalhar com IRIS InterSystems. Abordaremos cenários em que precisamos exportar classes de Interoperabilidade, globals e elementos de analytics, como cubos e dashboards. Esses cenários englobam as principais práticas de controle de versão com o IRIS.

Para começar, você precisará:

  1. Registrar-se e fazer login no GitHub
  2. Ser um membro da organização intersystems-community no Git.

Começar com o IRIS InterSystems é muito simples!

O controle de versão com IRIS não é fundamentalmente diferente de qualquer outro projeto. Fazemos alterações nos arquivos e as enviamos (commit) para o repositório. Com o IRIS InterSystems, as alterações feitas dentro do IRIS não são exportadas para o sistema de arquivos externo automaticamente; precisamos de ferramentas especializadas para isso.

Vamos começar criando um repositório e enviando seu código para ele.

Acesse github.com e crie um repositório vazio. Você será solicitado a nomeá-lo, selecionar as configurações de privacidade e usar o template intersystems-community/iris-interoperability-template (isso é possível se você fizer parte da organização InterSystems Community).

Este template contém tudo o que você precisa para começar rapidamente com o IRIS e seus sistemas centrais: classes de interoperabilidade, globals e classes de dados para trabalhar com analytics.

Após preencher os campos, clique em Create repository.

 

Pronto! Agora temos um repositório. Em seguida, basta cloná-lo em seu disco rígido, construir um container Docker com a imagem do IRIS e começar a codar.

Clone o repositório nos seus arquivos.

.Abra o Visual Studio Code, navegue até o diretório e execute os comandos para construir o projeto:

Em seguida, construímos (build) o projeto:

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

E, em seguida:

docker compose up -d

A instalação e o lançamento do seu projeto estão concluídos

Controle de Versão

Para enviar as alterações do seu projeto ao repositório, você precisa retirá-las do container e colocá-las no diretório de trabalho. Para rastrear alterações no IRIS, use o aplicativo git-source-control Ele permite monitorar o estado dos arquivos dentro do sistema de arquivos do IRIS sem configuração adicional e checar a cada mudança.

Nosso template já possui o pacote git-source-control pré-instalado, então podemos ver como funciona e focar no controle de versão. O pacote está no arquivo iris.cls. Note as seguintes linhas:

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


A primeira linha instala o aplicativo a partir do Gerenciador de Pacotes InterSystems (InterSystems Package Manager) ou IMP (ex: ZPM). A segunda linha define a classe do aplicativo git-source-control: "SourceControl.Git.Extension" como um argumento para a classe de sistema %Studio.SourceControl.Interface, o que permite que o VSCode se comunique com a classe de controle de origem. Esta configuração é feita ao construir o contêiner no Dockerfile ou installer.cls, ou, neste caso, no iris.cls.

Exportando classes.

Agora vamos tentar fazer algumas alterações em nosso código e ver o que acontece. Criaremos um cubo de dados para uma das tabelas fornecidas neste template. Para fazer isso, habilite o analytics para o namespace atual executando o seguinte comando no console:

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

Depois disso, acessamos o endereço Management Portal -> Analytics -> Architect e veremos esta janela:

 

Clique em New (Novo) e preencha os campos no formulário para criar um novo cubo. Para o nosso cubo, usaremos o modelo de dados dc.Demo.PostMessages.

 

Este é aproximadamente o resultado que você deve obter:

 

Em seguida, salvamos e compilamos o novo cubo.

 
Vamos voltar ao VSCode e ver o que mudou.

O novo cubo é carregado para o sistema de arquivos exatamente como o criamos! É simples assim. A seguir, modificaremos uma das classes de produção de negócio.

Acesse o IRIS e navegue até Management Portal -> Interoperability -> Configure -> Production. Lá, veremos o processo de negócio dc.Demo.RedditService em execução.

Vamos fazer uma alteração na definição da classe dc.Demo.RedditService e atribuir a ela uma categoria. Em seguida, clique em Apply (Aplicar).

 
Voltamos ao VSCode e vemos que a classe do processo de negócio já foi carregada para o nosso sistema de arquivos e contém todas as alterações feitas



 

Agora, tudo o que temos que fazer é colocar as classes nos diretórios apropriados e enviá-las (commit) para o repositório.

Exportando classes de BI Analytics

A seguir, veremos outro método para exportar arquivos usando elementos de análise de negócios (business analytics) como exemplo. Lembre-se do cubo de dados que criamos com base nas mensagens do Reddit. Vamos criar um pivot e um dashboard para visualizar os dados e tentar exportá-los .Para fazer isso, acesse o IRIS e navegue até Analytics -> Analyzer. Aqui, temos o cubo de dados RedditMessages selecionado e a medida básica Count.

Arraste a medida para o campo Measures e salve o pivot resultante como Reddit Messages Amount.

 
Em seguida, vamos criar um dashboard para exibir o pivot resultante. Vá para Management Portal -> User Portal. Na janela que se abre, clique no sinal de mais (+) e selecione Add Dashboard.

 
Preencha o nome do dashboard e clique em OK.

 

Em seguida, adicione o widget criado anteriormente ao dashboard e clique em OK.

 

Pronto! Muito simples. Começamos a desenvolver o analytics. Agora precisamos exportar esses elementos. Infelizmente, a versão atual do IRIS e do Git-Source-Control não permite rastrear alterações em classes de analytics automaticamente, mas temos outra ferramenta conveniente para essa tarefa.

Usaremos o iris-bi-utils. Este é um conjunto de utilitários para exportar ou importar quaisquer classes do IRIS para o seu sistema de arquivos. A principal diferença em relação ao Git-Source-Control é que este último rastreia automaticamente as alterações das classes, enquanto o iris-bi-utils exporta as classes manualmente. Usando o aplicativo iris-bi-utils, você pode baixar quaisquer classes e elementos contidos no IRIS.

Então, vamos começar instalando o iris-bi-utils no seu IRIS.

Execute o comando no console:

zpm "install iris-bi-utils"

 

Em seguida, executamos o comando para definir o diretório raiz do projeto para armazenar os objetos:
​​

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

Os comandos a seguir exportam o pivot e o dashboard desejados. Observe a sintaxe da classe exportada. O nome do elemento deve ser seguido por sua categoria e tipo: .pivot.DFI para o pivot e .dashboard.DFI para o dashboard.

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

Os arquivos serão exportados para o diretório /dfi. É aqui que as classes de bi analytics são armazenadas.

Nós também as colocamos no diretório apropriado e enviamos as alterações para o repositório.

Exportando globals.

Como regra, não precisamos enviar globals para o repositório durante o desenvolvimento. Muitas vezes, dados sensíveis são armazenados lá, ou o tamanho do global é grande demais. No entanto, se necessário, eles sempre podem ser exportados para um sistema de arquivos externo e enviados ao Git usando este método da classe %Library.Global:

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

Isso também pode ser feito através do Portal de Administração. Para isso, vá em Management Portal -> System Explorer -> Globals. Selecione o global desejado e clique em Export. A interface possui uma função de busca conveniente. A exportação é possível para o sistema de arquivos ou para o navegador.
Ao ser exportado, o global pode ser codificado usando diversas variantes das mais comuns.


 
 

Isso é tudo! Neste artigo, criamos um repositório, vimos maneiras de exportar classes de negócio, analytics e globals, e enviamos as alterações para o repositório Git.

Links úteis para este artigo:

Discussão (0)1
Entre ou crie uma conta para continuar