Introduction
============
This project aims to virtualize Plone default keywords (categories), which are
flat, to the tree. Contains Archetypes widget, based on InAndOut widget, which
replaces Plone's default widget for categories and contains configlet which
allows to assign flat keywords to virtual tree defined in the configlet.
Site manager defines virtual tree nodes and assigns keywords to the nodes. One
keyword may be assigned to any number of nodes (0-all).
Archetypes widget contains javascript based filter which allows to filter out
unwanted nodes and displays keywords in the selected node(s) only. Keywords are
stored in the same way as in Plone default so storage is 100% compatible and
don't require any migrations. You can always remove this package and your
content-keywords assignment stays untouched.
The controlpanel contains checkbox, which allows to set the
VirtualTreeCategories widget as default widget for the Subject field of all
Archetypes based content types.
Installation
------------
Install using buildout.cfg. If you want to use this product in Plone3, you
must specify [plone3] extra due to dependency on collective.js.jquery (this
package requires jQuery 1.3+).
Plone 3::
eggs =
...
collective.virtualtreecategories [plone3]
Plone 4::
eggs =
...
collective.virtualtreecategories
Dexterity::
eggs =
...
collective.virtualtreecategories [dexterity]
Control panel
-------------
.. figure:: http://plone.org/products/collective.virtualtreecategories/documentation/manuals/project-description/Control%20panel.png/image_preview
Archetypes widget
-----------------
.. figure:: http://plone.org/products/collective.virtualtreecategories/documentation/manuals/project-description/AT%20Widget.png/image_preview
Dexterity widget
----------------
If you want to use this widget in your dexterity content type, you need to
specify [dexterity] extra in eggs section of the buildout. You also
need to use Keyword field from collective.z3cform.keywordwidget for your schema field
and finally set VirtualTreeCategoriesFieldWidget as widget for the field.
**Please note, this feature requires collective.z3cform.keywordwidget > 1.1.1 or svn
branch currently.**
Example::
from zope import schema
from plone.directives import form
from collective.z3cform.keywordwidget.field import Keywords
from collective.virtualtreecategories.dexterity.widget import VirtualTreeCategoriesFieldWidget
class ICustomCategorization(form.Schema):
subjects = Keywords(
title=u'Categories',
value_type=schema.TextLine(),
required=False,
missing_value=(),
index_name='Subject',
)
form.widget(subjects=VirtualTreeCategoriesFieldWidget)
new_subjects = schema.Tuple(
title=u'New categories',
description=u'Enter new keywords, one per line.',
value_type=schema.TextLine(),
required=False,
missing_value=(),
)
Changelog
=========
0.3.3 (2013-01-09)
------------------
* Added Italian translation
[giacomos]
* Added dexterity version of the widget. See Readme.
[naro]
* Added French translation
[toutpt]
0.3.2 (2012-03-04)
------------------
* Fixed serialization problem introduced in 0.3.1
[naro]
0.3.1 (2012-03-04)
------------------
* Fixed javascript bug which prevents showing Save keywords button in
the controlpanel.
[naro]
* Added option to recursive list of keywords in a category tree. This is
also used for list of unassigned keywords.
[naro]
0.3 (2012-03-03)
----------------
* Updated to Plone 4.1
[naro, pcaro]
* added link to search results of selected keywords (like search for items
covered by keywords in a category) - controlpanel
[naro]
* added list of unassigned keywords (not assigned to any category) including
an option to retrieve count of items assigned to this keyword and link
to search results for the keyword - controlpanel
[naro]
Please note, this release is not tested on Plone 3, but is supposed to work.
0.2.6 (2010-10-09)
------------------
* improved i18n
[naro]
* Added Czech i18n
[naro]
* fixed another data serialization problem
[naro]
0.2.5 (2010-10-03)
------------------
* fixed data serialization in Plone4, caused by jQuery 1.4 change "Nested
param serialization"
[naro]
* added new helper methods list_categories and list_keywords. Returns list of
categories in particular path (eg. root) or list of keywords assigned to
particular category respectively.
[naro]
0.2.4 (2010-09-30)
------------------
* collective.js.jquery is optional dependency for Plone3 only. If you are
using Plone3, please specify [plone3] extra or add sepearate dependency on
collective.js.jquery to your buildout.
There is upgrade step for Plone 4, which fixes jQuery.js in
portal_javascripts
[naro]
* fixed controlpanel in Plone4. Controlpanel does not use prefs_main_template.
[naro]
* Add `z3c.autoinclude` entry point for automatic ZCML loading in Plone 3.3+.
[WouterVH]
* Add MANIFEST.in-file [WouterVH]
0.2.3 (2010-03-17)
------------------
* initial Plone 4 compatibility. It works except rendering issues on the
controlpanel.
[naro]
* fixed problem with more than one Plone site in the zope instance.
Thanks Rui Guerra for bug report.
[naro]
* Add Dutch translation [WouterVH]
* Add more complete uninstall-profile [WouterVH]
* Changing a schema via schemamodifier changes the default schema of the
contenttypes (regardless of any browserlayer), so we need to make changes to
a local copy of the schema. [WouterVH]
0.2.2 (2009-10-22)
------------------
* fixed helper browser view permissions. Thanks Florent MICHON for the patch.
[naro, f10w]
0.2.1 (2009-10-20)
------------------
* fixed first-edit-bug in case of edited content is in portal_factory. Thanks
Jerome Chambard for pointing to it.
[naro]
0.2 (2009-09-08)
----------------
* controlpanel - added list of currently assigned keywords to the category
* added extender which allows to fiddle AT schema and show VTCWidget instead
of KeywordWidget. It is possible to switch widget on/off in the
controlpanel.
0.1.3 (2009-09-07)
------------------
* updated README, removed evil AT schema patch recommendation
0.1.2 (2009-09-02)
------------------
* Fixed missing collective.js.jquery dependency
0.1.1 (2009-09-01)
------------------
* Fixed missing locales directory
0.1 (2009-09-01)
----------------
* Initial release