Practical Plone 3: A Beginner's Guide to Building Powerful Websites

Alex Clark, Clayton Parker, Darci Hanning, David Convent

eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
$19.49 save 35%!
Print book: $49.99
$44.99 save 10%!
Print + eBook bundle: $79.98
Includes free access to the book on PacktLib
$49.49 save 38%!
Free Shipping! UK, US, Europe and selected countries in Asia.
This book can also be purchased from:
Overview
Table of Contents
The Author
Reviews
Downloads
  • Get a Plone-based website up and running quickly without dealing with code
  • Beginner's guide with easy-to-follow instructions and screenshots
  • Learn how to make the best use of Plone's out-of-the-box features
  • Customize security, look-and-feel, and many other aspects of Plone 

Book Details

Language : English
Paperback : 592 pages [ 235mm x 191mm ]
Release Date : February 2009
ISBN : 1847191789
ISBN 13 : 978-1-847191-78-6
Author(s) : Alex Clark, Clayton Parker, Darci Hanning, David Convent, John DeStefano, Jon Stahl, Martin Aspeli, Matt Bowen, Ricardo Newbery, Sam Knox, Steve McMahon, Tom Conklin, Veda Williams
Topics and Technologies : All Books, Content Management (CMS), Open Source, Plone, Python


Table of Contents

