How to develop with eZ Publish
eZ Publish is more than a basic CMS, but a content management platform based on a clear API that allows developers to customize and extend eZ Publish.
- The content class concept
- Custom design: CSS and templates
- High-quality library of PHP components
- Build eZ Publish extensions
- Which development environment?
- eZ Publish community and resources
The content class concept
Any piece of content in eZ Publish is a content object, which is an instance of a specific content class. A content class is a definition of an arbitrary data structure. It does not store any actual data.
A content class is made up of attributes. The characteristics of an attribute are determined by the datatype that is chosen for that specific attribute. By combining different datatypes, it is possible to represent complex data structures.
The illustration above shows the anatomy of a content class called "Article", which defines a data structure for storing news articles. It consists of attributes dedicated for storing the title, an introduction text and the actual body of an article.
Custom design: CSS and templates
The first thing you may be willing to do is to change the look of your eZ Publish site. This can be done by modifying the CSS of eZ Publish and overriding templates. You can even create reusable site packages that include these CSS and template changes.
High-quality library of PHP components
eZ Publish 4.X as well as the next generations of eZ Publish are based on eZ Components which are a high quality library of independent components aiming to help developers creating web centric applications like for example customising and extending eZ Publish.
In the eZ Components you will find components that focus their attention on solving important parts of Web application development. They are written for solving the re-occurring issues that Web application developers have to deal with when building their applications - without any superfluous ballast.
In order to cater for this goal, quality is also an important factor. The eZ Components development team uses a test-driven development methodology where a large effort is put into making the APIs easily testable. This also results in a better API for developers to use.
Build eZ Publish extensions
There is a clear API to develop your own PHP extensions in order to extend the functionality of eZ Publish. By using extensions it is possible to create new modules, datatypes, template operators, workflow events , or any integration with third party applications. You will find many contributed extensions available atContribution page.
Which development environment?
In an eZ Publish project, a Subversion (SVN) repository is usually set up to track all changes during development projects. When it comes to IDE, both Eclipse and PHPEdit have been optimised for eZ Publish.
eZ Publish community and resources
When you start developing with eZ Publish, the community is definitely an environment to get in touch with. You will find your answers or get help in the forums as well as many contributions that will make save you time in your development projects.