
Tendo iniciado o desenvolvimento do sistema de aplicativos, desde 2013, cujo histórico é descrito em publicações anteriores:
paramos o lançamento de novas versões em 2017. Isso não significa que deixamos de acompanhar e desenvolver o produto. O fato é que, em um curto período de tempo, temos grandes empresas clientes que solicitam regularmente a personalização do produto principal, motivo pelo qual praticamente todos os recursos do projeto passaram a ser a forma de oferecer suporte a grandes clientes.
Em compensação,
lançamos o ZENLIX 2.95 (
link )
disponível ao público . Vale ressaltar que a versão no GitHub é um produto que não tem nada a ver com a versão do ZENLIX 3.x.
Em algum momento, começamos a perceber que estávamos perdendo o resto de nossos clientes. Era necessário fazer mudanças radicais nas políticas de suporte da empresa. Por um lado, estávamos limitados pelo acordo de escolta com a possibilidade de aumentar o orçamento, por outro lado, não podíamos dar ao luxo de aumentar a equipe de desenvolvedores. Como resultado, o destino nos deu essa chance.
Em janeiro de 2019, um contrato de suporte ao cliente expirou e reformatamos a equipe para iniciar uma nova inspiração do produto.
Início do desenvolvimento
Por 2 anos, a maioria dos módulos de front-end (js) usados e o back-end (php) estão desatualizados. Portanto, para a introdução de novos recursos e desenvolvimento, foi necessário preparar a plataforma para que, no futuro, fosse possível usar as últimas oportunidades e recursos, implementar uma interface moderna que atendesse às necessidades dos consumidores.
Começamos com o back-end, ou seja, a atualização do framework do Laravel 5.1 para o Laravel 5.5 (LTS). Havia opções para atualizar o projeto atual, mas, como demonstrou a prática de nossos colegas, esse é um processo complexo e injustificado, como resultado do risco de ficar atolado na refatoração de código, o que, por sua vez, atrasaria a atualização por muitos meses.
Nós escolhemos a segunda opção. Para isso, inicializamos um projeto limpo no Laravel 5.5 (LTS) e instalamos todos os módulos do compositor (as últimas versões estáveis), incluindo-os nos arquivos de serviço do Laravel, geramos recursos e os configuramos com base na versão anterior do ZENLIX. Depois disso, assumimos a transferência de controladores, modelos, migrações, modelos, outras peças e objetos de negócios. A maioria dos métodos fundamentais teve que ser reescrita. Por exemplo, módulos de autorização / registro (com a possibilidade de autorização por meio de serviços de terceiros), um sistema de notificação completo (fila disponível) e outros. Ele também deu suas vantagens - encontramos alguns problemas de notificação na versão antiga e os excluímos na nova. Como resultado da portabilidade de código, bem como do uso do Laravel 5.5, os requisitos mínimos de software para o PHP aumentaram: PHP> = 7.0.0. Por esse motivo, também reescrevemos algumas funções e implementações obsoletas.
Podemos dizer oficialmente que agora o ZENLIX 3.5
suporta o PHP 7.3 . A transição para a nova versão do Laravel 5.5 + PHP 7.3 deu um aumento significativo na velocidade do aplicativo em 64% em comparação com a versão 3.x.
Também reescrevemos e otimizamos o código do microservice nodejs. Agora ele usa menos um módulo - express é excluído.
Atualizamos o frontend: Jquery 3.4, FontAwesome 5, Trumbowyg 2.15 e outros módulos.
O mais interessante é que agora usamos o webpack.mix.js e, após o lançamento, geramos um arquivo js minimizado de 20 -> 1 e um arquivo css de 13 -> 1. Também deu um aumento significativo na velocidade de renderização da parte do cliente da exibição do conteúdo.
Não alteramos nossa política de controle de abertura de produtos. Sem ioncube, etc. Todo o código ainda está aberto para nossos clientes. Não há outro controle que não seja um contrato de licença, que regule estritamente o uso do produto dentro da estrutura de um assunto da atividade organizacional.

E na nova versão, implementamos
vários recursos convenientes :
- Capacidade de desativar itens de menu, bem como suas funcionalidades.
Agora, o administrador pode desativar os módulos para todos: Usuários, Grupos, Mensagens, Centro de Conhecimento, Calendário, Relatórios.
- O sistema de atualização e o repositório de instalação continuaram sendo um gargalo. Queríamos que o administrador pudesse escolher o que atualizá-lo, apesar de suas alterações no código local. Como resultado, usando a experiência de apoiar nossas grandes empresas, implementamos isso em um servidor GitLab. Ao comprar um produto, o cliente recebe acesso somente leitura ao repositório git. O shell dos comandos do console do ZENLIX torna o processo mais fácil e conveniente do que usar o git pull. Mas isso não proíbe o uso deste último para mesclagem. O sistema de atualização do produto agora funciona apenas no console (php artisan zenlix: update). Através da web, o administrador ainda pode procurar uma nova versão, além de ler as informações / instruções na liberação / atualização. Ao iniciar o comando do console, o administrador coloca o sistema em status de serviço e o processo de atualização é iniciado.
- Sistema de instalação do console, agora como o principal tipo de instalação do produto. (php artisan zenlix: install) permite usar o nome de usuário / senha para obter a versão do ZENLIX, bem como fazer a configuração básica. Na maioria dos casos, essa equipe é necessária para nossos especialistas técnicos que fazem uma instalação remota e gratuita do produto.
O sistema para criar novos usuários, bem como para criar um aplicativo (escolha do usuário) e muitas outras pequenas alterações, que geralmente afetam muito a usabilidade do produto acabado, foram refeitas.
Separadamente, vale ressaltar que preparamos uma imagem de VM pronta (vmdk, ovf) com o seguinte software, já com o ZENLIX instalado e configurado:
- Ubuntu 18.04.2 LTS
- Nginx v1.14.0
- PHP v7.2.17-0
- MySQL v5.7.26-0
- Nó v8.10.0
- Supervisord v3.3.1
- Redis v5.0.4
- ZENLIX v3.5
Conclusão
Em geral, gostaríamos de concluir que, tendo atualizado a plataforma do produto para a versão estável mais recente (Laravel 5.5), suporte completo ao PHP 7.3, possuindo um sistema de atualização de produto estável (git), planejamos lançar atualizações estáveis mais frequentes. Temos muitas implementações de coisas interessantes e convenientes de outros projetos personalizados. Gradualmente, nós os transferiremos para o ZENLIX. No mínimo, criaremos um aplicativo Android, uma API completa para criar e trabalhar com solicitações, ganchos da Web para eventos e outras coisas.
Teremos o maior prazer em responder a todas as suas perguntas pelo e-mail:
info@zenlix.com , bem como pelo
telegrama .