Preface
Chapter 1: Introducing Plone
Chapter 2: Installing Plone
Chapter 3: A Brief Tour Of Plone
Chapter 4: Create Web Pages
Chapter 5: Add News Items, Events, Links, and Files
Chapter 6: Structure Your Content
Chapter 7: Safely Manage Different Versions Of Content
Chapter 8: Delegate Content Management to Other People
Chapter 9: Manage Approvals and Other Workflow for my Content
Chapter 10: Show Additional Information to Users and Visitors
Chapter 11: Automate Tasks with Content Rules
Chapter 12: Control My Site's Configuration
Chapter 13: Set up a Repeatable Environment using Buildout
Chapter 14: Find and Install Add-Ons that Expand Plone Functionality
Chapter 15: Build Forms
Chapter 16: Create New Content Types
Chapter 17: Customize Plone
Chapter 18: Change the Look and Feel
Chapter 19: Take My Site Live
Chapter 20: Make it Go Faster
Chapter 21: Connect to Your LDAP/Active Directory Repository
Index
  • Chapter 1: Introducing Plone
    • What is a content management system?
    • What is Plone?
      • Plone: the product
      • Plone: the framework
      • Plone: the community
        • Online
        • In the real world
    • What does it mean that Plone is open source?
    • Planning your web site
    • Summary
  • Chapter 2: Installing Plone
    • Background
      • Downloading Plone installers
    • Installing on Windows
      • Running the Windows installer
      • Running Plone
        • Setting ports
        • Starting and stopping the Plone service
      • Customizing startup
      • The installation layout
      • Uninstalling
    • Installing on Mac OS X
      • Running the installer
        • Custom install options
        • Finishing up
      • Starting and stopping Plone
      • Uninstalling Plone
    • Installing on Linux
      • Installation options
      • Preparing your system
        • Extra packages
      • Downloading and unpacking the Unified Installer
      • Running the Unified Installer
      • Starting and stopping Plone
      • The installation layout
      • Installation options
    • Installation from source
      • The software stack: Python, Zope, and Plone
      • Traditional source install
      • A better build with buildout
    • Testing your installation
    • Summary
  • Chapter 3: A Brief Tour Of Plone
    • Logging into a Plone based site
      • Portlets
      • Navigating the home page
        • Search
        • User link
        • Personal dashboard
        • Change password
        • Dashboard edits
      • Tabs on the Home page
        • Home tab
        • Users tab
        • News
        • Events
        • Breadcrumbs
        • My folder
        • Colophon
    • Summary
  • Chapter 4: Create Web Pages
    • Viewing site contents
    • Adding a new page
      • Title
      • Description
      • Body Text
      • Using the formatting tools
        • Bold and Italics
        • Left, center, and right align
        • Numbered and bulleted lists
        • Definition list
        • Indent text
        • Using the style menu
      • Saving your work
    • Editing a page
      • Edit all parts of a page
      • Edit a single part of a page
      • Editing the HTML of a page
      • Using full screen mode
    • Creating hyperlinks
      • Internal Links
      • External Links
    • Linking to a specific part of a page: anchors
      • Defining the anchors
      • Linking to an anchor from a different page
      • Linking to an anchor on the same page
  • Working with images
    • Uploading an image
    • Inserting an image on a Page
    • Preparing images for the web
  • Controlling the layout of a page: tables
  • Publishing your work
    • Publishing a page
    • Publishing multiple pages
    • Publishing a folder
  • Summary
  • Chapter 6: Structure Your Content
    • Real world information architecture tips
      • Structuring your content
      • Adding Collections to your site
        • Additional Collections
        • Restricting types of content
        • Moving content
        • Changing the order of pages
    • Summary
  • Chapter 8: Delegate Content Management to Other People
    • Creating users and groups
      • Creating a user
      • Allowing users to register themselves
        • Creating users with initial passwords
      • Roles and permissions
        • Contributor
        • Editor
        • Reader
        • Reviewer
        • Manager
      • Using groups to control security
        • Creating groups
        • Adding users to groups
        • Assigning roles to specific places in your site
    • Summary
  • Chapter 10: Show Additional Information to Users and Visitors
    • What's a portlet, anyway?
    • Plone's built-in portlets
    • Add-on portlets
    • Adding portlets
      • Adding portlets to specific sections of your site
      • Adding portlets to specific content types
      • Adding portlets to specific groups of users
    • Hiding portlets for specific content objects
      • Unblocking portlets that have been blocked
  • Creating new types of portlets
    • Installing collective.portlet.tal
    • Adding a simple TAL portlet
      • Variable declaration
      • Conditionals
      • Choosing a random item
      • Filling in the value of an HTML tag
      • Attributes on an HTML tag
    • More information
  • Summary
  • Chapter 11: Automate Tasks with Content Rules
    • Understanding content rules
    • Getting into action
      • Receiving an email when someone adds a page
      • Moving published news items to a top-level news folder
        • Triggering events
        • Conditions
        • Actions
      • Notify site users of a successfully-completed action
    • Summary
  • Chapter 12: Control My Site's Configuration
    • The Plone control panel
    • Walk-through of each preference panel
      • Add/Remove Products
      • Calendar
      • Collection
      • Content Rules
      • Errors
      • HTML filtering
      • Language
      • Mail
      • Maintenance
      • Markup
      • Navigation
      • Search
      • Security
      • Site settings
      • Themes
      • Types
      • Users and Groups
      • Kupu visual editor
        • Styles
      • Zope Management Interface
    • Syndicating content with RSS
    • Navigation options
      • Global sections
      • Navigation portlet
    • Summary
  • Chapter 14: Find and Install Add-Ons that Expand Plone Functionality
    • Background
    • Where to find products
      • Using the Plone product pages
    • Playing it safe with add-on products
      • Product choice strategy
      • Evaluating a product
        • Testing a product
        • Looking to the future
    • Installing and testing products
      • Zope installation
      • Downloading and unpacking a product
        • Traditional product installation
        • Eggs
      • Plone installation
        • Installation problems
    • Widely-used Plone products
      • Integration
      • Content management
      • Community
      • Feedback
      • Page composition
      • Media
      • E-commerce
      • Mashups
      • Internationalization
      • Development and examples
        • Examples
        • API exploration
        • Code generators
    • Summary
  • Chapter 15: Build Forms
    • Installing PloneFormGen
    • Creating a form
      • Adding a Form Folder
      • Configure the basic properties of your form
      • Adding and editing form fields
      • Adding selection fields and multi-select fields
    • Action Adapters
      • Mailer Adapter
      • Save Data Adapter
      • Custom Script Adapter
    • Overrides
    • Configuration
    • References
    • Summary
  • Chapter 16: Create New Content Types
    • Background
      • When do I actually need a custom content type?
      • But I'm not a programmer!
    • The tools—or drawing code for fun and profit
      • Archetypes and object-oriented programming
        • The concept of schema
        • Object-oriented programming concepts
      • UML and a quick introduction of the symbols you'll use
        • A quick look at the programs that make it possible
        • The class, the package, composition, aggregation, and generalization
        • Stereotypes and tagged values
      • Our bridge to happiness: ArchGenXML
    • Building a custom newsroom
      • A rough outline of the types we'll use
        • Press release
        • Press kit folder
      • Drawing your first new product
        • Creating a package for your types
        • Creating your first classes
        • Generate your product!
        • Adding your fields
        • Adding a custom folder type
      • Cleaning things up a bit
        • Tagged values for greater precision
        • Moving around in the code and renaming fields them
    • Summary
  • Chapter 17: Customize Plone
    • Background
    • Make changes to tabs, buttons, and menu options
      • Document actions category
      • Site actions category
      • Folder buttons category
      • Object category
      • Object buttons category
      • Portal tabs category
      • User category
    • Customization using templates
      • Skin layer customization—The old fashioned way
    • Registering and installing a new filesystem-based skin layer
      • Getting started
    • Zope 3 basics
      • Zope 3 browser layers
      • Using plone.theme to enable a custom browser layer interface
      • Using browser layer technology to allow additive layers
    • About Zope 3 browser resources
      • Images and stylesheets
      • Browser views and pages
      • Using portal_view_customizations
      • Finding views
      • Viewlets
      • Portlets
    • Writing a filesystem product
      • About GenericSetup
        • Base profile
        • Extension profiles
        • An example extension profile
      • Taking snapshots
      • Export profile
      • Import profile
    • Summary
  • Chapter 18: Change the Look and Feel
    • Developing on the filesystem
    • Assumptions
    • Setting up a development environment
      • Windows users
    • Generating your theme product
    • Installing a theme product on a Plone site
      • Updating your buildout to recognize your theme product
      • Creating a Plone site
      • Putting your site into debug mode
      • Installing your product
    • Getting started with an example theme product
      • Generating the theme product
        • Altering important boilerplate code
      • Working with images
        • Overriding the default Plone icons
        • Using Firebug to inspect CSS code
        • Examining the images in our theme product
        • Modifying your folder structure to add an additional skin layer
        • Adding a favicon
        • Modifying other skin layer images
        • Adding new images to our theme product
        • Images as Zope 3 browser resources
      • Working with stylesheets
        • Stylesheets as Zope 3 resources
        • Working with base properties
        • Registering a new stylesheet for your theme product
        • Stylesheets located in our theme product
        • Basic theming of a Plone site
      • Altering the logo
        • Altering the image using base properties
        • Altering the Logo viewlet
        • Identifying if the Logo is template-based or class-based
        • Customize the template that renders the Logo or create a new one
        • Overriding or referencing the class that controls the Logo viewlet
        • Registering the viewlet for the Logo
      • Reworking the header area viewlets
        • Moving the breadcrumbs to a new viewlet
        • Register the breadcrumbs viewlet for the correct viewlet manager
        • Ordering the viewlet in the correct location in our profiles
        • Moving the Logo viewlet to a new viewlet manager
        • Moving the site actions viewlet to a new viewlet manager
        • Reordering the personal bar viewlet
      • Styling the header
      • Styling the central region of the page
      • Altering the footer area viewlets
      • Altering the header area title
        • Backward-Compatibility of 3.x themes
        • Creating the template
      • Working with section colors
    • Summary
  • Chapter 19: Take My Site Live
    • Reverse proxying
      • What is a reverse proxy and why do you need one?
      • But I have to use IIS!
      • Reverse proxying with Apache
        • Apache virtual hosting
    • Securing a production server
      • Securing the ports
      • Locking down the service
        • Running Zope as a special user
    • Turning off debug modes
      • Checking Zope debug mode
      • Resource registry debug modes
    • Starting Zope automatically
      • Linux
      • Windows
      • OS X
    • Backing up Plone and packing down the database
      • What to back up
      • Backing up the Zope database
        • Repozo
        • Restoring backups
      • Packing the ZODB
        • Packing interactively
        • Automated packing
    • Log rotation
    • Staging from development to a live server
      • Synchronizing add-on products and code
      • Moving object data
    • Summary
  • Chapter 20: Make it Go Faster
    • Getting and installing CacheFu
      • Installing locally with buildout
      • Installing locally as an old-style Zope 2 product
      • Enabling CacheFu
    • Picking a proxy
      • Squid or Varnish?
    • Installing a caching proxy with buildout
      • Squid buildout recipe
      • Varnish buildout recipe
    • Installing a caching proxy without buildout
      • Traditional Squid build
      • Traditional Varnish build
      • Generating proxy configuration from CacheFu templates
        • CacheFu squid template
        • CacheFu varnish template
    • Setting up proxy purging
    • Setting up compression and Vary headers
    • Caches and cache control
      • Controlling your caches
      • Freshness headers
      • Validation headers
      • Zope memory cache control
      • Other cache control mechanisms
    • Exploring the CacheFu control panel
    • Making it go even faster
      • Starting with the default
        • Aggressively-cached items
        • Moderately-cached items
        • Weakly-cached items
      • Speed tip 1: Speed up weakly-cached items
      • Speed tip 2: Speed up non-cached items
      • Speed tip 3: Watch out for authenticated versus anonymous users
      • Speed tip 4: Set a short lifetime on purgeable content
    • Summary
  • Chapter 21: Connect to Your LDAP/Active Directory Repository
    • LDAP and Active Directory
    • Installing LDAP/Active Directory support
      • Installing prerequisites
        • Installing on Linux
        • Installing on OS X
        • Installing on Windows
      • Installing PloneLDAP
      • Installing plone.app.ldap
        • Activate LDAP support
    • Configuring LDAP connections
      • Configure Global Settings
      • Configure LDAP Schema
      • Configure LDAP Servers
      • Testing your LDAP connection
      • Advanced LDAP configuration
    • Summary

