A collection of skeletons for quickstarting Zope projects.
Project description
Introduction
ZopeSkel provides a collection of skeletons for quickstarting Zope and Plone projects.
All skeletons are available as PasteScript templates and can be used via the ‘’paster’’ commandline tool. For example to create a package for a Plone 3 theme you can do:
paster create -t plone3_theme
this will ask a few questions such as desired package name and a description and output a complete package skeleton that you can immediately start using.
Please contribute by submitting patches for what you consider ‘best of breed’ file layouts for starting Zope projects.
Available templates
Development templates
- plone
This is a small template which creates a bare bones package with a single namespace. This can be used to create plone.* packages for example.
- plone_app
This is a small template which creates a bare bones package with a nested namespace. This can be used to create plone.app.* packages for example.
- plone3_portlet
Creates a package with a new portlet. This includes everything needed to register the portlet in Plone and tests which check if the portlet can be added, edited and rendered properly.
- plone2_theme
A template to create a new Zope 2 products for a Plone 2.1 or Plone 2.5 site. If you are targetting Plone 3 please use the plone3_theme template instead.
- plone2.5_theme
A template to create a new Zope 2 products for Plone 2.5 site. If you are targetting Plone 3 please use the plone3_theme template instead.
- plone3_theme
This template creates a theme package for Plone 3.0. This is the succesor to the popular DIYPloneStyle product.
- recipe
This template creates a recipe skeleton for zc.buildout.
Hosting / deployment templates
- plone2.5_buildout
A basic buildout based instance for Plone 2.5 projects. If you also need ZEO or caching take a look at the plone_hosting template.
- plone3_buildout
A basic buildout based instance for Plone 3.0.x projects. If you also need ZEO or caching take a look at the plone_hosting template.
- plone_hosting
This template creates a buildout-based Plone deployment. It supports all Plone 2.5 and 3.0 versions: it will ask you for the desired Plone version.
If you configure a proxy port a varnish cache server will be installed and configured as well.
To manage the ZEO server, Zope instance and, if chosen, Varnish server a simple ‘’bin/control’’ script is created which can be used to quickly start, stop and restart the entire Plone deployment.
- silva_buildout
A basic buildout Silva instance.
Testing
Since version 1.5, ZopeSkel has tests. It’s required to run these before checking in; they can be run like:
$ python setup.py test
You can also set a test environment using the buildout bootstrap:
$ python boostrap.py $ bin/buildout
You will then have a test script available:
$ bin/test
You can even run just one test:
$ bin/test -t silva_buildout
Changelog
Version 2.0
Switch plone_hosting template to using supervisord to manage processes. Merged from Jarn’s bones package. [wichert]
Reduced the number of questions to generate an atschema and used the MessageFactory instead of declaring an i18n_domain attribute [mustapha]
Fixed missing imports in plone2_theme [mustapha]
Removed unused imports in plone_pas [mustapha]
In plone2.5_theme: when the skinname is empty, replace it with a default text, otherwise adding a Plone Site will throw an error when displaying the extension profiles. [maurits]
Added note to profiles.zcml of plone2.5_theme that five.registerPackage needs Five version 1.4. [maurits]
Added a BUILDBOT.txt file. [tarek]
plone3_portlet: added commented out alternative AddForm for when there are no configurable parameters. That was shorter than listing all the changes (where we forgot one). [maurits]
Fixed typos in archetyps and plone3 portlets: ‘portletBotomLeft’ should have been ‘portletBottomLeft’ with two ‘t’s. [maurits]
Made plone3_portlet respect pep8 (and pyflakes). [maurits]
Use 1.0 as default version number for all templates. This is a more sensible default than 0.1 since we start of with dev-versions anyway. [wichert]
sub-templates per ZopeSkel template: Only sub-templates related to the parent template is visible with the -l option [mustapha]
added -a (–list-all) option to show all subtemplates regardless of the current project. Subtemplates that are not for the type of the current project are prefixed with N [mustapha]
Fixed the recreation of the paster_plugins.txt metadata file for archetype. For now we have to run 2 times the egg_info command to get the paster_plugins file recreated (setuptools problem: nice task to fix) [mustapha]
fixed the case of many inner packages: ask the user to choose a packe to inject content into if the command is run outside of an inner package [mustapha]
make all ZopeSkel templates that inherits from BaseTemplate addcontent aware [mustapha]
Added plone_pas template for PlonePas projects and many subtemplates [mustapha]
regrouped archetype subtemplates in templates/archetype [mustapha]
added and fixed tests [mustapha]
Version 1.10
Install Plone 3.1.1 as default option. [wichert]
Fixed a problem with ZopeSkel localcommands when we have multiple projects, it was getting the first directory always and sometimes the package dir was not the first directory, so when running the addcontent in the package it was creating the contents in the wrong dir. Thanks to wichert for pointing me this file. [dsa]
Update the hosting template to make running of buildout optional. [wichert]
Update the hosting template to test if a port is already in use and abort if so. [wichert]
Update the hosting template to only ask for a single base port number. [wichert]
Fix broken creation of Plone 3.1(.x) sites. [wichert]
Version 1.9
Install Plone 3.1 as default option. [wichert]
Fixed a missing ‘import os’ in the plone2_theme template. [davisagli]
Fix an ambiguous question in the silva_buildout template, and update the generated README file. [thefunny]
Version 1.8
fixed the recipe template buildout.cfg generation, thanks Kai ;) [tarek]
Version 1.7
Update the templates to have README.txt and HISTORY.txt in valid restructured format and use those as the package’s long description. This automatically gives packages a more readable page on PyPI (and PSC with Tarek’s excellent changes). [wichert]
Adjust the trove classifiers on the packages to not claim incorrect frameworks: we should only claim frameworks on which the package can run directly. So, for example, do not claim Zope2 of we also need Plone on top of Zope2. [wichert]
Version 1.6
Add templates for a Silva buildout. [thefunny]
Add a metadata.xml to all generated GenericSetup profiles. This is required by new versions of GenericSetup. [wichert]
For nested namespace packages we need to declare both namespace levels as namespace packages. This is a requirement for current versions of setuptools. [wichert]
Use Plone 3.0.6 as default version for new Plone hosting buildouts [wichert]
Version 1.5.1
Fix #2 (missing import in ‘hosting.py’) at http://plone.org/products/zopeskel/issues/2 [nouri]
Version 1.5
added a new local command into archetype template to inject new content types [spanky]
added a doctest for each template, and refactored the package so we have one python module per template [tarek]
Refactored the zc.buildout recipe to provide structured documention that will render nicely on PyPI, added comments for recipe authors to help writing documentation and tests and added a working doctest skeleton. Implemented automatic license classifiers for common licenses in the generated setup.py. The mapping is in zopeskel.base and can be used for other templates also. [dokai]
The ‘five:registerPackage’ ZCML directive is added in a project based on the ‘plone’ template only if the top level namespace package is not called ‘Products’. This avoids having the product loaded twice in Zope. [davconvent]
Added paragraph about old style Zope 2 Product installation in the INSTALL.txt_tmpl file of the plone template. The paragraph will be added to the installation instructions if the top level namespace package is called ‘Products’. [davconvent]
Version 1.4
Set the version number for plone.recipe.plone in a new versions part in buildout.cfg. That works around a buildout bug: buildout breaks if you change the revision pin for a recipe. [wichert]
Fixed bug: when running ‘paster create’ with –no-interactive option, the package variable given in the command line is ignored. [Mustapha]
Version 1.3.4
Added MANIFEST.in to prevent bad releases from svn exports. [fschulze]
Version 1.3.3
Move to the newly released Varnish 1.1.2. [wichert]
Remove bad import which broke localcommand support. [deo]
Remove unneeded imports and whitespace cleanup. [deo]
Version 1.3.2
Small fix in plone3_theme that did not install correctly with easy_install because of some files missing the the egg informations (added MANIFEST.in). [davconvent]
Version 1.3.1
Added ‘addcontent’ local command to make possible injecting content types in ZopeSkel projects and make the Archetype template ‘addcontent’ aware. [mustapha]
Updated to Plone 3.0.4. [fschulze]
Rerelease because of a bad egg. [fschulze]
Version 1.3
added the recipe template [tarek]
Add Plone 2.5.5. [wichert]
Version 1.2
Merge a slightly stripped down version of the Jarn Plone hosting template. This provides a convenient way to create a buildout for all Plone 2.5 and 3.0 versions with ZEO and optional Varnish based caching. [wichert]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.