How to install plone.app.collection
- Download and install ActivePython
- Open Command Prompt
- Type
pypm install plone.app.collection
Dependencies
- distribute
- plone.app.contentmenu
- plone.app.dexterity
- plone.formwidget.querystring
- [test] decorator
- [test] lxml
- [test] plone.act
- [test] plone.app.testing
- [test] robotframework-selenium2library
- [test] robotsuite
- [test] selenium
Lastest release
Introduction
Collections in Plone are the most powerful tool content editors and site managers have to construct navigation and site sections.
This is a brand new implementation of collections for Plone, using ajax/javascript to make a simpler, easier and streamlined user experience for using collections. Having a more lightweight backend that does not depend on many nested criteria types.
It's designed with simplicity and usability as a main focus, so content editors and site managers can create complex search queries with ease.
Note
This is the dexterity-based version of plone.app.collection. If you are looking for the ATContentTypes-based version that is included in Plone since version 4.2, stay with the 1.x branch of plone.app.collection.
How to add your own criteria to a collection
plone.app.collection and (or more precisely the underlying plone.app.querystring) uses plone.app.registry records to define possible search criteria for a collection.
If you want to add your own criteria, say to choose a value from a custom index, you have to create a plone.app.registry record for this index in your generic setup profile (e.g profiles/default/registry.xml):
<registry> <records interface="plone.app.querystring.interfaces.IQueryField" prefix="plone.app.querystring.field.department"> <value key="title">Department</value> <value key="description">A custom department index</value> <value key="enabled">True</value> <value key="sortable">False</value> <value key="operations"> <element>plone.app.querystring.operation.string.is</element> </value> <value key="group">Metadata</value> </records> </registry>
The title-value refers to the custom index ("Department"), the operations-value is used to filter the items and the group-value defines under which group the entry shows up in the selection widget.
Note
For a full list of all existing QueryField declarations see https://github.com/plone/plone.app.querystring/blob/master/plone/app/querystring/profiles/default/registry.xml#L164
For a full list of all existing operations see https://github.com/plone/plone.app.querystring/blob/master/plone/app/querystring/profiles/default/registry.xml#L1
Changelog
2.0b5 (2013-02-04)
- Functional robot framework based tests added. [Gomez]
- Remove '!important' from collection.css. NEVER use !important in Plone css. [timo]
2.0b4 (2012-11-26)
- No changes. 2.0b3 was a brown bag release. [timo]
2.0b3 (2012-11-26)
- Check if item isPrincipiaFolderish instead of the hardcoded portal_type Folder when searching for images [ichimdav]
- Fix thumbnail_view so it works with any portal_atct image types not just with Image and News Items [ichimdav]
- Fix summary_view so shows thumbnails for contents with the image field, see http://dev.plone.org/ticket/13010 [kroman0]
- Fix thumbnail_view so it works when Images or News Items are listed, see http://dev.plone.org/ticket/13010 [kroman0]
- Avoid site error on summary view if some scale generation have failed. [thomasdesvenain, kroman0]
- Remove plone.directives.form dependency. [timo]
2.0b2 (2012-08-31)
- Item count attribute added to control the number of items in a batch. [timo]
- BBB methods added to collection class. [timo]
- Remove code to remove the ATContentTypes 'Topic' type since this type is not present in Plone 4.2 any longer. [timo]
2.0b1 (2012-03-09)
- Remove archetypes-based Topic content type on install. [timo]
- Do not hide sort_on and sort_reversed on the field level, since this will break the JS code for sorting in plone.formwidget.querystring. At some point we have to refactor the code to make plone.formwidget.querystring use z3c.form only for sorting. [timo]
2.0a1 (2011-11-13)
- Initial release of the dexterity-based version.