Alex Clark

Alex Clark is a Plone Consultant from Bethesda, MD, USA. He runs a thriving Plone consultancy along with his wife, Amy Clark. Together, they service a wide variety of government, corporate, and non-profit organizations in the greater Washington, D.C. area, and worldwide. For more information, please see http://aclark.net.This is his first book and he hopes that people enjoy the result and get inspired to use Plone.


Clayton Parker

Clayton Parker has been creating dynamic web sites using the Plone Content Management System since 2004. He started out at Six Feet Up, Inc. as a Systems Administrator, which gives him an interesting take on Plone deployment. In 2007, Clayton started using zc.buildout to manage and deploy their Plone sites. As a Senior Developer at Six Feet Up, he has created and contributed to buildout recipes in use by the Community.


Darci Hanning

Darci Hanning has a BSEE from Washington State University (Pullman) and received her MLIS from the University of Washington. She brings over 15 years of experience in software and web application development to her position as the Technology Development Consultant at the Oregon State Library. For the past three years, she has been using Plone, an Open source Software Content Management System, to create and deploy dynamic, easy-to-maintain web sites for small libraries in Oregon. Since Spring 2006, she has been providing technical leadership for the Plinkit Collaborative, a multi-state co-operative, to deploy Plinkit in Colorado, Illinois, and Texas. She has given presentations on both Plone and Plinkit at national and international conferences, has recently served as the President of the Plone Foundation Board, and was selected as a "2008 Mover and Shaker" by Library Journal.


