Book Image

Plone 3 Theming

Book Image

Plone 3 Theming

Overview of this book

Themes are among the most powerful features that can be used to customize a web site, especially in Plone. Using custom themes can help you brand your site for a particular corporate image; it ensures standards compliance and creates easily navigable layouts. But most Plone users still continue to use default themes as developing and deploying themes that are flexible and easily maintainable is not always straightforward. This book teaches best practices of Plone theme development, focusing on Plone 3. It provides you with all the information useful for creating a robust and flexible Plone theme. It also provides a sneak peek into the future of Plone's theming system. In this book you will learn how to create flexible, powerful, and professional Plone themes. It is a step-by-step tutorial on how to work with Plone themes. It also provides a more holistic look at how a real-world theme is constructed. We look at the tools required for theming a web site. The book covers major topics such as configuring the development environment, creating a basic theme product, add-on tools and skinning tricks, integrating multimedia with Plone, and configuring your site's look and feel through the Zope Management Interface (ZMI). Finally, the book takes a close look at the thrilling and greatly simplified future of theming Plone sites.
Table of Contents (20 chapters)
Plone 3 Theming
Credits
About the Author
About the Reviewers
Preface

What is Plone, really?


The following is an overview of Plone:

  • Plone is an open source CMS: Plone is a downloadable content management system that is built on the powerful and free Zope application server. Plone is easy to set up, extremely flexible, and provides tools for managing the content of large web sites, extranets, intranets, government and educational sites, and even social networking sites. Plone is licensed under the GNU General Public License, the same license used by Linux. This gives you the right to use Plone without a license fee, and to improve upon the product.

  • Plone has the tools you need: Plone provides numerous out-of-the-box and add-on tools that make working with content easier. These include kupu, the powerful visual editor built into Plone, and PloneFormGen, a tool for creating quick and easy forms. Plone also includes the ability to integrate with other open source tools, databases, page compositors, e-commerce solutions, and more. Plone may not have as many add-ons as frameworks like Drupal, but you can feel secure in knowing that the popular add-ons for Plone are generally quite stable and thoroughly vetted by the community.

  • Plone is easy to install: You can install Plone by going to http://plone.org/products/plone and downloading the Plone installer that is the right option for you. Simply run the installer, follow the README.txt, and you will have a working content management system in minutes. As of Plone 3.1.2, Plone is by default installed using a system called buildout, which we will cover later. It's more complex than WordPress's "Famous 5-Minute Install", but installing Plone and add-on products is simple once you get used to the process.

  • Plone is easy to use: Plone's development team has usability experts who have made it simple for content managers to add, update, and maintain content. Plone's UI team is constantly looking for ways to simplify and improve the end user experience, and founder Alexander Limi is on the forefront of this charge. I've had the joy of having content managers from completely different continents grasp the concepts of how to manage content in Plone without problem, and the average web-savvy user will have the same experience.

  • Plone is secure: While the Drupal platform may have much to offer to end users, as a PHP-based CMS, it has many security problems that Plone does not have. Plone has had only one security-related patch in the last two years, whereas Drupal has had several in the last few months. The difference is that Plone runs on Python, which is markedly safer. Having a secure CMS is critical, and Plone is clearly the frontrunner here.

  • Plone provides international support: The Plone interface has more than 35 translations, right-to-left support, and tools such as LinguaPlone for managing multilingual content.

  • Plone is compliant: Plone rigorously follows standards for usability and accessibility, including US Section 508, and the W3C's AAA rating for accessibility.

  • Plone is protected: The nonprofit Plone Foundation (http://plone.org/foundation) was formed in 2004 to promote the use of Plone around the world and to protect the Plone Intellectual Property and trademarks.

  • Plone has planned development and supports contributors: The Plone team development keeps a close eye on the future of Plone, gives considered thought to new features, and presents a unified front. This is different from a CMS such as Drupal, which has more sprawl in its development processes, especially in terms of add-on products. As of this writing, the biggest developments in Plone include dramatically lowering the bar on theming, making the page compositing experience much simpler, and enabling through-the-web creation of content types. Ultimately, the focus for Plone 4 and 5 is on integrators and themers, which is right where the focus needs to be in order to have an adoptable CMS.

  • Upgrades are easy: Upgrades are less frequent, and releases are carefully coordinated to make the transition easier. For anyone who has suffered a painful upgrade, you'll appreciate this fact more than anything.

Technical overview

Plone sits on top of the Zope technology stack. Zope is an open source application server for building content management systems, intranets, portals, and custom applications. The Zope community consists of hundreds of companies and thousands of developers all over the world who work on building the platform and other Zope applications.

Zope and Plone are both written in Python, an easy-to-learn, widely used and supported open source programming language. The security benefits available with Python, as well as the cleanliness of code, are great advantages for Plone.

By default, Plone stores its contents in Zope's built-in transactional object database, the ZODB. There are products and techniques, however, that allow sharing of information with other sources, such as relational databases, LDAP, and more. WSGI support is also now available with Plone, which means even greater integration with other web applications. WSGI is the basis of what makes Deliverance (one of the possibilities in the future of theming for Plone) possible. Read the last chapter for more exciting information on Deliverance and collective.xdv.

Plone runs on Windows, Linux, BSD, Mac OS X, UNIX, Solaris, and other platforms. Double-click installers are available for all platforms. For full information and to download Plone, see http://plone.org/products/plone.

Books about Plone

Plone currently has approximately 8 books available, several of which are out of date, but a few of which are extremely helpful. None of the books are specifically geared towards themers, although sections of each are relevant.

  • Released in February 2009 is a community-written book, Practical Plone 3, which is intended for integrators and individuals new to Plone. It contains several chapters geared towards themers, plus a wealth of other information for integrators.

  • Martin Aspeli's developer's guide, Professional Plone Development (2007). While it is geared towards developers, some of the technical information in this book is pertinent to themers.

  • The defacto Plone book, The Definitive Guide to Plone by Andy McKay. It is woefully out of date, but is relevant for giving a broad understanding of Plone and the templating language used by Plone. A rewrite to this book was released in 2009 and written by Redomino and Andy McKay.

  • Philipp von Weitershausen published Web Component Development with Zope 3 in 2007. It is a helpful book conceptually, but geared specifically towards pure Zope 3 development, not Plone.

  • Plone Live, which had regular updates for years, but is now languishing since the Plone 3 release. The information it contains is still valid, however.

  • Content Management with Plone: Handbook for Authors and Editors (available in English and German, updated for Plone 3). This book is intended for end users and not generally helpful to themers.

  • James Cameron Cooper's Building Websites with Plone (2002). Mostly out of date, and not especially relevant to themers.