Best Practices for Plone development
This Tutorial applies to:
Any version.
This Tutorial is intended for:
Developers
pupq
All content on one page (useful for printing, presentation mode etc.)
- The Basics Things everyone should know.
- Working off the file system The benefits of working on the file system as opposed to in the ZMI.
- Source Code Management A brief overview of Source Code Management and some bests-practices for revision control systems - setup and day-to-day use.
- Configuration management Managing different configurations across Plone sites is important. Too many people stick configuration in the ZMI, and have no setup scripts.
- Project Documentation A quick overview of some of the tools that can help you document your project for other developers.
- Debugging Plone Life without debuggers is hard. Here's what you need to know to get a better life.
- Developing, Staging, Syncing Working in one location and syncing that work to another location is critical if you want to be an efficient Plone developer. Here are some tips.
- Unit Testing One of the best investments you can make is to learn how unit testing works. Working without unit tests is at best risky, and in bigger projects - outright irresponsible.
- Credits People who helped and inspired this tutorial.
Gotcha w/ zopectl debug
Afaict Zope has to be stopped in order to debug.
Use the ZEO, Luke!
With several instances, you always have an instance ready for debug work.
Short example
Hi,
These sound lik egood ideas. I know I am always running around trying to find the changes I made over several months to site 1 to be able to copy them to site 2. But how does one start with this? How to make a site product?
For the first suggestion: I guess I really have to learn to build a product now.
Small example
Hi, I like this kind of info, but maybe some small examples could help? I think that using an efficient approach will help people to understand Plone and develop better products, which will benefit Plone as a whole. However, some of these tips are (for me at least) too theoretical. Some help to get started will be very helpfull.
links to useful debug info
add some links to other useful docs, like http://www.zope.org/Members/klm/ZopeDebugging/ConversingWithZope