David Convent

David contributed several times to the Plone documentation effort with tutorials and how-tos covering key theming techniques. He developed DIYPloneStyle, a product and a tool that helps theme developers start with the basic generated code. The effort started with DIYPloneStyle is now merged in the theming templates of ZopeSkel, which he maintains.

David is currently employed at the Royal Belgian Institute of Natural Sciences. He's been working there for the MARS (Multimedia Archaeological Research System) project; a collaborative system based on Plone designed for Archaeologists and Anthropologists, and is now helping the web team at the institute.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Find your book in our support section to find errata and to download code samples.

What you will learn from this book

  • Meet the fully featured CMS and dive into its latest features
  • Configure various parts of Plone's user interface and create an advanced UI platform for your website
  • Create and manage content on your website, such as web pages, files, news items, and more
  • Create users and groups; give them specific permissions to add, edit, and view content on your site
  • Create and customize portlets on your website to enhance the web components; expand Plone’s functionality with add-on components
  • Master Plone's powerful workflow and security system to have full control over the site's contents
  • Build a site that reacts intelligently when users create and modify content, by setting up the content rules
  • Customize your Plone template and get a new look and feel for your website
  • Create new content types to capture information unique to your organization
  • Deploy your site, configure caching, and connect to an LDAP/Active Directory repository


1. Introduction – Jon Stahl
What is a CMS? What is Plone, and where did it come from?

2. Installing Plone – Steve McMahon
Learn how to get Plone up and running on Windows, Mac OS X, and Linux.

3. A brief tour of Plone – Tom Conklin
Get an overview of Plone's user interface and key features.

Part 2 – I want to...

4. Create Web Pages – Sam Knox
Learn how to create and publish web pages with Plone's built-in visual editor.

