Backlogs de desenvolvimento com o Magic xpa – Blog Magic Brasil
22/06/2021 03/09/2021 Manoel Frederico Silva Nenhum Comentário
Veja como produzir e analisar backlogs dos sistemas Magic xpa.
Produzir relatórios do "código fonte" dos sistemas é uma ação normal e recorrente nas equipes de desenvolvimento. Muitas vezes divididas em diferentes times.
A empresa (organização) pode ter uma equipe dedicada de "QA" (Controle de Qualidade) que analisa o atual status do código fonte e cruza-o com as especificações formais, para determinar quais os próximos passos a serem seguidos para sanar possíveis inconformidades, e de quem são as responsabilidades.
Por exemplo, um lista de erros, alertas ou recomendações após uma sequência de "compilação" ou "checagem de sintaxe" pode ter alguns itens que são de responsabilidade dos "programadores", enquanto outros são dos "analistas".
Especialmente em estruturas maiores, com múltiplas pessoas até fisicamente separadas, em que alguns trabalham em determinados módulos somente, faz-se necessário ter um processo de checagem do sistema como "um todo".
E o Magic xpa permite-nos fazer isso de forma automatizada quando necessário.
Automatic Sequence Processing
Antes de tudo, vamos conhecer um recurso do Studio Magic xpa, que não é exclusivo para isso, mas é fundamental para esta automação.
"Automatic Sequence Processing" é um recurso até antigo do produto, e permite automatizar tarefas do Studio que normalmente seriam realizadas através da interação de um desenvolvedor.
Consiste em ter um arquivo texto (TXT) com uma sequência de comandos (em linhas separadas) que devem ser executados (na ordem) pelo Studio.
Este arquivo de "instruções" deve ser informado no MAGIC.INI, na chave:
AutomaticProcessingSequenceFile=<nome completo do arquivo>
Ao abrir o Studio com esta instrução especial, ele (Studio) automaticamente começa a executar os comandos ali definidos (neste arquivo).
Por padrão, a tela do Studio é aberta e todas as ações podem ser "visualmente" acompanhadas. Se contudo quisermos as ações todas 100% em 'background' (sem telas), basta adicionar esta outra configuração ao MAGIC.INI:
AutomaticProcessingMode=B
e tudo é feito em segundo plano.
Obviamente, essas configurações também podem ser passadas diretamente pela linha de comando:
MgxpaStudio.EXE /[MAGIC_ENV]AutomaticProcessingMode=B /[MAGIC_ENV]AutomaticProcessingSequenceFile=<nome completo do arquivo>
E claro, podemos ter isso tudo num script (.CMD) agendado no SO para execução recorrente.
Por exemplo: podemos agendar no Windows (Task Scheduler) um script para ativação do Studio Magic xpa todos os dias às 02h da manhã para executar determinadas rotinas.
Existe uma lista de comandos possíveis (ver aqui) que podem ser informados no AutomaticProcessingSequenceFile. Alguns deles:
Project = Define qual projeto deve ser automaticamente aberto pelo Studio.
Ecf = Define que o cabinet do projeto deve automaticamente ser gerado, e gravado com um nome específico.
Então, se começarmos a ligar os pontos, podemos ter um script (.CMD) agendado para executar todos os dias e, horário pré-determinado, que abre um projeto "X" e gera seu cabinet (.ECF) atualizado.
Voltando ao Backlog
Agora que conhecemos um pouco sobre este recurso do Studio Magic xpa (Automatic Sequence Processing), na versão 4.7.2 do produto (lançada em Junho/2021) há um novo comando disponível para ele: o Check.
Com este comando, podemos automatizar todas as checagens de sintaxe (Checker – ALT+F8) de repositórios de um projeto Magic xpa.
Imaginemos, para fins de exemplificação, que temos um projeto chamado "GettingStarted", na pasta "D:\Magic472\Projects\GT".
E que ao realizarmos o 'check' normal do Studio, ele produz um resultado semelhante a este:
Esta foi uma ação interativa e isolada, do desenvolvedor.
Para automatizar esta tarefa, podemos então criar um arquivo texto (D:\Magic472\Projects\GT\GettingStartedCmds.TXT) com esta sequência de comandos (linhas):
Project, D:\Magic472\Projects\GT\GettingStarted.edp
Check, D:\Magic472\Projects\GT\GettingStartedPROGS.JSon, Repository=P DeleteUnusedExp=N
Check, D:\Magic472\Projects\GT\GettingStartedMODELS.JSon, Repository=M DeleteUnusedExp=N
Check, D:\Magic472\Projects\GT\GettingStartedDSOURCES.JSon, Repository=T DeleteUnusedExp=N
Check, D:\Magic472\Projects\GT\GettingStartedMENUS.JSon, Repository=M DeleteUnusedExp=N
e invocarmos o Studio Magic xpa desta forma:
MgxpaStudio.EXE /[MAGIC_ENV]AutomaticProcessingMode=B /[MAGIC_ENV]AutomaticProcessingSequenceFile=D:\\Magic472\\Projects\\GT\\GettingStartedCmds.TXT
Isso vai produzir 4 arquivos JSon, cada um com o resultado do 'F8' de um repositório específico: Programas, Modelos, Data Sources e Menus.
Arquivos semelhantes a este:
Não são legíveis por nós, mas completando o novo comando 'Check', o Studio Magic xpa traz também a partir da versão 4.7.2 uma nova opção em seu menu chamada: Load Background Checker Results.
Esta opção carrega os arquivos JSon gerados da maneira acima, e exibe os seus resultados na tela:
Agora, juntando tudo: podemos ter um script agendado que abre projetos Magic xpa todos os dias em horários pré-definidos e verifica sua consistência (Checker – ALT+F8), produzindo arquivos com estes resultados que podem posteriormente ser analisados, no dia seguinte por exemplo, pela respectiva equipe encarregada dessas avaliações.