Personal tools
Skip to content. | Skip to navigation
This package provides an queryparser, querybuilder and extra helper tools, to parse stored queries to actual results, used in new style collections. It includes a registry reader which reads operators, values and criteria from the Plone registry.
============ Bring dead links back to life! plone.app.redirector knows where your content used to be and can bring you to its new location when content moves. This component expects you to register storage.RedirectionStorage as a local utility providing IRedirectionStorage (CMFPlone does this). Once that's done, the subscribers in subscribers.py will listen for object moved and object deleted events. When an object is moved (renamed or cut/pasted into a different location), the redirection storage will remember the old path. It is smart enough to deal with transitive references and circular references. When an object is deleted, all references to it are deleted as well. The view in browser.py contains methods (used in Plone's default_error_message.pt when it gets a NotFound error) that do the following: - attempt to redirect from the assumed intended path to the new path of an object, if the redirection storage holds a reference from the old path. - if not, look for the first valid parent of the assumed intended path, and present it as an option to the user - further, use the last id of the assumed intended path and attempt to search for objects in the catalog that contain this, presenting the options to the user
The “IReferenceable” behavior is used for enabling UUID (plone.app.uuid) support for dexterity contents, like in archetypes content types. This allow for example references between archetypes and dexterity content types. Note: It can’t work with Plone==4.0 because it is based on plone.uuid integration in CMF. It is compatible with Plone>=4.1
plone.app.registry provides Plone UI and GenericSetup integration for plone.registry, which in turn implements a configuration registry for Zope applications. For details about how the registry works, please see the plone.registry documentation. What follows is a brief overview of common usage patterns in Plone.
Plone support for z3c.relationfield
A set of components to provide a content centric API for the engine from plone.relations, as well as a few different core relationship types and policies. See the package README.txt for details on usage.
plone.app.robotframework provides Robot Framework compatible resources and tools for writing functional Selenium tests (including acceptance tests) for Plone CMS and its add-ons. Plone/Robot Framework requires robot-server and an appropriate test layer: $ robot-server my.product.testing.MY_PRODUCT_ROBOT_TESTING To test plone.app.robotframework, this command would be something like: $ robot-server --no-reload plone.app.robotframework.testing.PLONE_ROBOT_TESTING Then we suggest something like the python-robotframework-ride graphical editor to open, run, and report Robotframework tests.
plone.app.search combines search results listing with Advanced Search form. This provides search results view for Plone CMS with possibilities to filter, sort and apply advanced filters to the search results without. When changing a search criteria on the search view, AJAX call is delivering you the updated results instead of reloaded page that lets you get to what you're searching for faster without much distraction caused by page reloading. The package is part of Plone 4.1. plone.app.search also updates main search field (usually located at the top right of your Plone site by default) and search portlet to return results in the updated listing view. plone.app.search has the aim to give intuitively clear and understandable interface for searching in Plone. But there might be some new things that are not so obvious. Let's see how the search results works now.
The IStagingSupport behavior is used for enabling the plone.app.iterate functionality for Dexterity content. It allows you to perform the checkout and checkin operations to work on a copy of your original content.
plone.app.testing provides tools for writing integration and functional tests for code that runs on top of Plone. It is based on plone.testing. If you are unfamiliar with plone.testing, the concept of layers, or the zope.testing testrunner, please take a look at the the plone.testing documentation. In fact, even if you are working exclusively with Plone, you are likely to want to use some of its features for unit testing. In short, plone.app.testing includes: A set of layers that set up fixtures containing a Plone site, intended for writing integration and functional tests. A collection of helper functions, some useful for writing your own layers and some applicable to tests themselves. A convenient layer base class, extending plone.testing.Layer, which makes it easier to write custom layers extending the Plone site fixture, with proper isolation and tear-down. Cleanup hooks for zope.testing.cleanup to clean up global state found in a Plone installation. This is useful for unit testing.