Deliverance and Deployment Syllabus
Prerequisites
Students are expected to have built basic Plone sites, either Plone 2.5 or Plone 3. A typical student has attended Jazkarta User Training or a Joel Burton Bootcamp, or has equivalent experience, and wishes to expand their scope of operational knowledge.
Students will get the most out of this class if they already have the following skills:
- HTML/CSS
- Basic Python
- Shell scripting
- Linux system administration
This is a hands-on class and students should bring a laptop computer. Examples will be used and at the end of the course, you will have a working production buildout that you can use for further exploration.
The following syllabus may be adjusted slightly depending on student interests.
Day 1
Theming a Plone Site with Deliverance
- How does Deliverance work
- Deliverance buildout configurations for local development and production deployment
- Theming from static HTML
- Theming from a live site
-
Multi-design theming
- Multi-site theming
Lunch Break
12:00 PM - 1:00 PM
Creating a Repeatable Deployment
- A complex Deliverance example
- Releasing eggs to pypi, plone.org and private egg servers
- Pinning the egg versions in your buildout
- Deploying to a production server
Day 2
Setting up the Production Environment
- Installing all operating system dependencies on a destination Linux server
- Configuring Varnish and CacheFu for caching (troubleshoot with LiveHTTPHeaders)
- Configuring Pound and Zeo clusters for load balancing
- Creating Apache vhosts
- Alternative http servers such as nginx
- Configuring cron jobs to pack the ZODB
- Configuring cron jobs for repozo to make backups of Data.fs
- Configuring log file rotation
Lunch break
12:00 PM - 1:00 PM
Test, Test, Test
- Write and run unit tests and functional tests on your entire Plone application
- Load testing tools: JMeter, FunkLoad
- Setting up a buildbot server for continuous integration

