| Produto: | |
|---|---|
| Linha de Produto: | |
| Segmento: | |
| Módulo: | |
| Função: | Extrator de Versão - LOG00001 |
| País: | Brasil |
| Ticket: | |
| Requisito/Story/Issue (informe o requisito relacionado) : | DFWKLOGIX-1373 |
Criar nova opção no programa Extrator de Versões de Fontes (LOG00001), para exportar uma lista de fontes identificados em um diretório do disco local, considerando apenas as extensões de arquivos que tenham controle de versionamento no produto Logix (4GL, PRW, PRG, PRX, APL, TLPP). Essa lista não deverá contemplar versionamento de fontes, pois terá como propósito permitir realizar extração de versionamento de uma lista específica de fontes de um RPO (Repositório de Objetos).
Uma aplicação bem comum desta necessidade é agrupar em um diretório uma lista de fontes do produto que façam parte de um projeto ou então de um processo/rotina do produto, como por exemplo:
Essa lista de fontes também poderá vir a ser montada de forma manual se desejar, sendo que o requisito é que o arquivo seja no formato texto e em cada linha do arquivo contemple o nome de um arquivo fonte com sua respectiva extensão, lembrando que apenas as extensões de arquivos que façam parte do RPO do produto Logix e que tenham controle de versionamento serão considerados durante o processamento.

Veja que na nova versão da tela as opções tiveram seus textos penas reformulados para deixar mais claro o propósito de cada ação disponível, mas agora surgiram duas novas opções sendo:

Quando utilizar esta opção?
Você fará uso desta opção, quando tiver ou receber um lista de fontes com o propósito de gerar um extrato de versão com base nessa lista.
Esta opção será mais comum ser solicitada por um analista de atendimento da TOTVS em que existe a necessidade dele identificar as versões atuais em uso no produto Logix de uma determinada lista de fontes, pois o extrato de versão emitido através desta opção pode ser posteriormente utilizado para processar a opção
a partir de um outro ambiente com outra versão de RPO. Mas esta opção pode também ser util em ambientes internos de desenvolvimento onde também exista a mesma necessidade de realizar a comparação de versões com o extrato de versão de um outro RPO.

