Migrando da 7.3.0 para 7.4.0
-
Qual atualização devo fazer?
- 1. Atualização do Framework: Esta operação irá atualizar as bibliotecas do núcleo do framework, essencial para ter acesso à novos componentes, bug fixes e melhor performance;
- 2. Atualização de bibliotecas da aplicação: Esta operação irá atualizar bibliotecas específicas utilizadas pela aplicação, como geração de código de barras, documentos, relatórios, e envio de e-mail. Depende da atualização do Framework (1);
- 3. Atualização do Template: Esta operação irá atualizar o Template e seus controles, como cadastros de usuários, grupos, sistemas de permissões, notificação e documentos. Além de ferramentas administrativas como acesso a dados, consultas de logs diversos. Depende da atualização de bibliotecas (2).
Obs: Somente aplique estas instruções, se seu projeto estiver na versão 7.3.0. Caso esteja em uma anterior, faça a migração gradualmente entre versões, não pule versões no processo de migração.
Obs: Em hipótese alguma você deve atualizar o Framework de aplicações em produção e disponibilizar aos usuários finais, sem antes realizar uma intensa bateria de testes. A responsabilidade do funcionamento da aplicação final é de quem a desenvolve e disponibiliza.
-
1. Atualizando o framework: Esta operação irá atualizar as bibliotecas do núcleo do framework:
- Primeiro, faça um backup completo da aplicação. Você deve ter um ponto seguro de retorno caso algo não dê certo.
- Baixe a nova versão do template, ou do framework puro, caso sua aplicação seja baseada nele.
- Atualização das bibliotecas principais do Framework:
- Exclua a pasta /lib - não copie por cima para não manter arquivos antigos.
- Copie a pasta /lib da nova versão.
- Copie app/templates/<tema>/libraries.html a partir da nova versão - mudanças em nomes e caminhos de arquivos.
- Atualização de bibliotecas composer:
- Método simplificado:
- Copie a pasta /vendor da nova versão;
- Copie /composer.* a partir da nova versão;
- Atualização dos arquivos do diretório raíz.
Caso você tenha customizado algum destes, deverá manualmente compatibilizar as modificações utilizando alguma ferramenta de merge
- Copie o arquivo init.php da nova versão.
- Copie o arquivo engine.php da nova versão.
- Copie o arquivo index.php da nova versão.
- Copie o arquivo download.php da nova versão.
- Copie o arquivo composer* da nova versão.
- Copie o arquivo rest.php.dist da nova versão.
- Copie o arquivo rest-secure.php.dist da nova versão.
-
2. Atualizando as bibliotecas da aplicação: Esta operação irá atualizar bibliotecas específicas utilizadas pela aplicação.
Caso você tenha customizado algum destes, deverá manualmente compatibilizar as modificações utilizando alguma ferramenta de merge
- Copie app/config/framework_hashes.php a partir da nova versão.
- Copie app/lib/include/application.js a partir da nova versão (sobrescreva).
- Copie app/lib/include/admin* a partir da nova versão (sobrescreva).
- Copie app/lib/include/menu-editor a partir da nova versão.
- Copie app/lib/html/ a partir da nova versão (sobrescreva).
- Copie app/lib/menu/ a partir da nova versão (sobrescreva).
- Copie app/lib/util/*Mail* a partir da nova versão (sobrescreva).
-
3. Atualizando o Template: Esta operação irá atualizar o Template.
Baixe (template) para realizar os comandos a seguir.
Caso você tenha customizado algum destes, deverá manualmente compatibilizar as modificações utilizando alguma ferramenta de merge
- Copie app/control/admin/ a partir da nova versão.
- Copie app/control/communication/ a partir da nova versão.
- Copie app/control/log/ a partir da nova versão.
- Copie app/control/NotificationList.class.php a partir da nova versão.
- Copie app/control/MessageList.class.php a partir da nova versão.
- Copie app/model/admin/ a partir da nova versão.
- Copie app/model/log/ a partir da nova versão.
- Copie app/resources/system* a partir da nova versão;
- Copie app/templates/themeX/ a partir da nova versão.
- Copie app/service/auth a partir da nova versão.
- Copie app/service/log a partir da nova versão.
- Copie app/service/system a partir da nova versão.
- Adicione em app/lib/util/ApplicationTranslator.class.php os novos termos a partir daqui;
- Compare o arquivo menu.xml com o da nova versão:
Acrescente opções no menu para as classes:
SystemFilesDiff,
SystemInformationView.
- Atualize a base permission. Execute os comandos SQL a partir da linha "--- new programs of 7.4.0" do arquivo permission-update.sql.
- Atualize a base log. Execute os comandos SQL a partir da linha "--- new programs of 7.4.0" do arquivo log-update.sql.
-
Testando a nova versão: Ao testar a nova versão, você precisa tomar alguns cuidados:
Patch 7.4.1 (20/02/2022)
Após o lançamento da 7.4.0, foi liberado o patch 7.4.1, contendo os seguintes fixes:
-
Template 7.4.1 (A maioria dos desenvolvedores cria sistemas baseados no Template, portanto é esta atualização que você deve fazer): Esta correção evita que mensagens apareçam duplicadas dentro de cortinas laterais. Para tal, você deve atualizar os arquivos:
- app/lib/include/admin-all.min.js
- app/lib/include/admin.js
- app/config/framework_hashes.php
-
Framework 7.4.1 (Somente alguns desenvolvedores usam o Framework puro, ou quem está fazendo o curso): Esta correção corrige um bug que impedia cortinas laterais e janelas funcionarem com o Framework puro. Para tal, você deve atualizar os arquivos:
- index.php
- app/lib/include/admin-all.min.js
- app/lib/include/admin.js
- app/templates/theme3/layout.html
- app/templates/theme4/layout.html