Current

This document is valid for the current version of Plone.

Developer Manual

Plone Developer Manual is a comprehensive guide to Plone programming.

  1. Managing projects with Buildout
    1. Introduction
    2. Packages, products and eggs
    3. Prerequisites
    4. Creating a buildout for your project
    5. Understanding buildout.cfg
    6. Creating a buildout defaults file
    7. Installing a third party product
    8. Creating a new package
    9. A deployment configuration
    10. Useful buildout recipes
    11. Installing products from Subversion
  2. Content-types with Archetypes
    1. Introduction
      1. What is Archetypes?
      2. Archetypes schemas
      3. What is ATContentTypes?
    2. A Simple AT Product
      1. Introduction
      2. Product package layout
      3. The interfaces module
      4. The configuration module
      5. The startup module
      6. The content package and its modules
      7. Adding a custom view for the content
      8. Installing the product
      9. Basic integration tests
      10. Troubleshooting
    3. Fields
      1. Fields Reference
      2. Widgets Reference
      3. Validator Reference
    4. Other Useful Archetypes Features
      1. How to use events to hook the Archetypes creation process
    5. Appendix: Practicals
      1. How-To Extend A Basic Archetype Content Type
      2. Implement Archetypes ComputedField and ComputedWidget on your Product and reference other Fields
      3. Making the view page of a content type use your schemata declarations
      4. Enabling versioning on your custom content-types
      5. b-org: Creating content types the Plone 2.5 way
        1. Introduction
        2. A whirlwind tour of Zope 3
        3. Overview of b-org
        4. To Archetype or not to Archetype
        5. The extension story
        6. Filesystem organisation
        7. Interfaces
        8. Test-driven development
        9. Setup using GenericSetup
        10. Using membrane to provide membership behaviour
        11. Writing a custom PAS plug-in
        12. Placeful workflow
        13. Sending and handling events
        14. Annotations
        15. Zope 3 Views
  3. Using ArchGenXML
    1. Getting Started
      1. Introduction
      2. Installation
      3. Configure ArgoUML to use the archgenxml profile
      4. UML
      5. Hello World
    2. Basic Features
      1. Classes / Content Types
      2. Attributes / Fields / Indexing
      3. Widgets
      4. Methods and Actions
      5. Relationships between classes and objects
      6. Workflows
      7. Tests
    3. Third Party Product Integration
      1. ATVocabularyManager
      2. Relations
      3. Remember
      4. CompoundField and ArrayField
      5. Content Flavors
      6. archetypes.schemaextender
    4. Reference
      1. Quick Reference
      2. Tagged Values
      3. Stereotypes
    5. Step by Step Instructions
      1. Setup of a Testcase Environment using UML and ArchGenXML
    6. Recipes and Tips
      1. Using the config file to get shorter tagged values
  4. Portlets
    1. What's a portlet?
    2. Basic plone.portlets architecture
    3. Testing the portlet
    4. How and where are Portlet Assignments stored?
    5. How are portlets rendered?
    6. Appendix: Practicals
      1. Subclassing new portlets
  5. Indexing and searching
    1. Introduction to ZCatalogs and the Catalog Tool
    2. Querying the catalog
    3. Configuring Catalogs with GenericSetup
    4. Custom indexing strategies
    5. Searching with AdvancedQuery
  6. Forms
    1. Using zope.formlib
      1. Why learn how to use a new framework?
      2. Creating a simple feedback form
      3. Adding validation
      4. Customizing the template and the widgets
    2. Using CMFFormController
  7. Testing
    1. Introduction
    2. A brief example
    3. Types of tests
    4. Telling stories with doctests
    5. Running tests
    6. Writing unit tests
    7. Testing a Zope 3 component with a separate doctest file
    8. Writing a PloneTestCase unit/integration test
    9. Integration doctests using PloneTestCase
    10. Functional and system tests with zope.testbrowser
    11. Using zope.testrecorder to record functional tests
    12. Determining the Code Coverage of your Test Suite
    13. Testing examples
  8. Generic Setup
    1. What is GenericSetup?
    2. GenericSetup Profiles
      1. What is a profile?
      2. Profile types
      3. Registering a profile
    3. Using GenericSetup Efficiently
    4. GenericSetup Reference
      1. Actions
      2. Catalog
      3. Control Panel
      4. Component Registry
      5. Factory Tool
      6. MailHost
      7. Metadata
      8. Portlets
      9. Properties
      10. Resource Registries
      11. Roles and Permissions
      12. Sharing
      13. Skins
      14. Structure
      15. Tools
      16. Types
      17. Viewlets
      18. Workflow
  9. Properties Reference
    1. Site Root Properties
    2. Site-wide Properties
    3. Navigation Properties
    4. portal_actions reference
  10. Internationalization (i18n) and localization (l10n)
    1. Introduction
    2. Language negotiation
    3. Translating text in code
      1. Introduction
      2. zope.i18n package
      3. Marking translatable strings in code
      4. Automatically translated message ids
      5. Manually translating message ids
      6. Message ids in other files than Python source code
      7. String substitution in message ids
      8. PlacessTranslationService
      9. i18ndude
      10. Other resources
    4. Translating and creating multilingual content
    5. Site language settings
    6. Language selector
  11. Users and Security
    1. Pluggable Authentication Service
      1. Introduction
      2. Features and interfaces
      3. The important interfaces
      4. Configuring PAS
      5. Configuring an individual PAS plugin
      6. Concepts
      7. The user object
      8. User creation
      9. User factory plugin
      10. Properties plugins
      11. Group plugins
      12. Roles plugin
      13. Authorisation algorithm
      14. Credential extraction
      15. Credential authentication
      16. Challenges
      17. PAS eats exceptions
      18. Plugins
        1. Plugin Interfaces
          1. List of Plugin Interfaces
        2. Plugin Types
          1. Extraction Plugins
          2. Authentication Plugins
          3. Challenge Plugins
          4. Update Credentials Plugins
          5. Reset Credentials Plugins
          6. Properties Plugins
          7. Groups Plugins
          8. Roles Plugins
          9. User_Enumeration Plugins
          10. User_Adder Plugins
          11. Group_Enumeration Plugins
          12. Role_Enumeration Plugins
          13. Role_Assigner Plugins
  12. Client-Side Functionality & JavaScript
    1. Including JavaScript
    2. Included JavaScript Libraries
      1. jQuery
      2. jQuery Tools
      3. jQuery Form Plugin
      4. Other Libraries
    3. Popup Overlays & Forms
    4. JavaScript Standards
      1. Recommendations for JavaScript Components
      2. Coding Standards
      3. Rendering Tests
    5. AJAX & Errors
    6. Animations
    7. Platform Testing
    8. Messages & Translation
    9. Testing
    10. KSS

All content on one page (useful for printing, presentation mode etc.)