After a lot of thought and discussions, we finally decided to make our Admin UI available to the public. It should serve as a smoother migration path to the new eZ Platform era for many existing eZ Publish projects.
To learn the whole story about the Admin UI and why we implemented it, please check the blog post I wrote earlier this year. I recommend reading that one first in order to better understand the context.
In short, Netgen Admin UI is a natural continuation of the old eZ administration, with the difference that it’s running its crucial parts on Symfony. This enables you to run old eZ legacy modules and new Symfony-based controllers side by side in the same back office. What you could only do on the front side of your eZ site before, you can do on the back office side with Admin UI now as well.
Why is this significant? In many existing eZ Publish projects there is still a lot of legacy code, back office included. It might be too big of a task to migrate everything to the new stack, so those projects would get stuck on the eZ Publish 5.4 version with the complete back office still running legacy. Waiting for all existing core features and community extension to get migrated to the new stack might take time as well. It is inevitable that after some time the client will start considering alternative CMSes.
How can Netgen Admin UI help your project?
To avoid that situation and give the community and clients a way to migrate the features step by step, we recommend Netgen Admin UI for projects with legacy features that still need to be migrated to the new stack as well as for projects where the new eZ stack doesn’t cover all the needed features that exist in legacy.
Just to give you some examples of all that works at the same time in Netgen Admin UI:
- All core eZ Publish legacy features (we have used it for a year and a half and haven’t encountered any serious problems)
- Some legacy extension that we frequently use (eZ Tags, List by Classes, CIE Export, several datatypes, etc.)
- Tags Bundle management interface recently migrated to new stack
- Our Symfony-based Netgen Layouts solution
- Complete Sylius e-commerce administration interface integrated (based on our eZ Platform and Sylius integration)
Besides that, we also decided to revamp the interface and tried to make it more intuitive and less busy, and use the screen real estate on different breakpoints more effectively. Nothing too fancy, but much more in-line with the current user expectations.
Why are we releasing it to the public now?
We were struggling with what to do with this for quite some time. One of the reasons we haven’t made it publicly available so far was that the Admin UI is very different from the current Platform UI v1, architecture-wise. Refactoring the existing back office features and adding new ones to both interfaces is very cumbersome. It didn’t make sense to give an option which would prove to be a dead end.
That situation started to change earlier this year when eZ decided to refactor Platform UI and make it closer to the standard Symfony architecture. This move promised to make the development for both interfaces easier. More news about this will be presented in London at the eZ Conference.
After discussing the value that Netgen Admin UI brings to this situation with the eZ Systems product management and many community members, we all agreed that the Admin UI could be a viable migration path for all existing projects that might still have custom legacy code exposed in the backend. In those cases, Admin UI can enable ongoing refactoring while still using old features. The main idea is that the refactored features and new features we are now writing and using with Admin UI will be very easy to migrate to Platform UI v2 eventually since both should be implemented simply as Symfony apps.
How you can support us, financially or otherwise
We spent hundreds of hours on making Admin UI and we will spend even more in the future. When talking to the other community members about this, many of them were eager to support us in making the code public.
Besides our 2 main partners, Keyteq and Prime, who also support us on other initiatives besides this one, we have received financial donations or pledges from other companies as well: CJW Network (Coolscreen, JAC Systeme, Webmanufaktur), Conversa, Mugo, infolox, Microblau, Novitell, etc. The amounts vary from €500 to €3000.
In case you would like to donate as well, feel free to contact us. Naturally, all donations will be listed in the Admin UI repo to express our gratitude for supporting the initiative.
If you think you can support us in any other way, let us know! What is important is that you try the UI out and give us your feedback – that is a good start. :)
Installation and usage
However, in this post I would like you to check if the Admin UI can be useful to your projects. Here is a list of several possible situations in which your projects currently are:
- If you are still on eZ 5 or older, whatever older eZ Publish version you have, you need to upgrade it to the newest. As for the community version, you need to be on our variant 2014.12 and as for the enterprise version, go for the latest 5.4.*. You also need to have the installation running in hybrid mode, not pointing the web root to the legacy kernel only. Remember that Admin UI is a Symfony-based solution, and thus requires the new eZ kernel based on Symfony to run.
- If you are on the recent 5.4 versions or the 2014.12 variant, installing Admin UI should be trivial. For 2014.12 projects we highly recommend upgrading to the latest eZ Platform + legacy bridge setup. There is no reason whatsoever not to do it. The legacy bridge should not be difficult to install.
For the Enterprise users who are on the 5.4 version a similar path to the newer eZ Enterprise version + the legacy bridge is recommended but this should be checked and confirmed with eZ Systems first so that you also get support for it. We are talking with eZ Systems to make Netgen Admin UI a third party extension that could be supported through the regular Enterprise support channels as well.
- If you are already on eZ Platform but using legacy bridge and the old administration, Admin UI will feel as “the missing link” :)
- If you are on eZ Platform (Enterprise or Community) and use the new eZ Platform UI, then the Admin UI has limited use for you. Here’s why:
- Platform UI doesn’t support the Online Editor on top of the legacy eZXML rich text datatyp
- Admin UI doesn’t support the Alloy Editor for the new rich text field type because the content edit module is still legacy based
Although we made it possible that editing the same content in both UIs will not break anything, the practical parallel usage of Platform UI and Admin UI doesn’t make much sense if you can’t edit the same content in both interfaces.
The whole point with this migration path is that it should be future-proof – the refactoring of the features that are being implemented on Admin UI will work on the eZ Platform UI v2 because both should be just Symfony apps. Bear in mind that when I talk about features I mean bigger stuff, like our eZ Tags (which we migrated to new stack recently), CJW Newsletter, custom dashboards, etc. If you would like to change smaller stuff inside legacy modules piece by piece, that will probably be harder, sometimes even too hard.
I would recommend focusing on the back office eZ legacy modules and think about how to migrate them to the new eZ stack controllers. This is the main task for Admin UI, to help reduce all the technical debt you have now.
Eventually, we expect that Admin UI and some future version of Platform UI will converge as more and more features will use the same codebase. This is the migration path we see here at Netgen and which we will execute as much as we can, given the resources. With the contributions from the community, it will be much easier. :)
Title image based on picture by Max Pixel