5. Add News Items, Events, and Other Content – Tom Conklin
Learn about the other standard content types, such as news items, events, and files.

6. Structure the Content in My Site – Tom Conklin
Learn how to use folders and Collections to structure your content.

7. Safely Manage Different Versions of Content – Darci Hanning
Understand Plone's built-in versioning features.

8. Delegate Content Management to Multiple Users – Tom Conklin
Learn how to create users and groups and give them permissions over various parts of your site.

9. Manage Approvals and Other Workflow for My Content – Matt Bowen
Customize your security model by creating workflow.

10. Show Additional Information to Users and Site Visitors – Jon Stahl
Learn about Plone's Portlet features.

11. React to Changes in the Site Automatically – Alex Clark
Build intelligence into your content management with Content Rules.

12. Control My Site's Configuration in Detail – Alex Clark
Detailed explanations of the various Plone control panels.

Part 3 – Now that I've got the basics, I'd like to learn how to...

13. Set Up Repeatable Environments using Buildout – Clayton Parker
Set up a development environment with various debugging tools.

14. Find and Install Add-ons That Expand Plone's Functionality – Steve McMahon
Learn how to find and install add-on components that are freely available online.

15. Build Forms – Jon Stahl (with Steve McMahon)
Create web forms quickly and easily.

16. Create New Content Types – Matt Bowen
Create custom content types to capture and manage specific information.

17. Customize Aspects of Plone – Veda Williams
Learn how to customize Plone's various UI components.

18. Change the Look-and-Feel – David Convent
Create a custom theme for your site.

Part 4 – My boss wants me to...

19. Put My Site Live – Steve McMahon
Learn how to configure a live Plone server.

20. Make It Go Faster – Ricardo Newbery
Configure a web cache to make Plone faster.

21. Connect to our LDAP/Active Directory Repository – John DeStefano
Let your users log in with their existing usernames and passwords by connecting to an existing LDAP/Active Directory server. 

Special Offers

PacktLib gives you access to this and 600+ other titles with an annual or monthly subscription.

Annual subscription:

$220.00 per annum

Monthly subscription:

$21.99 per month

Buy 2 eBooks
and Get 50% Off
+
Buy Practical Plone 3: A Beginner's Guide to Building Powerful Websites with Building Websites with Plone and get 50% off both the eBooks.
Just add both the eBooks to your shopping cart and enter pp3bweb in the 'Enter Promotion Code' field. Click 'Add Promotion Code' and the discount will be applied.
View Best Selling eBook offers

In Detail

Plone is a highly extensible content management system built on Zope application server, which is written in Python. But, you need to have good programming skills to design and develop Plone web applications. Does that mean you can't have a Plone website if you don't have good programming skills? Of course not! You can develop your Plone websites through a graphical interface where you don't need to fiddle with code.

This book will give you clear understanding of how to use Plone 3 to meet your content management needs. Starting from the basics, this book will walk you through the easy-to-use features of Plone and help you create a feature-rich website through its point-and-click feature.

A variety of authors have contributed chapters to this book in the hope that you, the reader, will get a good understanding of Plone and be able to use it effectively. This beginners' guide will introduce the great CMS and its features and then take you further in web development. The book will introduce you to Plone's advanced UI features and show you how to create such a UI platform for your website. You will learn how to manage the contents like web pages, news items, and so on. Working with custom portlets will help you enhance the web components for your site. Each chapter will show you how to add features to your site and develop its functionality. Each chapter can be read independently; you need not go through the previous one to continue further. You can pick and choose the topics depending on your interest and requirement.

The only Plone book aimed specifically at non-programmers, showing you how to build powerful Plone websites through its graphical web interface

Approach

This is a beginner's practical guide that doesn't involve any code or programming concepts. You will learn by pointing and clicking on the options available in front of you. It includes easy-to-follow instructions and screenshots that will guide you through creating a powerful website.

Each chapter stands alone and you need not go through all the chapters. You can pick and choose depending upon your requirements.

Who this book is for

If you want to get a Plone site up and running quickly and don't want to get involved in programming, this book is for you. This book is aimed at beginners, who want to configure and customize Plone to meet their content management needs.

The book doesn't expect programming skills, although some knowledge of fundamental web concepts such as HTML and HTTP may be helpful.

Are there no books available that are right for you at the moment? How about signing up to our newsletter to keep up to date?
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Sort A-Z