You are previewing Practical Plone 3: A Beginner's Guide to Building Powerful Websites.
O'Reilly logo
Practical Plone 3: A Beginner's Guide to Building Powerful Websites

Book Description

"

Tag Line

  • 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

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

"

Table of Contents

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