10 Tips for New eZ Publish Developers
We've all been there, starting out with a new product and not knowing where to begin. Below are my top 10 tips for new eZ publish developers.
- Read the install documents and make sure your system meets the requirements before beginning. eZ Publish has some hefty needs in terms of memory limits and timeouts that may not be set at recommended levels in some PHP setups. Not having these values set to acceptable levels will impact on a successful install.
- Don't modify the core distribution. Just don't, no matter how tempting it is. There is no need to modify any files that come as part of the eZ Publish distribution. This will save you losing any changes when you upgrade.
- Understand the basics. eZ Publish doesn't store content in straight database tables like other Content Management Systems. Read the documentation and understand the content model. eZ Publish is all about content objects arranged in a tree, not data stored in tables.
- Debugging holds the answers. If something is not working as expected turn on debugging and check the output. Most times the answer or a pointer to what is wrong will be found in the debug output. Check the Web Server error logs for issues as well. If this still doesn't help, clear the caches and try again.
- Use the Community. If you still have trouble, use the forums. There is a great developer community around eZ publish and they are usually happy to help.
- Provide enough information. Include as much information as possible in your forum post. Include a detailed explanation of what you are attempting to achieve, what is or isn't happening, code samples, specifics of your setup and debug information.
- Don't "force" it. If something seems overly difficult it usually means that you aren't approaching it in an optimal way. As with most things there are several ways to achieve the same outcome, some better than others. Ask the community for help (see above).
- Comment your code. Before you start to write any code (templates, PHP, settings) describe what you are going to achieve in a comment. This will not only help you focus on what is required but serve as documentation for anyone who has to work with your code in the future. Remember this may be you in 6 months time.
- Write readable code. Follow a coding standard. eZ have a number for various aspects of the system: Templates, PHP & SQL. There used to be a PDF eznetwork_development_guidelines.pdf up on the eZ site that contains all this info and more but it longer exists - eZ people can this go back? If you are interested email me/comment for a copy.
- Plan ahead. Document what you are going to do before starting. This doesn't have to be elaborate or time consuming but will save you time in the long run as well as providing a guide to how the site was put together. I've found that the absolute basics are a sitemap, and a list of content types, their views and how they are applied in the site.