eZ Publish 5 - First Thoughts

I finally decided on my first eZ Publish 5 project… my site of course. I am currently in the middle of upgrading my wordpress install to eZ Publish. Honestly, I don’t really need anything more than a simple Wordpress install, but it will be nice to get an eZ5 site under my belt.

Seeing as I am in the middle of development, there have been a few bumps in the development road that I have found and would like to share. Firstly, I can find no way to run eZ Publish 5 completely in legacy mode, no matter what I do my pagelayout template needs to be a twig template. I posed the question to the eZ Community and it sounds like this should be possible, but it just wouldn’t work for me (see the discussion here). I actually don’t have a problem with this, it’s not like being forced to use Symfony is a bad thing.

Second, I do not see a strait-forward way to run multiple sites in one eZ Publish 5 install right now. Site settings are declared in the ezpublish.yml file and are grouped appropriately. My problem is that the parameters.yml file only allows for the declaration of one default template. In my opinion the default template declaration should be tied to a siteaccess or a siteaccess group.

Third, the index_dev.php file doesn’t work for some reason. It would be nice to be able to use the Symfony dev toolbar. So far my only workaround has been to add the dev params to the index.php file. Either fixing this or allowing DebugOutput on a Symfony generated page would suffice.

It wouldn’t be fair to simply criticize eZ5, because it does work. The eZ Team did a hell of a job with eZ5, far more than I would have expected for a first iteration. Honestly I was expecting eZ5 to switch to the Symfony Components for round 1 and work on the rest later.

I think that far and above any other nicety of eZ5 is the ability to generate custom routes. Creating a custom module in eZ 4 was not exactly easy, but now with Symfony, creating a custom route/controller/view is extremely straight-forward and borderline easy. If a person has ever worked with Symfony in the past, creating custom ‘modules’ will be a snap.

Another awesome part of eZ5 is the full REST API. Although I have yet to use it, I know it is there and that the eZ Team put a lot of work into it, so I have to give it props.

Finally, twig is awesome to work with.