Quando você precisa avaliar o versionamento atual de uma lista de fontes do produto Logix que estão em uso no RPO do produto, no entanto se torna um pouco inviável informá-los um a um em tela no campo de filtro (Opção 1 da tela) quando essa lista envolver uma quantidade grande de fontes. Essa lista de fontes pode ter relação com um projeto, módulo do produto, processo de negócio, fontes customizados ou até mesmo fontes relacionados a uma liberação de uma melhoria ou retrabalho que tanto a TOTVS como o próprio time de desenvolvimento do cliente TOTVS poderá ter a necessidade de identificar de uma forma mais rápida a versão atual disponivel no produto para essa relação de fontes.
Tenho uma pasta de fontes de um módulo customizado onde armazeno fontes com diversas extensões sendo .per, .4gl, .prw, .txt, .json, .png, entre outras. Quero gerar uma lista com todos os fontes com controle de versão dessa pasta e subspastas existentes, para poder gerar um extrato de versão a partir do LOGIX. Neste caso você pode utilizar esta opção |
Você poderá utilizar essa lista para usar na opção 
Esta opção normalmente é mais utilizada por equipes de desenvolvimento e poderá ser também utlilizada pelos times de atendimento da TOTVS para gerar uma lista de fontes que será enviada aos clientes Logix pra que possam gerar a extração de versão dessa lista e enviá-la novamente para TOTVS para análise de versões de fontes, com propósito de identificar necessidade de alguma atualização.
Os fontes do produto LOGIX que atualmente devem conter uma função interna para garantirem o controle de versionamento são os fontes com as seguintes extensões: .4gl, .prw, .tlpp, .prg, .prx, .apl, sendo as extensões prw, prg, prx e apl desenvolvidas na linguagem ADVPL.
Se você optar em fazer uso do mesmo controle de versionamento de fontes do produto LOGIX, deverá definir no código fonte uma FUNCTION com um determinado padrão de nome e conteúdo conforme exemplificado a seguir.
Nome do fonte: ESP00001.4GL (Desenvolvido na linguagem 4GL)
#-------------------------------------------------------# FUNCTION esp00001_version_info() #-------------------------------------------------------# RETURN "$Archive: esp00001.4gl $|$Revision: 1 $|$Date: 11/07/24 17:19 $|$Modtime: 11/07/24 17:19 $|$BranchId: DFWKLOGIX-1373 $" // Informações do controle de versão de fontes Logix - Não remover esta linha (FRAMEWORK) END FUNCTION |
Nome do fonte: ESP00001.PRW ou ESP00001.TLPP (Desenvolvido na linguagem ADVPL ou TLPP)
#-------------------------------------------------------# FUNCTION esp00001_version_info() #-------------------------------------------------------# RETURN "$Archive: esp00001.prw $|$Revision: 3 $|$Date: 12/07/24 21:19 $|$Modtime: 12/07/24 21:19 $|$BranchId: DFWKLOGIX-1373 $" // Informações do controle de versão de fontes Logix - Não remover esta linha (FRAMEWORK) END FUNCTION |
Veja que o nome da função precisa respeitar o seguinte padrão:
<NOME DO FONTE SEM EXTENSÃO>_version_info()
O sufixo _version_info() é sempre fixo desta forma sem definir parâmetros.
O conteúdo da função tem um retorno no formato texto pré-definido com alguns identificadores que precisam ser respeitados para a correta interpretação do controle de versão composto por:
$Archive: <NOME DO FONTE COM SUA EXTENSÃO> $
Informe o nome do arquivo com sua extensão, ficando opcional informar ou não o caminho de localização do fonte, em caso de armazenamento em ferramentas de repositório de fontes.
$Revision: <NÚMERO SEQUENCIAL DA REVISÃO DO FONTE> $
Número sequencial incremental, que deve ser incrementado a cada nova modificação e liberação do fonte, caso venha a manter um histórico de todas as versões alteradas do código fonte em alguma ferramenta de repositório de fontes, como por exemplo Github, SourceSafe, GitLab, Git-Azure, entre outras.
$Date: <DATA E HORA DA REVISÃO DO FONTE NO FORMATO DD/MM/AA HH:MM> $
Data e hora de liberação da respectiva revisão do fonte no formato dd/mm/aa hh:mm sendo dia (dd), mês (mm), ano (aa), hora (hh) e minutos (mm), sempre usando 2 dígitos numéricos para cada uma das informações de forma a garantir a correta interpretação pelas funções de captura de versionamento de fontes do produto Logix.
$Modtime: <INFORMAÇÃO DESCONTINUADA MAS PODE SER PREENCHIDA COM O MESMO CONTEÚDO DA DATA E HORA DE REVISÃO DO FONTE> $
Esta informação foi descontinuada, mas precisou ser mantida devido a questões de legado do produto Logix. O formato é o mesmo da data e hora de revisão do fonte.
$BranchId: <USO RESERVADO TOTVS PARA INFORMAR NÚMERO DE ISSUE DE LIBERAÇÃO DA REVISÃO DO FONTE> $
A TOTVS preenche atualmente este identificador com o número da ISSUE de desenvolvimento que é, inclusive, documentada nas notas de release dos pacotes LOGIX registrados no portal TDN. Este identificador poderá ser usado por clientes para identificar um código qualquer de controle para identificar a origem da necessidade de alteração do fonte que gerou esta revisão, como por exemplo, o número de uma ordem de serviço, número de ticket ou outro código de controle interno. Se não houver interesse em utilizar esta informação, pode deixar seu conteúdo em branco, pois não irá impactar no produto.
|
Veja que nos exemplos acima é permitido informar mais de um filtro desde que, entre um filtro e outro, seja informado um ponto e vírgula ( ; ).
Também é possível não informar nenhum filtro, de modo que a lista será criada com base em todos os objetos que tiverem controle de versão, mas isso poderá demorar um pouco para processar e neste caso será apresentado um aviso ao usuário e obterá a confirmação do usuário para continuar o processamento.
04. DEMAIS INFORMAÇÕES