[Sneak Peek] The Content Tree Strikes Back
Throughout history, navigation has been one of the greatest challenges of all time. A navigator is defined as "a person who directs the route or course of a ship, aircraft, or other forms of transportation, typically with the use of specific instruments and maps." At this point, you are probably asking yourself how sailors, pilots, or drivers are analogous to a website editor. Well, each of these people is searching for the best path to their desired destination. In the process, they hope to reach their endpoint swiftly while avoiding or overcoming roadblocks in the most efficient way possible. eZ would like to focus not only on the destination, but the journey an editor must go through to navigate their content repository.
Therefore, eZ is continuously trying to provide different ways through which editors can navigate their content more efficiently. We are happy to announce the return of the "Content Tree." Using Content Tree is not a new thing. In fact, it was available in both eZ Publish and in early eZ Platform v1. Its implementation in v1 was somewhat flawed, as it failed to navigate large amounts of data, and it was temporarily replaced by using the Universal Discovery Widget, or UDW. This temporary solution lasted way too long, and many of our users continually asked when the content tree navigation would come back. Now is the time!
How do we use it?
The Content Tree is accessible on the left menu (discovery bar) in the Content tab of the administration interface. Once selected, the Content Tree will be displayed and will allow editors to locate and access various content items in a matter of seconds. Since the content tree is constantly visible, editors can easily expand different parts of the tree (aka 'sub-trees') and be able to jump from one content item to another with the click of a button. This becomes extremely valuable when editors need to navigate through hundreds (or worse, thousands) of different content items.
Content Tree vs. other eZ navigation features
Besides the content tree, eZ Platform provides users multiple navigation options such as the UDW, bookmarks, and search. All four features can help the user find their content, but each feature serves a different purpose. The UDW is a tool for browsing, searching and selecting content. It is an effective navigation tool in the context of a specific operation on one content item (i.e. embedding content in block or editing the content item). The main constraint with UDW is that users want to see and navigate through the full content structure. With the UDW, the editor can only view and select one path. All the more reason why the content tree is great when the editor wants to locate a piece of content and visualize other paths at the same time.
The bookmarks feature helps editors easily find content they previously saved, knowing they would need them or would have to reuse them later, or in a frequent manner. Search on the other hand, let the editor find content just by looking for words and/or sentence that might be present in the various fields of the content regardless of where the content has been stored in the content repository. The editor may use different filters to optimize their results. Although these two last options allow editors to better streamline their work, they don't provide a complete view of the content structure or the flexibility to access different content views.
How can we improve an editor's performance using Content Tree?
Content Trees can become quite extensive and at times difficult to manage when an organization possesses millions of content items (ex. images, media, etc.). Take for instance a scenario in which an editor accesses a folder with 10,000 images. This can lead to a long page load time. To prevent this from occurring, we have introduced different parameters that can be set in order to better optimize and configure your content tree for better performance. For example, when an editor expands the content tree, the system will not be required to upload thousands of images. The developer can define for the project the specific parameters (# of sub-items under the container, maximum # items that can load, the depth of the tree, and what are the content type you want to exclude) in order to limit the number of items that will load every time.
What to expect in the future?
The Content Tree that will ship with v2.5 is only a first iteration. In the future, we plan to advance the performance of the tree by modifying how it requests the content repository, by moving from using REST queries to GraphQL queries. GraphQL will allow the tree branches to load faster which will provide a more efficient and satisfying editorial experience.
We are very excited about the upcoming release of eZ Platform v2.5 which will be supported for the long term (LTS). We believe that businesses will benefit substantially from this new version, such as improving content creation capabilities and providing developers with new ways to access content.
In the upcoming weeks, we will be releasing a sneak peek on the GraphQL query system, the integration of Webpack Encore, the inline custom tag and other novelties that are expected to be shipped with eZ Platform v2.5. Until then, if you're interested or have any questions, please feel free to leave a comment on this blog post or on www.discuss.ezplatform.com or www.portal.productboard.com/ezproduct. And of course, you can always reach out to us at firstname.lastname@example.org.