Migrando da versão 16.1.8 para a versão 17.0.9

Uma das maiores preocupações ao implementar novas versões do MenuFlex é a de tornar o processo de migração para os desenvolvedores que estiverem usando a versão anterior do MenuFlex o mais simples possível. Abaixo seguem os detalhes do processo de migração.

Atenção: os passos descritos aqui pressupõem que a versão atual é a 16.1.8 do MenuFlex. Se a versão atual for a 14.0.7 primeiro é necessário executar os passos de migração para a versão 16.1.8 conforme descrito no tópico "Migrando para a versão 16.1.8" para depois migrar para a versão 17.0.9.

Pré-requisitos

Para que a migração da versão 16.1.8 para a versão 17.0.9 ocorra sem problemas os seguintes pré-requisitos devem ser observados:

  • O desenvolvedor não pode ter alterado nenhuma das tabelas que fazem parte do MenuFlex
  • O desenvolvedor não pode ter alterado nenhum pacote integrante do MenuFlex, incluindo os dicionários de dados das tabelas do MenuFlex, que serão substituídos pelos dicionários de dados da nova versão. 
  • A Workspace deve estar na mesma versão do VDF que a Library do MenuFlex que será usada. Portanto faça primeiro a migração da sua Workspace para a versão do VDF correta antes de continuar. 
  • A não observação dos pré-requisitos acima pode provocar problemas no processo de migração e o desenvolvedor terá de corrigi-los por conta própria.

Backup

Antes de iniciar o processo de migração na área de desenvolvimento é recomendado fazer um backup de todas as Workspaces e Libraries que serão migradas.

Antes de iniciar o processo de atualização na área de produção é recomendado fazer um backup da base de dados e dos programas compilados. 

Migração passo-a-passo

Removendo a Library antiga e acrecentando a Library nova

Primeiramente é necessário remover a Library da versão 16.1.8 e acrecentar a Library da versão 17.0.9 de acordo com os seguites passos:

  • Acessar "Tools > Maintain Libraries";
  • Remover a Library do MenuFlex "antiga";
  • Acrecentar a Library da versão 17.0.9 localizando o arquivo .SWS da nova versão.

Executando o programa de atualização

A Library do MenuFlex possui um projeto criado especialmente para atualizar a estrutura das tabelas do MenuFlex 16.1.8 para a versão 17.0.9. Para executar este programa nenhuma tabela pode estar aberta, pois o programa abrirá as tabelas em modo exclusivo. É necessário executar este programa na área de desenvolvimento e na área de produção.

Adicionar o projeto na Workspace clicando em "Project > Add Project" e localizar o arquivo AtualizaTabelas17_0_9.src que está no diretório MenuFlexLibraryAppSrcMenuFlex_Library_ProjetosAtualizacao. Não é necessário copiar este arquivo para o diretório AppSrc da Workspace.

Atenção: Este processo pode demorar bastante se a quantidade de registros nas tabelas que serão reestruturadas for muito grande. Recomenda-se que a execução do programa de atualização seja feita na máquina onde está a base de dados e não em uma máquina qualquer na rede.

Atualizando os arquivos FD

Após executar o programa de atualização abrir o Database Builder e gerar os arquivos .FD de todas as tabelas da workspace. 

Copiando os dicionários de dados

Uma vez que as tabelas já estão atualizadas, a próxima etapa é copiar os arquivos .DD. A partir do diretório DDSrc da NovaWorkspace, copiar todos os arquivos .DD para o diretório DDSrc da Workspace.

Após copiar os arquivos, executar a opção "Tools > Data Dictionary Maintenance > Rebuild DD List..." para reconstruir a lista de DD’s e adicionar o DD’s das novas tabelas do MenuFlex automaticamente. 

Acrescentando arquivos de imagem no executável

A partir do menu principal do Studio escolher a opção “Project > Project Properties”, pressionar então o botão “Scan for images”, escolher “Sim” e aguardar o Studio fazer a varredura nos arquivos para criar a lista de ícones e bitmaps usados no projeto.

Copiando arquivos de imagem

Devido a uma limitação da classe cCJGrid (original do VDF e não do MenuFlex), algumas imagens não são exibidas se forem adicionadas no .exe. Por isso é necessário copiar essas imagens para o ambiente de desenvolvimento e de produção. As imagens a serem copiadas são:

  • MensagemLida.bmp 
  • MensagemNaoLida.bmp 

Incluindo nova View na ClientArea

Uma nova View foi criada nesta versão do MenuFlex, e por isso é necessário adicioná-la na ClientArea da sua aplicação:

Use MenuFlex_Library_ViewsTabelaID.vw 

Cadastrando as novas telas no menu

Após a execução dos passos acima a Workspace estará pronta para ser compilada e testada com a nova versão do MenuFlex.

A última etapa necessária para completar a migração é cadastrar as novas telas que foram criadas. Na imagem abaixo vemos destacadas as novas opções adicionadas no MenuFlex 16.1.8:

Novas entradas no Menu

A seguir estão as informações necessárias para cadastrar estes itens. Basta cadadstrá-los na posição que achar mais conveniente para a aplicação. 

A primeira coluna mostra o campo código, que será gerado automaticamente no momento da gravação. A segunda coluna é o código do módulo, que pode ser 0 (zero) se for desejado que a opção apareça em todos os módulos. A quarta coluna é o nome de exibição. A quinta coluna deve ser deixada em branco. A sexta e a sétima coluna devem ser preenchidas com "VW" e a última coluna é o nome de ativação do objeto.

Identificadores de registros:

Cadastro de logs arquivados