Article
Interview - Bard Farstad of eZ systems
SP: With eZ publish you've put together a solid library of PHP classes for everything from database abstraction to a DOM XML parser. What made you choose to write your own, as opposed to using native PHP extensions or the PEAR library? You also wrote your own class documentation tool, eZ PHP DOC. Why did you do that, rather than use PHP DOC, for example?
Well, we like to write our own code. That's just the way we work. However, we've now started to use doxygen to generate class documentation, as this wasn't our focus. The reason we didn't use the tools you mention above is that basically, we wanted to use the same syntax we'd used in our C++ projects.
SP: With PHP 4.2 the PHP Group made the decision to switch "register globals" off? Do you agree with this move and will eZ publish be following suit (re-written for register_globals=off) in the near future?
I totally agree. Yes, you will definitely see that. eZ publish 3 has no problems with the new PHP configuration.
SP: Given that modules like eZ forum "compete" with applications like vBulletin and phpBB2, would you rather continue development of the module, or work to integrate these kinds of external applications into eZ publish?
What we've done with eZ publish 3 is to create a more low-level toolkit. You can now define your own content classes, for example, you can define your own articles, products, messages etc. All these objects can then be combined into a tree-based structure and controlled by a role-based permission system. So, eZ publish 3 can be used to create a huge variety of applications. A simple example might be that for a real estate site, you could create a class that defines a house. Then you could start to publish objects of the class "house" on your site instantly, with no programming required!
SP: Currently eZ publish is geared for use on a single Web server, perhaps with a remote database. You've begun to use XML-RPC within the eZ publish desktop edition. Are there plans to take further advantage of the XML Web service protocols in the extension of eZ publish? Are we likely to see an "N-Tier" version of ezPublish distributed across multiple servers, perhaps taking advantage of a projects like Mohawk's Msession, or following the example of XML-RPC class server?
We've already written a library called eZ soap, which will be used in eZ publish 3 for communication and integration. At the same time we're working on making eZ publish run smoothly on clusters. You will see a lot of new features in this direction in the near future.
SP: The recent distributions of eZ publish and your Zez article on PHP/Java integration make us wonder whether there are any plans to take advantage of this in ezPublish? Could ezPublish act as a Web "front end" in a J2EE environment?
There are no current plans, but we've used eZ publish in this way before. We usually deal with customers who request it on a per-case basis. You'll basically need to write your own module to integrate with your Java application, and you can do that already.
SP: Can eZ publish compete with some of the "big" CMSs like Vignette and Atomz Publish? What differentiates eZ publish right now from some of the "high end" CMSs? What hurdles does ezPublish need to surmount to get there?
That's the plan with eZ publish 3. It can definitely match the functionality. The main features that the current eZ publish lacks when compared to those systems are versioning, workflows and collaboration, all of which are present in eZ publish 3.
SP: Are there any plans to release elements of eZ publish as native PHP extensions (for example, the class library), as a means to improve performance?
There are no concrete plans at this point. This would make eZ publish harder to install, and with eZ publish 3 we've found other ways to improve performance for now.
SP: Work has begun on an eZ publish SDK. What do you have in mind here?
That's a sneak peek of the eZ publish 3 libraries --- they'll be the default documentation and libraries that are bundled with eZ publish 3. However, there will be a lot more documentation by the time it's finished. The eZ publish kernel documentation and many tutorials will also be part of the sdk.
SP: In general, what do you regard as the main strengths of eZ publish, and what areas do you want to improve upon?
The strengths of eZ publish are that it's simple to use and that it offers a lot of functionality. You can create everything from intranets to big ecommerce sites with this software. The main things we want to improve on, and have in eZ publish 3, are its flexibility and performance.
SP: eZ publish version 3.0 is in the wings. What do you have in store for the new version? Any surprises?
I've mentioned a few things already -- there will be many surprises for eZ publish users, mostly positive I hope! You will basically have much more flexibility, and find that this version is quicker to customize. You can also reuse templates and code, and host as many sites as you like on the same codebase.