What this book covers
Chapter 1, Getting Started will introduce the reader to the project that will be developed: a news website with banners hosted in OpenX. It will also cover the tools a Plone developer must have before starting a project.
Chapter 2, Using Development Tools, will show you how to install and use special tools that we often need to find problems (debug), modify code on the fly, or get help on tasks during the development phase of a project.
Chapter 3, Creating Content Types with ArchGenXML, will introduce the ArchGenXML technology by creating a new content type (based on an existing one), and will wrap the final product into a Python egg. It is a great tool to help with the development of Archetypes-based content types.
Chapter 4, Prevent Bugs through Testing, will show how automatic testing helps preventing the malfunctioning of features due to lack of communication or ignorance of some parts of code when projects evolve or the development team changes.
Chapter 5, Creating a Custom Content Type with Paster will cover the creation of Archetypes content types from scratch by hand... kind of. We will actually use paster to automatically create most of it.
Chapter 6, Creating Lightweight Content Types, will introduce other technologies to create lighter content types. (Archetypes is a great, though very large, framework developing content types.)
Chapter 7, Improving Product Performance, will teach you how to reap the benefits of Plone by dealing with the problem of creating content types in which the objects’ final HTML rendering performs badly, and how to benchmark these improvements.
Chapter 8, Internationalization, will cover the different tools used to offer a properly internationalized product.
Chapter 9, Adding Security to our Products will go through the steps to secure tasks and content types: permissions, roles, groups, workflows, and configuration options.
Chapter 10, Improving User Interface with KSS, will introduce the use of KSS — an Ajax framework that allows UI development without writing any JavaScript, in Plone by creating from simple client-side visual changes to server-side objects manipulation.
Chapter 11, Creating Portlets, will give you step-by-step instructions for adding portlets. Portlets are used to provide contextual information about the main contents of a page.
Chapter 12, Extending Third Party Products, will deal with what to display in the final web page and how, and will show how to add new features to existing components.
Chapter 13, Interacting with Other Systems: XML-RPC will go through some essential Python modules which are used in the advertisement service to communicate with an external non-Python-based system.
Chapter 14, Setting our Products Ready for Production, will help you create your own products repository and be ready for the website launch. After finishing the development of the products, we must make them available for future use or evolution.
Appendix, Creating a Policy Product, will introduce a special kind of product to deal with site installation, configuration, and customization with code, instead of using manual actions that are likely to be forgotten.