4

I want to let my editors tag content on several orthogonal vocabularies and then have a nice search interface that lets users search for the content based on those vocabularies. It seems too parts of the solution exist

  • ATVocabularyManager - lets editors create different vocabularies
  • eea.facetednavigation - lets editors connect up ATVocabularyManger vocabs to a search panel

What is missing a way to add a new fields to the catagorisation tab of certain content types and have these constrained by the vocabularies. and have these values stored and indexed so they can be searched.

I know I can do this in code, but I'm hoping for something TTW so editors can add more ways to categorise if they want to. I'm pretty sure there must be a plugin out there to solve this already, but so far haven't found it. I'm pretty sure dexterity schema editor would solve this problem but I need this for the existing Plone content types.

So wondering

djay
  • 1,058
  • 5
  • 12

2 Answers2

4

What I think you can do is just have your content editors tag the content with the regular tagging mechanism and put it what they like. Then, with eea.facetednavigation, you specify the different groups of tags that you want part of your faceted navigation.

If you require more structure for your content editors to add the tags, I would suggest perhaps making a custom widget that gives them a structured set of tags to choose from.

Some packages you may want to have a look at for solving this problem are:

ATVocabularyManager isn't for dynamically adding vocabularies to new fields on existing content types, it's for providing a vocabulary manager for custom content types and perhaps schemaextender fields.

vangheem
  • 3,293
  • 17
  • 18
  • Yes it's possible to use current tagging mechanism using a convention to make it heirachical. e.g tags like Animals:Mamal:Badger Colour:Red etc. But then I'd still need a way for eea.facetednavigation to display Animals:* and Colour:* as two seperate facets/panels to the user. I haven't found that yet. Thanks for the other links. I'm still reviewing them but so far none quiet solve the problem nicely. – djay Oct 30 '11 at 01:33
  • I think if I had something like collective.gtags except - it replaced the standard keyword widget by default - it created plone vocabularies for each category so they could be used within facetednavigation Then I think it would be an almost perfect solution – djay Oct 30 '11 at 01:55
  • Also, I believe it's somewhat easy to add your own widgets to eea.facetednavigation. Or perhaps you could contribute back a widget that allowed you to do the facets you're thinking of. I know that there was a product that did this sort of thing through an extra catalog but have forgotten the name of it. – vangheem Oct 31 '11 at 00:07
  • 1
    As long as there is a Vocabulary then using FacetedNavigation is easy. I think easiest thing is to get a get something that can make a Vocabulary out of facet like tags such as Colour-Red, Animal-Fish etc. These would get turned into two Vocabularies Colour and Animal. – djay Nov 01 '11 at 01:29
2

Here is what I intend to build to solve this problem since none of the suggested solutions so far solve the whole problem.

Let's call it collective.tagvocabularies (?)

It's aim will be to allow multiple different categories of keywords to be entered into existing Plone content via the existing Tags metadata field and then be able to use plugins like FacetedNavigation to display content as if the content was categorized by multiple different facets. It will do this by dynamically providing many different Vocabularies based on the unique values of the Keywords index in Plone.

It will provide a control panel where you can enter a regular expression. This re will be used on all keywords used on all content to break it into facets. For example if all your tags are of the form Animal-Fish, Colour-Blue your re would be

(?P<facet>[^\S]*)-(?P<value>[^\S]*)

Once installed Vocabularies for "Colour" and "Animal" are available to be used anywhere including eea.facetednavigation. Any new tag added to content will automatically become available in the vocabularies (caching might be needed).

djay
  • 1,058
  • 5
  • 12