Current

This document is valid for the current version of Plone.

What is GenericSetup?

by Plone Documentation Team last modified Dec 27, 2009 05:43 PM
Contributors: Mikko Ohtamma, Martin Aspeli, Kamon Ayeva, Israel Saeta Pérez
A brief overview of what GenericSetup is

GenericSetup is a product that allows developers to import and export site configuration. This product was created to counteract Seaver's Law, which states the following: "Persistence means always having to say you're sorry". This means that any time you configure your Plone site purely through the Plone interface or ZMI you run the risk of losing your configuration. Since your configuration was only persisted into the ZODB, if you lose your data, you also lose your configuration.

This is where GenericSetup comes in to save the day. You can still make all your configuration changes in the Plone site or through the ZMI. Then when you are ready you can export these settings using the portal_setup tool.

GenericSetup was introduced in Plone 2.5 to help replace the use of customization policies and the quick installer. The old methods relied on the user to write Python code to set up their product or site.  When the API of the tools and objects changed the install and uninstall methods would also have to be changed. GenericSetup gives us a way to deal with the settings that we want to import and export and not have to worry about the API changing over time.