Free Sample
+ Collection

Professional Plone Development

Martin Aspeli

Building robust, content-centric web applications with Plone 3, an open source Content Management System.
RRP $23.99
RRP $39.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 139781847191984
Paperback420 pages

About This Book

  • Plone development fundamentals
  • Customizing Plone
  • Developing new functionality
  • Real-world deployments


Who This Book Is For

This book is aimed at developers who want to build content-centric web applications leveraging Plone’s proven user interface and flexible infrastructure.

Some familiarity with the Python programming language and basic web technologies such as HTML and CSS is assumed. Readers would also benefit from some prior experience with Zope or Plone, for example as site administrators or “power users”.

Professional Plone Development


Table of Contents

Chapter 1: Plone in Context
A Brief History
Plone-the-Application and Plone-the-Framework
Additional Considerations when Deciding on Plone
The Plone Community, and Why You Belong There
Chapter 2: The Case Study
High-Level Requirements
Modeling and Mock-Ups
Running the Project
Chapter 3: The Development Environment
Quick Start
Creating a Zope Instance Manually
Understanding Eggs and Setuptools
Automating the Build Process with zc.buildout
Additional Development Tools
Learning to Help Yourself
Chapter 4: Customization Basics
Persistent Settings and the ZODB
Configuration Using GenericSetup
Acquisition and Skin Layers
Overriding Zope 3 Components
Customization Best Practices
Chapter 5: Developing a Site Strategy
Creating a "Policy Product"
Information Architecture
Chapter 6: Security and Workflow
Security Primitives
Keeping Control with Workflow
Custom Workflow Installation
Protected and Trusted Code
Chapter 7: Using Add-on Products
Finding and Evaluating Products
Playing it Safe
Installing a Product
Chapter 8: Creating a Custom Theme
The Theme Package
Tools and Techniques
Custom CSS Style Sheets
Image Resources
Managing Viewlets
Overriding Visual Elements
Chapter 9: Nine Core Concepts of Zope Programming
1. Object Publishing and Traversal
2. ZODB Persistence
3. Searching Objects Using the Catalog
4. Describing Functionality with Interfaces
5. Component Configuration with ZCML
6. Component Registries Using Utilities
7. Aspect-oriented Programming with Adapters
8. Views and Other Presentation Components
9. Synchronous Events
Chapter 10: Custom Content Types
Content-Centric Design
Package Layout
Modeling with Interfaces
Using the Archetypes Framework
Installation and Configuration in the Policy Product
Functional Tests
Creating a New Portlet
Zope 3, Formlib, and the Role of Archetypes
Chapter 11: Standalone Views and Forms
Pages Without a Specific Context
Writing Custom Forms
Automatically Generating Forms
The Form Controller Tool
Forms in Viewlets
Global Template Variables and Helper Views
Chapter 12: Relational Databases
Relational Databases vs. the ZODB
Modeling Screenings and Reservations
Setting Up the Database
SQLAlchemy—Turning SQL Lead into Python Gold
Managing Database Connections
Writing the Database Utilities
Adding the User Interface
Chapter 13: Users and Their Permissions
Defining a Membership Policy
Collaborative Workspaces
Advanced Member Management Options
Chapter 14: Rich User Interfaces with KSS
Understanding KSS
KSS-Enabling Film Ratings
A Brief KSS Reference
KSS-Enabling the "my cinema" Functionality
Chapter 15: Next Steps
Our Achievements So Far
Additional Functionality
Chapter 16: Server Management
Deployment Checklist
Zope Enterprise Objects
A Deployment Buildout
Moving the Code and Database to a Live Server
Zope as a Service
Backups and Database Maintenance
Chapter 17: Setting Up a Production Server
Virtual Hosting
Chapter 18: Authenticating with LDAP
LDAP and Active Directory
Connecting Plone to an LDAP Repository
Chapter 19: Looking to the Future
Making Future Releases
Our Achievements
Where to Go Next

What You Will Learn

You will gain an in-depth understanding of the concepts that underpin successful Plone development, including:

  • How to set up a suitable development environment
  • The importance of automated testing of any code you write
  • How to perform Plone customizations in a manageable, re-usable fashion
  • Techniques for branding Plone and changing its look and feel
  • How to safely install and manage third-party add-on components
  • How to create your own content types
  • How to create new forms and templates
  • Ways of interacting with external relational databases
  • Techniques for managing users and custom user metadata
  • Using Plone’s new AJAX framework to build dynamic user interfaces
  • How to set up Zope and Plone in a production environment
  • How to connect to an LDAP/Active Directory repository for authentication
  • How to configure a caching proxy to improve Plone's performance

Throughout the chapters, there is an emphasis on demonstrating key concepts with practical examples. The reader should be able to borrow from the examples to get up and running quickly, but refer to the explanations provided to fully appreciate what is going on under the hood.

In Detail

Plone is an open-source content management framework, built on the top of the Zope application server and written in Python. As a ready-to-use Content Management System with a focus on usability, Plone makes it easy for content authors to create and edit web content.

Plone is also used by developers, as a framework for building content-centric web applications such as dynamic websites and intranets. This book focuses primarily on the developer-oriented aspect of Plone.


Read More

Recommended for You