The examples in this book follow a sample project creating a digital newspaper website to meet the requirements of a fictional customer who wants to place commercial advertisements all over the site. The whole book is a comprehensive collection of recipes that elaborate a series of well known use cases. You will find an organized step-by-step procedure to accomplish each task followed by detailed explanations to better understand how and why each topic was undertaken, and many links to online references and other related sections in the book that can supplement the subject in question. You can read the whole book or just pick the recipes that are relevant for you; where necessary, cross references will help you understand the recipes even if you do not read them in sequential order. This book is for programmers who have some knowledge of Python, Plone, and Zope. If you want to develop feature-rich add-on products in Plone, this book is for you. It is aimed at the development of backend features, so you need not have other web-related skills such as HTML, CSS, or JavaScript.
Author(s): Juan Pablo Giménez; Marcos F. Romero
Publisher: Packt Pub Limited
Year: 2010
Language: English
Pages: 388
Cover
Copyright
Credits
About the Authors
About the Reviewers
Table of Contents
Preface
Chapter 1: Getting Started
Introduction
Installing Python on Linux
Installing Plone on Linux
Installing Plone on Windows
Checking out code from a version control
system
Creating a Plone site
Chapter 2
: Using Development Tools
Introduction
Accessing an IPython powered shell
Taking advantage of an enhanced interac
tive Python debugger with ipdb
Discovering Zope/Plone APIs and docstrings
with DocFinderTab
Opening an online Python shell on Plone
using Clouseau
Debugging Zope exceptions with PDBDebug
Mode
Applying code changes on-the-fly using
plone.reload
Chapter 3
: Creating Content Types with ArchGenXML
Introduction
Installing ArchGenXML
Configuring ArgoUML
Creating a model
Generating code
Customizing generated code
Installing the product
Automatically installing products in your
Zope instance
Chapter 4
: Prevent Bugs through Testing
Introduction
Working with paster-generated test suites
Creating a test suite with ArchGenXML
Creating doctests with iPython
Zope functional testing
Using Selenium functional tests
Chapter 5
: Creating a Custom Content Type with Paster
Introduction
Creating an Archetypes product with paster
Adding a content type into a product
Changing the base class in paster content
types
Adding fields to a content type
Adding a custom validator to a content type
Modifying the view of a content type with
jQuery
Chapter 6: Creating Lightweight Content Types
Introduction
Creating a product package structure
Creating a folderish content type
Creating the user interface for Zope 3
content types
Creating content types with Dexterity
Chapter 7: Improving Product Performance
Introduction
Installing CacheFu with a policy product
Improving performance by tweaking
expensive code
Testing server load and benchmarking
our code
Chapter 8
: Internationalization
Introduction
Adding i18ndude support to ArchGenXML
Installing i18ndude standalone
Using i18ndude
Using Placeless Translation Services for
i18n support
Using zope.i18n approach
Overriding others' translations
Using i18n with ArchGenXML
Using i18n with paster-created products
Adding i18n support to any product
Translating content
Setting language options
Chapter 9
: Adding Security to your Products
Introduction
Creating a new permission
Adding a new role
Adding user groups
Testing security customizations
Protecting operations with permissions
Managing security with workflows
Adding configuration options in Plone
control panel
Chapter 10
: Improving User Interface with KSS
Introduction
Preparing a form to take full advantage
of KSS
Changing end user pages with client-side
KSS
Submitting data via AJAX
Chapter 11
: Creating Portlets
Introduction
Creating a portlet package
Customizing a new portlet according to
our requirements
Testing portlets
Assigning portlets automatically
Chapter 12
: Extending Third-Party Products
Introduction
Using skin layers
Overriding Zope 3 components
Customizing Zope 3 browser templates and
files
Subscribing to others' events
Using the ZCA to extend a third-party
product: Collage
Chapter 13
: Interacting with other Systems: XML-RPC
Introduction
Creating a configuration form
Registering a local utility
Registering a global utility
Chapter 14
: Getting our Products ready for Production
Introduction
Installing and configuring an egg repository
Submitting products to an egg repository
Writing a production buildout
Appendix: Creating a Policy Product
Creating a policy product
Index