Plone 3 Developer Training 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, development and creative knowledge. This class is also suitable for designers seeking an in-depth look at the tools and techniques for Plone design.
The syllabus for this class closely follows Martin Aspeli's book Professional Plone Development. It is strongly recommended that you purchase this book prior to the class as it will serve as valuable reference material to supplement the course handouts. Professional Plone Development is published by Packt Publishing and available for purchase on Amazon and other book seller websites. (Purchases made through this link will help support the development of open source software such as Plone4Artists.)
Students will get the most out of this class if they already have the following skills:
- Solid grasp of programming
- Basic Python
- Intermediate HTML (building forms and understanding a web request)
- Basic and intermediate CSS
- Linux system administration
This is a hands-on class and students should bring a laptop computer.
The following syllabus may be adjusted slightly depending on student interests.
Day 1
Setting up the Dev Environment
* Automating the Build Process with zc.buildout
o Installing Paste Script and Zopeskel
o Creating and Customizing the Buildout
+ The Buildout Configuration File
+ The Buildout Directory
* Additional Development Tools
* Learning to Help Yourself
o Use the Source, Luke!
o Become Familiar with the Debugger
Lunch Break
12:00 PM - 1:00 PM
Developing a Site Strategy
* Configuration Using GenericSetup
o GenericSetup and the Add/Remove Products Control Panel
* Creating a "Policy Product"
o Creating an Extension Profile
o Writing Tests For Customizations
o Making a Change with the Extension Profile
o Installation Through the Web
Day 2
Custom Content Types
* Content-Centric Design
* Package Layout
* Modeling with Interfaces
* Using the Archetypes Framework
o Content Base Classes
o Schemata, Fields, and Widgets
+ Vocabularies
+ Reference Fields
+ Field and Object Validation
o The Class Generator
o Field Properties
o Content Security
o Views and Browser Resources
+ Icons and Style Sheets
+ Main Content Views
+ Edit Forms, Add Forms, and Events
o Installing and Registering Types
+ Factories and Add Permissions
+ Registering Content Types with the Factory Tool
+ Adding Catalog Indexes and Metadata Columns
Lunch break
12:00 PM - 1:00 PM
Custom Content Types
* Installation and Configuration in the Policy Product
o Adjusting the Security Policy
o Adjusting Navigation Tree Properties
o Enabling Content Object Versioning
o Site Policy Tests
* Functional Tests
* Creating a New Portlet
o Configuring and Registering New Portlet Types
o Assigning Portlets Automatically
* Zope 3, Formlib, and the Role of Archetypes


