Agiliway Carries Out Gradual Migration from TYPO3 to Laravel
Any type of website migration is considered a particularly challenging and stressful endeavor that may result in substantial temporary or even permanent traffic loss. This is why, it is important to approach migration very carefully, with a well-though strategy and ample time for testing the performance of the newly launched version. This is how Agiliway has approached the migration from TYPO3 CMS to Laravel PHP framework, which we have successfully executed for one of our established clients.
Although the migration often happens because the website owners regret their initial choice, this is not the case in this project, as the migration from TYPO3 to a framework was planned from the very beginning.
What was the reason to choose the technology, which will sooner or later trigger the need to migrate anyway? The reason was that the client wished to create a very powerful platforms with a wealth of complex features, the development of which required much time and resources. As the product was new and the business idea of the client had not been tested so far, it was too risky to make such heavy investments at that point. Therefore, a TYPO3 CMS was chosen for the development of a minimum viable product (MVP) with core features, which will allow to test the product and analyze the feedback of the market.
Soon, the business idea of the platform — assisting businesses in choosing IT products by analyzing all their characteristics and requirements and calculating ROI for each option — proved a success. Thus, the need to migrate to a framework and add more complex logic and features to the platform appeared.
There were a number of features, which had to complement the existing functionality, but could not be effectively accomplished with the help of TYPO3. In particular:
- Neural network search. The neural network search, which performance relies on big data and machine learning algorithms, had to facilitate the choice for the client;
- AI support bot. The bot did not only have to lead the customers through the predefined tunnel, but also use AI to educate itself towards better performance;
- Complex logic for calculating cost and ROI considering various parameters and relations between various entities;
- Multiple languages. Although TYPO3 supports multilingual websites, localization on the product is much more convenient on the framework. Thus, when the client expressed the wish to localize the product to more than two languages, it was decided to perform this step after the product migrates.
In addition to the need to develop new complex functionality, there was a need to develop this functionality in a short run ensuring the uninterrupted work of the existing solution. Such demand was due to the wish to avoid traffic and customers loss, which was inevitable if the website was to be placed on maintenance for a longer time.
It was decided that from TYPO3, the website will migrate to Laravel PHP framework. This framework was chosen as a quality, flexible and reliable solution that will allow the platform to grow in power and functionality. Moreover, the system Laravel Admin & BREAD, which was used for the project, had a variety of libraries addressing project needs, such as:
- Laravel API Documentation Generator automatically creating documentation for the Laravel routes when new microservices are added;
- Laravel Debugbar facilitating errors detection for all current Routes, queries and events;
- Laravel IDE Helper allowing autocompletion and having the files up-to-date;
- Laravel Entrust helping to manage roles and permissions;
- Laravel Extended Generators improving website speed and user experience.
- Laravel Translatable facilitating localization of the product;
To act upon the requirement not to interrupt the website’s work and to develop new features as soon as possible, Agiliway carried out a migration following a very well-thought strategy. It included the following steps:
- Installation of Laravel on the base as a separate folder. Such solution allowed Laravel access all existing classes and codes;
- Development of new functionality. New functionality has been developed and launched on Laravel.
- Creation of routes between TYPO3 and Laravel. According to the created logic, the request is directed from TYPO3 to Laravel each time the system does not respond.
In particular, after authorization, which takes place on the side of TYPO3, the request goes to the server where both TYPO3 and Laravel are installed. If the request relates to the older feature, which has not yet been rewritten on Laravel, TYPO3 responds. If the request is for the new feature written on Laravel or an older feature, which has already been rewritten on the framework, the request is directed to Laravel via the route.
- Rewriting core functionality. After the new functionality developed on Laravel has been enabled, time has come to rewrite all the core functionality, which is done gradually and in the background.
First, the well-though migration strategy developed by Agiliway allowed developers to concentrate on the development of the anticipated new features and, thus, deliver them in a relatively short term. Overall, TYPO3 CMS to Laravel PHP framework migration has allowed the platform to move beyond the MVP status and set good prerequisites for growth by
- improving the system’s architecture;
- enabling transition to microservices connected with the help of APIs;
- allowing the system to develop rapidly with the help of various technologies and programming languages;
- making the system scalable, reusable and easily integrated with their-party services.
Although website migration is something that both website owners and developers fear, we are glad to show you it can be accomplished without complications. What is more, in many cases, migration can enhance website performance and, thus, drive business results. The key to success is to pursue a good strategy and to engage a reliable partner.
Originally published at agiliway.com.