Free Sample
+ Collection

Professional Plone 4 Development

Martin Aspeli

Build robust, content-centric web applications with Plone 4.
RRP $35.99
RRP $59.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849514422
Paperback516 pages

About This Book

  • The very first book on the newly released Plone version 4.
  • Learn how - and when - the professionals use Plone
  • Master the latest Plone technologies
  • Put theory into practice with a realistic case study built from chapter to chapter.
  • Written by Martin Aspeli, one of the Plone project’s most prolific core developers and responsible for several R&D efforts relating to Plone 4.0; and with a Foreword by Eric Steele, the Plone Release Manager.
  • Bonus chapter: Custom Content Types with Archetypes
  • Bonus chapter: KSS

Who This Book Is For

This book assumes that the reader is familiar with Plone from the point of view of an administrator or power user, has a basic understanding of web application development, and is comfortable with the Python programming language.

Table of Contents

Chapter 1: Plone in Context
A brief history of Plone
Plone-the-application and Plone-the-framework
Additional considerations when deciding on Plone
The Plone Community, and why you belong there
Chapter 2: Introduction to the Case Study
Background and high-level requirements
Modeling and mockups
Information architecture
Running the project
Chapter 3: The Development Environment
Glossary of terms
A minimal buildout
Buildout basics
The development buildout
Learning to help yourself
Chapter 4: Basics of Customization
Persistent settings and the ZODB
Using GenericSetup for configuration
Acquisition and skin layers
Overriding Component Architecture components
Customization best practices
Chapter 5: Developing a Site Strategy
Creating a policy package
Updating the buildout
Creating an extension profile
Activating the package
Rebuildout, restart, reapply?
Chapter 6: Security and Workflow
Security primitives
Keeping control with workflow
Installing a custom workflow
Protected and trusted code
Chapter 7: Using Add-ons
Finding and evaluating add-ons
Playing it safe
Installing an add-on
Chapter 8: Creating a Custom Theme
Creating a Diazo theme
Variations on the theming approach
Overriding visual elements
Chapter 9: Nine Core Concepts of Zope Programming
About the examples
Object publishing and traversal
Persistence in the ZODB
Searching for objects using the catalog
Describing functionality with interfaces
Component configuration with ZCML or Grokkers
Component registries using utilities
Modelling component aspects with adapters
Views and other presentation components
Synchronous events
Chapter 10: Custom Content Types
Content-centric design
Choosing a content type framework
Creating a distribution
Using the Dexterity framework
Installation and configuration in the policy package
Using the schema extender
Using portlets
Chapter 11: Standalone Views and Forms
Pages without a specific context
Writing custom forms
Generating forms automatically
Creating a control panel view
The form controller tool
Writing new viewlets
Global template variables and helper views
Functional testing of views
Chapter 12: Relational Databases
Relational databases versus the ZODB
Modeling screenings and reservations
Setting up the database
Database connectivity in Zope
Managing database connections
Working with the database
Adding the user interface
Chapter 13: Users and their Permissions
Defining a membership policy
Collaborative workspaces
The Pluggable Authentication Service
Chapter 14: Dynamic User Interfaces with jQuery
KSS and jQuery in Plone 4
Managing JavaScript resources
Background requests and DOM manipulation
Chapter 15: Summary and Potential Enhancements
What we have achieved
Additional functionality
Chapter 16: Zope on the Server
Deployment checklist
Scaling Zope
A deployment buildout using RelStorage
Moving code, configuration, and data to a server
Managing Zope processes
Backups and maintenance
Chapter 17: Setting up a Production Server
Server components
Hardware and operating system concerns
Caching and optimization
Testing and benchmarking
Chapter 18: Authenticating with LDAP or Active Directory
LDAP and Active Directory
Connecting Plone to an LDAP repository
Chapter 19: Looking to the Future
Making future releases
What we have achieved
Where to go next

What You Will Learn

  • Setting up a productive development environment
  • Basics of Plone customisation and extension
  • Theming a Plone site using Diazo and
  • Core concepts that underpin the workings of Zope and Plone
  • Creating custom content types using Dexterity
  • Building views and forms, including the use of z3c.form
  • Integrating with relational databases using SQLAlchemy
  • Customising the management of users and groups with PAS
  • Creating rich user interfaces with jQuery and jQuery Tools
  • Deploying and optimizing a production-ready Plone server
  • Integrating with LDAP and Active Directory


In Detail

Aspeli’s years of experience in Plone development and project management are combined with an approachable writing style to create an engaging and highly-informative guide to working with Plone. Professional Plone 4 Development stands as an excellent resource for developers of all levels.

- Eric Steele, Plone Release Manager

Plone is a web content management system that features among the top 2% of open source projects and is used by more than 300 solution providers in 57 countries. Its powerful workflow system, outstanding security track record, friendly user interface, elegant development model and vibrant community makes Plone a popular choice for building content-centric applications. By customising and extending the base platform, integrators can build unique solutions tailored to specific projects quickly and easily.

If you want to create your own web applications and advanced websites using Plone 4, Professional Plone 4 Development is the book you need.

The first edition of this book remains one of the most widely read and recommended Plone books. This second edition is completely revised and up-to-date for Plone 4.1, covering new topics such as Dexterity, Diazo, jQuery and z3c.form, as well as improved ways of working with existing technologies such as Buildout, SQLAlchemy and the Pluggable Authentication Service. It retains the writing style and comprehensive approach that made the first edition so popular.

Built around a realistic case study, Professional Plone 4 Development will take you from an understanding of Plone’s central concepts, through basic customization, theming, and custom development, to deployment and optimization.

The book is divided into four sections:

  1. First, you will be introduced to Plone and the case study, and learn how to set up a development environment.
  2. The second section covers basic customization, including theming a Plone site using Diazo.
  3. The third section focuses on custom development – building new content types and user interfaces, customizing security and integrating with external databases.
  4. The final chapters cover deployment and performance optimization.


Read More