Plone Developer Training

Making developers and integrators productive in Plone

This is a 2 day technical class intended for those who will be developing or administering a Plone site. A typical student has built basic Plone sites, either Plone 4 or Plone 5, and wishes to expand their scope of operational, development and creative knowledge.

The syllabus for this class closely follows Martin Aspeli's book Professional Plone 4 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 4 Development is published by Packt Publishing and available for purchase on Packt, Amazon and other book seller websites.

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
    • Installing Zopeskel
    • Creating and Customizing the Buildout
      • The Buildout Configuration File
      • The Buildout Directory
  • Additional Development Tools
  • Learning to Help Yourself
    • Use the Source, Luke!
    • Become Familiar with the Debugger

LUNCH BREAK

12:00 PM - 1:00 PM

DEVELOPING A SITE STRATEGY

  • Configuration Using GenericSetup
    • GenericSetup and the Add/Remove Products Control Panel
  • Creating a "Policy Product"
    • Creating an Extension Profile
    • Writing Tests For Customizations
    • Making a Change with the Extension Profile
    • Installation Through the Web

Day 2

CUSTOM CONTENT TYPES

  • Content-Centric Design
  • Package Layout
  • Modeling with Interfaces
  • Using the Archetypes Framework
    • Content Base Classes
    • Schemata, Fields, and Widgets
    • The Class Generator
    • Field Properties
    • Content Security 
    • Views and Browser Resources
      • Icons and Style Sheets
      • Main Content Views
      • Edit Forms, Add Forms, and Events
    • Installing and Registering Types
      • Factories and Add Permissions
      • Registering Content Types with the Factory Tool
      • Adding Catalog Indexes and Metadata Columns
  • Using the Dexterity Framework
    • Schema-Driven Types
      • Schema
      • FTI
      • Testing
    • Custom Views
      • Simple Views
      • Forms
    • Advanced Configuration

LUNCH BREAK

12:00 PM - 1:00 PM

CONFIGURATION, TESTING, PORTLETS, AND FORMS

  • Installation and Configuration in the Policy Product
    • Adjusting the Security Policy
    • Adjusting Navigation Tree Properties
    • Enabling Content Object Versioning
    • Site Policy Tests
  • Functional Tests
  • Creating a New Portlet
    • Configuring and Registering New Portlet Types
    • Assigning Portlets Automatically
  • Plone Forms