Third Party Product Integration: ATVocabularyManager

ATVocabularyManager is a product for letting site managers define vocabularies for fields through-the-web or by import from XML files. ArchGenXML can generate the necessary code to use this product.

ATVM manages dynamic vocabularies. It installs a tool, where a site Manager can add, change and delete vocabularies. These vocabularies can then be used anywhere on the site.

You can download ATVocabularyManager from the Plone.org products area: http://plone.org/products/atvocabularymanager

Using simple flat vocabularies

Adding ATVM-vocabs to your UML model is quite easy.

  1. Add a selection or multiselection field to your type.
  2. Add a tag vocabulary:name and give it a name, let's say countries
  3. Add a tag vocabulary:type with the value ATVocabularyManager

We are now finished with the UML. Save it and let AGX do the work. What still is missing, is to install the countries vocabulary. Therefore:

  • Add a file called AppInstall.py in the /Extensions folder of your product
  • Add the following code (this sets up a vocabulary countries with the given values, and registers it with ATVocabularyManager):
       from Products.ATVocabularyManager.config import TOOL_NAME as ATVOCABULARYTOOL
       from Products.CMFCore.utils import getToolByName
       from Products.ATVocabularyManager.utils import createSimpleVocabs
    
       def install(self):
         """let's install the countries vocab"""
    
         vocabs = {}
         vocabs['countries'] = (
                ('ice', u'Iceland'),
                ('nor', u'Norway'),
                ('fin', u'Finland'),
                ('tyr', u'Tyrol'),
                ('auf', u'Ausserfern'),
            )
         portal=getToolByName(self,'portal_url').getPortalObject()
         atvm = getToolByName(portal, ATVOCABULARYTOOL)
         createSimpleVocabs(atvm, vocabs)
    

Using simple tree vocabularies

If youre interested in using and creating hierachical vocab:

  • use additional tag vocabulary:vocabulary_type with value TreeVocabulary,
  • have a look at the doc-string of Products.ATVocabularyManager.utils.createHierarchicalVocabs.

Using vocabularies based on the IMS Vocabulary Definition Exchange (VDEX) format.

VDEX is a simple XML based format to define flat or hierachical multilingual vocabularies. ATVocabularyManager supports VDEX in most of its dialects.

To tell Archetypes to use them in your UML first take Steps 1 to 3 of the first section and skip the import part. Then add a tag vocabulary:vocabulary_type and give it the value VdexVocabulary.

Now add a folder called data in your products folder. Inside the /data folder create a new file called countries.vdex (example). It will be imported automatically on install or reinstall, but only if a vocabulary named countries does not exist.

 

link broken?!

Posted by Stefan Kueppers at Oct 07, 2005 01:17 PM
Hi !

I have been looking to get hold of the ATVocabularyManager.
The link http://svn.plone.org/archetypes/ATVocabularyManager/ is broken at this time.
What is the status of this? Anybody know where to get hold of it now?
Steff

yes, a lot of doc links are out of date

Posted by Justin Ryan at Oct 19, 2005 08:02 PM
Add a prefix to links that look like this, so it becomes:

  http://svn.plone.org/svn/archetypes/ATVocabularyManager

vocabularymanager download

Posted by Harald Friessnegger at Nov 02, 2005 01:20 PM
to browse the svn repository visit http://svn.plone.org/view/archetypes/ATVocabularyManager/

seems that you need a user to check out the product:
'svn co http://svn.plone.org/archetypes/ATVocabularyManager/trunk' does not work

SVN checkout

Posted by Michael Ang at May 29, 2006 03:39 AM
try using
svn co https://svn.plone.org/[…]/trunk ATVocabularyManager

Chances import createSimpleVocabs

Posted by Leonardo Caballero at Sep 26, 2008 09:40 PM
On Plone 3.1.5.1 chances the import of createSimpleVocabs
-from Products.ATVocabularyManager.utils import createSimpleVocabs
+from Products.ATVocabularyManager.utils.vocabs import createSimpleVocabs