A Quick Look Into the New Page Builder of eZ Platform
We're very excited about our forthcoming v2.2 release. There are plenty of reasons to look forward to it, but without a doubt, for our Enterprise Edition users, the BIG thing coming with this release is the new Page Builder.
The problems we had to solve
eZ Platform version 1 offered not only a way for editors to manage and create their pages in a visual way using the Page mode, but also to assemble blocks and content, take control of their landing pages and more. All this was great on paper, and worked OK for some projects but being honest, customer feedback has shown us that the Landing Page Manager was somehow falling short of what some users need and expect.
First, the editorial experience could be severely degraded because of performance flaws, mostly due to the technical U.I. framework we used. I hate to say it but we were unable to deliver the speed that a modern user expects.
Second, and also related to the underlying technology, the Landing Page Manager was extremely tedious and difficult to work with for developers when it came to customizing or extending it.
Both issues have long been identified, and with eZ Platform version 2 we laid the foundation for a new U.I. architecture that could solve this (read here to know more). This required quite a bit of rewrite and we had to phase out the work by migrating the Landing Page Manager rewrite into 2.1 and 2.2.
Lastly, aside from the flaws mentioned above, the Landing Page Manager was a relatively new tool and we learned a lot from partners and users on how to improve it. So with this major overhaul we decided, beyond solving the initial problems, to make significant changes on how it works-gathered from customer feedback.
So let's have a look into what's coming out of this rewrite:
The Page Builder, a new name for a major upgrade
First, let's start with the name. This new version comes with a new name: RIP "Landing Page Manager," welcome "Page Builder." The new name allows us to clarify: we are not only allowing to build landing pages, but we are allowing to build any page with eZ Platform. "Landing" was misleading. And then, more than managing it really is about building pages, assembling content, creating. So welcome Page Builder!
Built for speed
Forget about the slow loading of the old Landing Page Manager, as well as its slow reloading when jumping from Content to Page mode. Thanks to the new architecture, there is no more need for such a long preloading that was especially annoying for 2.0 and 2.1 users who already had been benefiting from a fast system on other parts of the application.
Then, once loaded, the new Page Builder takes care of making every interaction significantly faster, with no latency and always keeping the user updated with what's happening in the system.
Speed is one of those things you never get enough of. We'll continue to try to improve speed further BUT with that significant boost, users will get enough to impact their productivity and to switch from a painful to a pleasant experience.
Editorial comfort and usability
Besides speed, the new Page Builder comes with better usability and comfort in general. It follows the new eZ user interface guidelines introduced with eZ Platform version 2, which bring more consistency and make the usage of the tool more intuitive.
Some other usability gains are delivered at different places, such as having the ability to create content "on the fly" when adding a block to a page, removing the tedious requirement of having to prepare your content beforehand in the repository. This will typically save many clicks, remove frustration, and speed up the operation of content editors. Other improvements of the same sort will be present, such as better managing versions, translations and draft conflicts.
More power
The new Page Builder will not only be faster to use, but it will open many possibilities in the future because it is designed in a very different way. First of all, it better embraces the underlying content model of eZ Platform. With the new Page Builder, site developers will be able to create different "Page" content types. It will be as simple as adding the Page field type to any content type. From there the content type will behave like a page and will be manageable from the Page Builder
The big benefit of this is that it will give freedom to site architects and developers to define different content types with different field definitions that fit their needs. And all the fields will be one click away for the editor in Page mode-both in View and Edit.
This can be used for different purposes. For instance, on some pages information architects might want to give access to SEO data with some dedicated fields for that (potentially using Nova SEO Bundle). On other pages though, architects might not want to give any editorial control over this and not have this field definition in the content type. Or, in multisite setups developers might simply want different field definitions for pages on different sites.
Beyond this, the underlying data structure of the page field type has been redefined too. It is now much more structured. This will allow us to better provide features dealing with blocks in the future, such as:
- Ability to remotely access a block and its content via REST endpoint
- Ability to have knowledge and control of which content is on which block, as it could be done using content relations. For instance, to warn users when deleting a content that it is used on other pages
- Ability to remotely push content into a block, without the editor having to edit the page
- Ability to reuse blocks
- ..
A much better developer experience
I won't go into much details here as we'll post more about this later on. We collected valuable feedback from developers using the Landing Page Manager in version 1. We learned about what is needed in terms of customization and extensibility for developers, and we tried to bring many of these lessons learned into Page Builder v2, hopefully to improve developer's daily tasks. The main point about those improvements is that we better stick to the Symfony framework, and like for the rest of version 2, it will be possible to extend the Page Builder using the power and simplicity of Symfony Forms and TWIG template system. JavaScript knowledge won't even be required! Stay tune for more on this soon.
Please be aware - we saved some features for later!
You should also know that we won't ship all features of the Landing Page Manager v1 into this first iteration of the Page Builder coming with version 2.2. The reason for this is simple, this was a major overhaul and we decided to focus on building something solid and powerful rather than rushing and carrying debts or design flaws. We prioritized the most used features, and we'll finish the migration of the few missing features with the improvements that were necessary in the next fast track release.
There are two specific features that won't be provided in the Page Builder v2.2: the Schedule Block and the Form Builder.
So if you're looking to using either the Schedule Block or the Form Builder and looking to upgrade, it is likely that you'll have to wait for our next release in September, but please reach out to our customer success team to discuss the topic.
For now, we are working hard to finish this version 2.2 and look forward to this release, which is scheduled for a little over a month from now. If you are interested or have any questions, please feel free to leave a comment below, on discuss.ezplatform.com or productmanagement@ez.no.
Finally, two of our lead developers working on the Page Builder will be speaking at the eZ Conference on June 6 in Cologne. It's a great one-day event packed with knowledge (this year tickets are free!). Don't miss this opportunity to learn and discuss with our product and engineering teams about the Page Builder.
eZ Platform is now Ibexa DXP
Ibexa DXP was announced in October 2020. It replaces the eZ Platform brand name, but behind the scenes it is an evolution of the technology. Read the Ibexa DXP v3.2 announcement blog post to learn all about our new product family: Ibexa Content, Ibexa Experience and Ibexa Commerce