A Plone content rules action that creates a chronological archive.
sc.contentrules.groupbydate is a content rule action used to organize content under a chronological-based hierarchy on a web site.
The 2.0 series introduces a major refactoring of the code base and is not backwards compatible with previous versions.
A news portal with a few dozen new content items per day needs to organize its information in a chronological, yet human-readable, hierarchy.
To do so, this package is installed in a Plone Site and a new content rule is created. This content rule will be triggered by the publication of an News Item and will initialize a ‘’’Move an item to a date-based folder structure’’’.
This action has a Base folder (/news), a Hierarchy Structure (‘%Y/%m/%d’) and a Container (‘Folder’), so as our News Item, with id hello-world, is published on the site, it will be moved to a a new folder structure under /news. Supposing it’s March 29th, 2012, the item will end in /news/2012/03/29/hello-world.
We will explain step by step how to config this case through plone user interface.
In a Plone site, with this package installed, go to Site Setup and then click on “Content Rules”.
Click on “Add content rule”.
Set the title to something meaninful – ‘Organize published News Items’ –, select “Workflow State Changed” in Triggered Event and save.
You will be redirected to the previous view but you will see the rule you added listed. Click on the title of the rule to edit it’s properties.
Ok, in here you will note that you have two settable categories. Conditions and actions. To make this happen, you need to add two conditions and one action.
The first condition must be related to the content type. Select “News item” and save.
The second one to the workflow state of the object. Select “Publish”.
Now is turn of the action. Select “Move an item to a date-based folder structure” and click add.
You are now in the add form for the action. You will see three required fields:
“Base folder” is the base folder for the date hierarchy. For this you have different ways to set it. You can search a folder in the text input field or select one of the dropdown menu. In the last one you will note and option called “One level up”. This means that the folder structure date hierarchy will be done one level up of the content selected in which the rule will be applied. This will be useful when we have it to multiple types of contents in which each one are added in different folders. Also, we have the option “Same folder of content” which is obvious to understand. In this case select “News”.
“Container” allows you to select the folderish content to be used to create the group by date structure. We suggest you to use “Folder”, the default option.
“Hierarchy structure” allows you to choose the way the structure will be created. Use strftime formating. e.g.: ‘%Y/%m/%d’ to have 2011/11/17 or ‘%Y/%m’ to have 2011/11. Leave this field with default value.
Now you just need to apply this rule in the right place of the site. If you don’t know how to do this, follow this link.
Have an idea? Found a bug? Let us know by opening a support ticket.
To enable this product in a buildout-based installation:
Edit your buildout.cfg and add sc.contentrules.groupbydate to the list of eggs to install:
[buildout] ... eggs = sc.contentrules.groupbydate
After updating the configuration you need to run ‘’bin/buildout’’, which will take care of updating your system.
Go to the ‘Site Setup’ page in a Plone site and click on the ‘Add-ons’ link.
Check the box next to sc.contentrules.groupbydate and click the ‘Activate’ button.
Note: You may have to empty your browser cache and save your resource registries in order to see the effects of the product installation.
Cleber J Santos
Development sponsored by Simples Consultoria.
Execute IRuleExecutor for each folder created. This enables cascading content rules to be applied to newly created folders. [ericof]
This package no longer needs to be installed in the site’s control panel. [ericof]
Removed the option to set the default layout for newly created folders. We suggest using sc.contentrules.layout for that. [ericof]
Improved test coverage [ericof]
PEP8 all over the code [ericof]
Fix a performance issue with updating role mappings in portals with a huge amount of content already created [ericof]
Removed dependency on plone.directives.form introduced on previous release. [aleGpereira]
Default value for container field in schema was creating problems. Updating this value. [aleGpereira]
Fix a little bug for container searcher vocabulary class. [aleGpereira]
Added Spanish and updated Brazilian Portuguese translations. [hvelarde]
Tested Plone 4.2 compatibility (fixes #1). [hvelarde]
Fixed package declaration and updated documentation. [hvelarde]
Adding option so user can select the content type used as container. [aleGpereira]
Adding a field to set a prefer view method for container. [aleGpereira]
Adding integrational and functional test for view validator and container object creation. [aleGpereira]
Update README documentation. [aleGpereira]
Move testing to plone.app.testing [ericof]
Fix Dublin Core support [ericof]
Fix permissions for pt-br [lepri]
Fix permission for Plone 4.x [cleberjsantos]
Added z3c.autoinclude entry point to mark this as a Plone plugin [erico_andrei]
Support for Plone 4.1.x [erico_andrei]
Allow relative paths as base_folder [erico_andrei]
Allow inputing of strftime formatting for structure field [erico_andrei]
Add dependency of placeful workflow as we need it to avoid publishing content in an unpublished structure [erico_andrei]
Very earlier i18n support [erico_andrei]
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for sc.contentrules.groupbydate-2.0b2.zip