Book Image

Plone 3.3 Site Administration

Book Image

Plone 3.3 Site Administration

Overview of this book

In the past few years, we have seen some dramatic changes in the way Plone sites are being developed, deployed, and maintained. As a result, developing and deploying sites, changing their default settings, and performing day to day maintenance tasks can be a challenge. This book covers site administration tasks, from setting up a development instance, to optimizing a deployed production site, and more. It demonstrates how-to perform these tasks in a comprehensive way, and walks the user through the necessary steps to achieve results.We have divided the subject of Plone site administration into three categories: development, deployment, and maintenance. We begin by explaining how a Plone site is built, and how to start using it through the web. Next, we add features by installing add-on products, focusing on themes, blogging, and other common enhancements. After the basics of developing and deploying a Plone site are covered, the book covers the basics of maintaining it.Further, throughout the book we preview some new technologies related to Plone site administration, available now as add-ons to the current Plone release. Finally, we will cover a variety of techniques to help you optimize your site's performance.
Table of Contents (15 chapters)
Plone 3.3 Site Administration
Credits
Foreword
About the Author
About the Reviewer
Preface
Index

Foreword

Back in the old days, Zope was a big monolithic Python package that contained the entire web framework. Creating and customizing a Plone site was accomplished by adding "Products" (special Python packages that only Zope 2 understands) to a special directory. When Zope 2 launched, it would scan this directory and look for special initialization functions to activate each Product. This plugin-based approach was nice in some ways, but not nice in others.

For example, how can you efficiently manage your web applications when installing means you need to manually unzip hundreds of Products on to your filesystem, and make sure all the Product dependencies were satisfied? This was a nightmare!

I remember some Zope sprints back in 2002 where we had to set up specific Zope environments to work. We had to go through every Product's README to list all its dependencies, and make sure we had all of them, whether they were other Products or Python packages. That usually took us half a day before we could start coding.

Nowadays, setting up any kind of Plone-based application can be performed automatically in a few minutes, thanks to zc.buildout! This tool reads a configuration file, sets up your environment by downloading Python packages from the Python Package Index, and performs any additional steps as needed.

But zc.buildout, and all its underlying technology, like Distribute or Distutils, takes a long time to understand and master. It's not the silver bullet either—there are traps all along the road. Plus, it may compete with your server's own packaging system, which sometimes can be an issue.

But the pain is worthwhile! Learning all these tools that became a standard in the Plone community will give you all the power you need to set up and manage industrial-level Plone sites.

And what's great is that the Zope and Plone communities have now adopted the Python Distutils standard as a basis for their building blocks, making it easier to share code between the two worlds.

That is what this book is all about!

Alex, who is a brilliant Plone site administrator and developer, will guide you through the whole process, from setting up your Python environment, to installing, upgrading, and managing your Plone applications with ease, and avoiding pitfalls along the way.

Enjoy! (And keep it under your pillow.)

Tarek Ziadé, Turcey, France, May 2010

Python core developer and Distribute maintainer

http://ziade.org