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

Creating multiple instances with Buildout macros


As of version 1.4 of zc.buildout, it is possible to extend sections (except for the buildout section) with the use of the special < parameter. So, to create a macro, create a section with whatever you parameters you want in it, for example foo:

[foo]
bar = baz

Then create another section or sections such as foo1 and foo2 and set the < parameter with the value of the section you want to copy:

[foo1]
< = foo

[foo2]
< = foo

So foo1 and foo2 now contain:

bar = baz

You can now override and add whatever parameters you like:

[foo3]
< = foo
# bar gets bilge, instead of baz
bar = bilge
# car gets baz
car = ${foo:bar}

And so on.

That means we can now define a base instance section (which we did in buildout.cfg) and use it as a macro to create additional instance sections.

To demonstrate this, we will create two additional instances, based on the instance section in buildout.cfg.

In 06-deployment-optimization-macros.cfg, we have:

[buildout]
extends...