Skip to main content

Deploy Plone site to static files.

Project description


stxnext.staticdeployment is a tool to deploy Plone site to static files. It supporst Plone 3 and Plone 4 (including sites using Diazo themes).


Edit buildout.cfg and append stxnext.staticdeployment to eggs and zcml parameters in instance section:

eggs =

zcml =

Instance must be rebuild and restarted:

./bin/instance stop
./bin/instance start

This product must be also installed inside Plone site. Do do it, go to Site Setup -> Add/Remove Products, select checkbox near stxnext.staticdeployment and click Install button.


The configuration is stored in the INI file. The default configuration is contained by the package, but it can be easily overrided by creating the custom staticdeployment.ini file in the ${buildout:directory}/etc folder.

  • stored in INI file

  • created by developer of website

  • can be used by many sites

  • default configuration (included in egg)

  • default configuration can be overriden by file ${buildout:directory}/etc/staticdeployment.ini

staticdeployment.ini paramaters

deployment-directory (string)

Where to deploy site. Path can be relative or absolute. Default: ./plone-static If the path is relative, it will be computed from $INSTANCE_HOME (usualy, this folder will be ${buildout:directory}/var/instance)

layer-interface (string)

Default: zope.publisher.interfaces.browser.IDefaultBrowserLayer

defaultskin-name (string)

Skin which will be used during deploy. Default: Sunburst Theme

deploy-plonesite (boolean)

If enabled home page will be deployed also as index.html in root of deployment-directory. Default: true

deploy-registry-files (boolean)

Deploy registry files (CSS, JS, KSS)? Default: true

make-links-relative (boolean)

Make all links relative (otherwise they will be absolute). Default: false

add-index (boolean)

Add index.html to all links (that should have index.html).

page-types (list)

Page types that should be deployed. For example: ATDocument, ATFolder

file-types (list)

File types that should be deployed. For example: ATBlob

skinstool-files (list)

Additional files (from plone_skins tool) which should be deployed. For example: plone_images/favicon.ico

additional-files (list)

Other files to deploy. For example: sitemap.xml.gz

additional-pages (list)

Other pages that should be deployed. For example: sitemap

deployable-review-states (list)

Only pages with review states listed here will be deployed. Default: published

path-filter (string)

An option to deploy just the contents below the given path. Default: empty string

deployment-steps (list)

Optional list of named adapters (IPloneSiteRoot, IDeploymentStep), that will be called after all the deployment is executed. The adapters will be called in the same order of this list.


When website is ready to deployment go to Site Setup -> Static deployment -> Deployment tab. Select Deploy static version of website checkbox and press Save button. Deployment will work for few seconds or minutes (it depends on size of website and server performance).

Author & Contact

  • Igor Kupczyński <>

  • Radosław Jankiewicz <>

  • Wojciech Lichota <>

  • Sebastian Kalinowski <>

STX Next Sp. z o.o.


1.1 (2013-08-20)

  • Generate the static folder always in the same place, relative to $INSTANCE_HOME [erral]

  • Add more logging to the deployment steps [erral]

  • Fixes to one-object-deployment option [erral]

  • Option to deploy all the contents below a given path. [erral]

  • Extra DeploymentSteps are now executed in the order the developer states in the configuration file [erral]

  • Content-types are searched now based on portal_type instead of meta_type [erral]

  • Dexterity objects and plone.namedfile based blob support [erral]

  • use lxml for parsing links instead [vangheem]

1.0.4 (2013-03-27)

  • also transform /RSS views automatically [vangheem]

  • fix using plone.scale image scales [vangheem]

  • more diazo related fixes [vangheem]

  • create a fake request so diazo rules can utilize path variables. [vangheem]

  • handle image extensions correctly [vangheem]

1.0.3 (2013-03-25)

  • better unicode handling [vangheem]

  • make sure to not html transform css and js resources [vangheem]

  • fix diazo support [vangheem]

  • fix retrieving plone.resource files [vangheem]

  • fix trying to parse data images in css [vangheemj]

  • fix use a relative paths in css [vangheem]

  • Fixed bug with missing porltets (tnanks to Alessandro Ruocco)

1.0.2 (12.07.2012)

  • Fixed bug with image scale name exctraction

  • Fixed method transforming the images links

1.0.1 (03.07.2012)

  • Fixed issue with Products.CMFCore on Plone 4.1

1.0.0 (23.05.2012)

  • Code refactoring

  • Compatibility with Plone 3

  • Created tests

  • Added possibility of generating relative paths

History of earlier changes:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stxnext.staticdeployment-1.1.tar.gz (49.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page