On 30/08/2012, at 11:22 AM, Dylan Jay wrote:

On 30/08/2012, at 1:09 AM, Malthe Borch wrote:

Hello,

We're about to develop a new package that brings support for
taxonomies to Plone with Dexterity-based content:

Here's a brief overview:

1. The taxonomy will be tree-structured.
2. There are two kinds of nodes: root nodes (which map to
vocabularies) and terms (which can contain other terms or even root
nodes).
3. Both types of nodes are Dexterity-objects.
4. Terms can be restricted to a set of FTIs. For example, a term (and
its children) might apply only to documents².
5. There's a javascript snippet that transforms the default selection
widget into an option tree – based on the title format³.

Obviously, Plone's "sharing" tab will work just fine and because we're already using the catalog to determine which terms to show for a given
context, this will also double as a permissions filter.

The reason I'm writing this post is both so as to serve as a roadmap,
but also to get feedback or learn about any existing products.

I wrote about existing options recently http://djay.posterous.com/facets-taxonomies-in-plone . In particular I'd like to add taxonomy support to collective.facets (ie the ability to classify any content item using hierarchical tags not just flat tags). For example using http://pypi.python.org/pypi/redomino.advancedkeyword with collective.facets.

There are also been several "boil the earth" attempts to get together and come up with something
e.g
http://www.coactivate.org/projects/ploneclassification/project-home
http://www.coactivate.org/projects/plone-taxonomy/timeline

I think part of the issue with taxonomies is the same word gets used to mean different things in the CMS world. Drupal in particular has "abused" it to mean not just classifying something with a hierarchical tags, but creating a navigation structure based on those hierarchical tags. It's not clear to me if you are suggesting ways to tag content or ways to use tags in content to build navigation or something else? It's not clear to me your use case, so I think it might help to write this out more fully.

I really want to help get this sorted however so that we have one solution that is very flexible instead of all these partial implementations. However I think starting from small steps that integrate well with how we currently do things in plone is the best way to get there. Hence why collective.facets is very minimal and only deals with adding classification to existing content.

I think sprinting on this at conference would be a great idea.

BTW, here is where my thinking is at with regard to creating navigation out of hierarchical tags. The user creates their taxonomies using an approach like http://pypi.python.org/pypi/redomino.advancedkeyword , ie by editing content. Or perhaps with more fixed vocabularies in the control panel. But not by creating content objects.

Instead what they can do is create "virtual folder" folder structures by linking a tag hierarchy to a folder. The contents of that folder then not only includes real content but appears to have folders based on the parent tags of the linked vocabulary. Think of this as a collection that has virtual sub-collections. To make all this work, changes would need to made to the navigation portlet such that child nodes can appear that aren't indexed content. Perhaps some api where the navigation portlet either asks the current context what the child nodes are, or else falls back to using the catalog. This could fit in really nicely with the plans to offload navigation from the catalog.
Does any of that make sense?







Notes:

1) Dexterity's default container type is based on b-trees; this might
result in a substantial oid-overhead.
2) Practically, there will be a keyword index that allows the taxonomy
widget to quickly look up terms that are valid for its context.
3) Typically, the vocabulary term titles will be formatted as "<term>
» <term> » <term>"; it's easy to provide a heuristic that matches on
values from a taxonomy.

Thanks!

--
Au revoir, et tous mes voeux pour un avenir plein de succès et de bonheur ––

Malthe Borch
[email protected]
_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers


_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers

Reply via email to