📜 ⬆️ ⬇️

ZENLIX 3.5 - after 2 years



Having started developing the application system since 2013, the history of which is described in previous publications:


We stopped the release of new versions in 2017. This does not mean that we have ceased to accompany the product and develop it. The fact is that in a short period of time, we have large client companies that regularly ordered customization of the main product, due to which virtually all of the project’s resources were transferred to the form of support for large clients.

In compensation, we released ZENLIX 2.95 ( link ) for open access . It is also worth noting that the version on GitHub is a product that has nothing to do with the ZENLIX 3.x version.
')
At a certain point, we began to realize that we were losing other customers. It was necessary to make radical changes in the policy of supporting companies. On the one hand, we were limited by the maintenance contract to the possibility of increasing the budget, on the other hand, we could not afford to increase the number of developers. In the end, fate gave us such a chance.

In January 2019, the contract for the support of one client expired and we reformatted the staff to start a new product breath.

Start of development


For 2 years, most of the frontend modules used (js), as well as the backend (php) are outdated. Therefore, for the introduction of new features and development, it was necessary to prepare a platform so that in the future it was possible to use the most new features and resources, implement a modern UI that meets the needs of consumers.

We started with the backend, namely the upgrade of the framework from Laravel 5.1 to Laravel 5.5 (LTS). There were options for updating the current project, but as shown by the practice of our colleagues, this is a complicated and unjustified process, as a result of which there is a risk of getting bogged down in the refactoring of the code, which in turn would delay the upgrade for long months.

We chose the second option. To do this, we initialized a clean project on Laravel version 5.5 (LTS), then installed all the composer modules (the latest stable versions), including them in the Laravel service files, generated resources and configured them, based on the previous version of ZENLIX. After that, we were engaged in the transfer of Controllers, Models, Migrations, Templates, other parts and business objects. Most of the fundamental methods had to be rewritten. For example, authorization / registration modules (with the possibility of authorization through third-party services), a complete notification system (Mailable queue) and others. It also gave its advantages - we found some problems of notification in the old version and excluded them in the new one. As a result of code migration, as well as the use of Laravel 5.5, the minimum software requirements for PHP have increased: PHP> = 7.0.0. Because of this, we also rewrote some old deprecated functions and implementations.

Officially, we can say that now ZENLIX 3.5 supports PHP 7.3 . The transition to the new version of Laravel 5.5 + PHP 7.3 gave a significant increase in the speed of the application by 64% compared with version 3.x.

We also rewrote and optimized the nodejs microservice code. Now it uses one less module - have excluded express.

We updated the frontend: Jquery 3.4, FontAwesome 5, Trumbowyg 2.15 and other modules.
The coolest thing about this is that we now use webpack.mix.js, and with the release we generate from 20 -> 1 minimized js-file and from 13 -> 1 css-file. It also gave a significant increase in the rendering speed of the client part of the content display.

We have not changed our policy of controlling product openness. No ioncube, etc. All code is still open to our customers. No control, except for the license agreement, which strictly regulates the use of the product within the framework of one subject of organizational activity.



And in the new version we have implemented several convenient features :


The system for creating new users, as well as creating an application (user choice) and many other minor changes, which in general have a very strong effect on the usability of the finished product, has been reworked.

We should also note that we have prepared a ready VM image (vmdk, ovf) with the following software already installed and configured by ZENLIX:


Conclusion


In general, we would like to conclude that by upgrading the product platform to the latest stable version (Laravel 5.5), with full support for PHP 7.3, with a stable product update system (git), we plan to release more frequent stable updates. We have many implementations of interesting and convenient things from other customized projects. Gradually, we will transfer them to ZENLIX. At a minimum, we will make an Android application, a full-fledged API for creating and working with applications, Web-hooks for events and other things.

We will be happy to answer all your questions via email: info@zenlix.com , as well as a telegram .

Source: https://habr.com/ru/post/450464/


All Articles