Just like with Symfony™ 2, we notice there are more and more new generation frameworks that are developed as close as possible to the HTTP specification. This tendency seems to be the case in the world of PHP CMSs, with a strong wish to break away from their aging “PHP4” core for modern frameworks.
Brief overview of perspectives for the Drupal and eZ Publish CMSs :
Drupal
In connection with the development of Drupal 8, a series of initiatives are being carried out. Their goal is to manage the development of major redesigns. Amongst these initiatives is the launching of Web Services and Context Core Initiative (WSCCI), which aims at changing the core of Drupal into a first class REST server.
The complete REST support has been voted the most important functionality, in particular when meeting the demands of inevitable multi-channel markets. Because of the short timeframe and the development team’s refusal to dig deeper, the important choice of integrating Symfony™ components to Drupal was made. Amongst these components,HttpFoundation, which implements the whole bottom layer HTTP level, ClassLoader for class autoloading management going by the PSR-0 norm, and many other components according to need. This REST layer will be at the basis of the content management framework of Drupal.
On this basis, the idea is to provide Drupal with a powerful layout management system with contextual blocks, a nice drag-n-drop interface to manage block layout on the page. The smallest will benefit from the HTTP layer with its Symfony™ 2 components to provide tag support ESI for an advanced cache management. The perimeter of this functionality is so large that it recently exploded during its own initiative.
With regards to program improvements, a revamp of the Ajax layer of Drupal is planned on the basis of the REST tier to improve overall performance, staging is also mentioned.
Work has already started as last month Dries made the first merge at the beginning of the month of the WSCCI initiative that gives Drupal 8 a first version of the integration ofSymfony™ 2 components. So, the integration of the HttpKernel component is progressing but bear in mind that the EventDispatcher will be part of the program in order to keep Drupal’s famous hook system company, as well as other components such as Routing or DependencyInjection. Finally, Twig has also made an appearance in the core as a future templating system.
eZ Publish
On its part, eZ Systems is working hard towards releasing the famous eZ Publish 5 ; in this case, we are dealing with a complete redesign of the core. The work started about a year ago with a PHP API based on PHP 5.3. It’s already available on “developer preview”, as a layer of unit tests is being developed so as to cover 100 % of the perimeter. The API should have been stabilized by the end of the year, allowing an integration with the current versions (4.x) to ensure a smooth transition towards the redesign.
The API is designed for maximum segmentation of the different levels of the content management application with major decoupling. Dependance injections will be, of course, at the heart of developments. The scalability of the API is planned with well exposed and normalized access points. For example, the storing level will be able to be replaced by any data management system, such as NoSQL or PHPCR bases of course. Unlike Drupal, eZ Publish 5 is entirely based on Symfony2’s framework and not just on a few components.
This new API has already progressed alot and has started to make an appearance on eZ Publish’s Git deposit in order to get ready for compatibility with current versions. The Git deposit of eZ Publish 5 has just opened to the public on github.com.
eZ systems has been claiming for some time now that eZ Publish’s power is the exposure of multi-channel contents. A REST layer in READ mode has been around for some time now, and from now on the support will be available on READ/WRITE (a beta version has just come out), all based on the new API. On this occasion, a staging extension has also just come out, taking advantage of this new REST API.
eZ Publish puts the accent on its CMP side (Content Management Platform) hoping to widen its range of types of applications based on that platform.
Back to the roots
Thus, we can point out interesting perspectives for these two CMS, with in the front line respect of standards that will not only allow a robust architecture but will also make it easier for future developers to adopt. The help of a REST layer will provide more flexibility whether it be for mobile developments, for connector developments towards third-party systems, for Ajax calls management or content staging and distribution. An interesting implementation which could make the most of these improvements is the norm CMIS for the interconnection of different document managing systems. The idea has started to be brought up especiallywith Drupal.
These CMS are starting to have real content management frameworks and in this domain, it is important to mention the interesting initiative of Symfony™CMF which is developing a real layer of content management based on the Symfony™ 2 framework.