LIB-9786 | Melhoria | Implementado na LIB o controle de versões especiais. A regra de negócio se desenvolverá da seguinte forma:
1) No Updater, ao configurar o projeto para trabalhar com versões especiais no Updater, e definir as versões no novo formato (concatenando o 2º e 3º grupos da numeração da versão, reservando o 4º para o especial), a LIB fará a cópia do EXE do especial para a pasta do executável, renomeando o EXE atual (que será excluído após o primeiro encerramento do sistema).
2) Para os sistemas, poderá se optar por subir um instalador ou apenas o EXE do mesmo para o Updater. Para módulos, sempre será necessário subir o AMD.
3) A versão especial também será submetida às regras de acesso na pasta do executável (em arquivos de programas) e acessos do usuário no Windows, caso este não seja administrador. Estes controles ficarão no componente do Core (ALTL-2143).
4) Os controles de identificação da versão especial, download e cópia do arquivo ficarão no componente do Updater (ALTL-2140), sem prejuízo do controle de versão que já existe hoje. Porém, as versões correntes precisarão ficar no formato novo.
5) A LIB formatará a numeração da versão (vista no login, splash e cabeçalho da tela do sistema) e registrará na tabela de configuração dos sistemas (<schema>.<sistema>) um novo registro com os fields name como <SISTEMA>, section como "Versao", ident como "VersaoEspecial" e value atribuindo o número da versão especial (900 ou superior), de forma que agora a versão será composta pelos registros UltimaVersao, UltimaVersaoDoRelease e VersaoEspecial.
6) A LIB controlará a versão especial do módulo através de um field "versao_especial" na tabela <schema>.modulo_detalhe.
Para os programadores:
Os EXEs especiais precisarão de uma nova chave contendo a versão especial, a fim de serem identificados como tal, e então ser feito o upload para o Updater.
No fonte do executável, ir em propriedades, no item "Version Info", criar uma chave de nome "VersaoEspecial" e informar apenas a numeração do bloco de identificação de especial, ou seja, se não for especial ficar como "000", se for especial ficar com "900" ou superior, segundo o número do especial a ser liberado. Lembrando que esta chave precisa ser criada nos targets utilizados (debug e release). | LIB DIAMOND |