Change, merge and delete keywords (subjects) in Plone.
Plone Keyword Manager
Plone Keyword Manager allows you to change, merge and delete keywords (aka tags or subjects) in Plone and updates all corresponding objects automatically. It uses a similiarity search to support you in identifying similar keywords. PloneKeywordManager helps you to build an inductive vocabulary with several people working on the same Plone site. Keywords can be cleaned up from time to time by a site-manager to create a consistent vocabulary.
Plone Keyword Manager is a quite simple solution to a major problem in the real world use of Plone: If you can’t work with restricted vocabularies, your keyword-vocabulary will get duplicate entries very quickly - depending on your authors’ interpretation of existing keywords.
In your buildout add Products.PloneKeywordManager to your instances eggs section or policy packages setup.py. If you want similiarity search add Products.PloneKeywordManager`[Levenshtein] instead.
Run buildout. Activate it at Site Setups Add Ons page.
After installing, you will find an entry in Site Setup a section called Keyword Manager. Inside, you will see an alphabetical listing and a selection for all keywords existing in your site.
Use the last one to see similar terms for a single keyword. Use the former one if you want to see a list of all keywords starting with letter ‘b’, click it. The Plone Keyword Manager will then search all keywords starting with ‘b’ and will also look for similar keywords. You can now select several keywords and delete them for example. If you only want to change a single keyword, select it, then enter the new keyword and click on merge. If you want to merge several keywords into one new one, select them, enter the new keyword and click on merge.
For developers and integrators
You can also use KeywordManager to import your keywords with GenericSetup. You must have access to the file system to do this.
- Add a file keywords.txt to the directory Products/PloneKeywordManager/profiles/default, with one keyword per line.
- In the ZMI, go to portal_setup, Import tab. Locate the step called Create or update keywords. Check the box next to it, then click the button Import Selected Steps.
This will add or update a Document titled Keywords (with ID keyword) in the root of the Plone site; this document will have all the listed keywords assigned to it.
Leave this document in the private state so only an administrator will be able to see and edit it.
Each time you run this import step, the Keywords document’s keywords will be completely replaced with the contents of the keywords.txt file.
Source code of this project is in the Plone Collective
For instructions how to contribute please read the Collective Information Page
Further development focuses on Plone 5.1 and higher.
PloneKeywordManager was mainly coded by Maik Jablonski during the Plone Paderborn Sprint (September 2003), founded by the Bertelsmann Foundation.
Main code – Maik Jablonski
User Interface updates and Setup Code – Alexander Limi from Plone Solutions.
Thanks to Joe Geldart from Netalley Networks for updating the template to Plone 2.0 format.
We would also like to thank Maik for letting us put this code in the Collective - so it can be improved and expanded by the Collective developers.
- Fix problem with non-visible changes due to a side effect with collective.indexing beeing merged in core. [jensens]
- Python 3, Plone 5.2 compatibility. Drop support for Plone < 5.1. [vangheem, jensens]
- Add translation to Brazilian Portuguese. [hvelarde]
- Fix searchlink button to respect the selected index field in the query and quote the value for the search parameter [petschki]
- accessibility improvements [daniele-andreotti]
- add compatibility with Plone 5 [cewing]
- Drop support for Python 2.6. [hvelarde]
- Don’t break when searching encoded indexes. [davisagli]
- Fix getSetter method in tool.py to handle also discussion items. [cekk]
- Enable search for values (search icon behind value). [jensens]
- Decode values so they work with Dexterity. [davisagli]
- Handle sets as field values. [davisagli]
- Update Dexterity content even if it has no explicit setter. [davisagli]
- Works when the field related to KeywordIndex is monovalued [thomasdesvenain]
- UI and labels improvements [thomasdesvenain]
- selected values are kept after form submission
- change in selection lists automatically submit the form
- keywords are clickable labels
- added some helpers and tooltips, and improved labels
- check for plone.app.multilingual and Products.LinguaPlone [pbauer]
- Fixed getSetter and getListFieldValues method in tool to handle also non-default field names [cekk]
- Removed skins and moved control panel to a browser view [cekk]
- Added custom permission to access the view [cekk]
- Fixed uninstall profile [cekk]
- Moved translations from i18n to locales [cekk]
- take plone.app.multilingual into acount and set Language=all on change. [jensens]
- Use png icon as gif icon has been removed. [thomasdesvenain]
- Fix index update on keyword delete not to reindex all attributes. [leorochael]
- Add support for dexterity (and generic DublinCoreImpl subclasses). [leorochael]
- Tests use now plone.app.testing; test coverage improved. [hvelarde]
- Fix package distribution. [hvelarde]
- Do not create a keywords Document in the plone-site in case the keywords.txt file is empty. (useful for sites not having Document globally allowed) [fRiSi]
- Allow Site Administrators too access the keyword managment [fRiSi]
- Make installation possible for dexterity-based Documents [pysailor]
- Fixed critical error at index update. [thomasdesvenain]
- Upgrade imports for Zope 2.13. Remove deprecation warnings. [toutpt]
- Add tests related to skins-directories. [WouterVH]
- remove old-style Install.py. [WouterVH]
- Add uninstall-profile. [WouterVH]
- Fix marker-file for setuphandlers.py. [WouterVH]
- Add MANIFEST.in to include docs in release. [WouterVH]
- Upgrade imports for Zope 2.13. Remove deprecation warnings. [thomasdesvenain]
- Manage python-Levenshtein dependency as a setuptools extras_require. [thomasdesvenain]
- French translation. [thomasdesvenain]
- Internationalization fixes. [thomasdesvenain]
- Added the z3c.autoinclude entry point so this package is automatically loaded on Plone 3.3 and above. [WouterVH]
- Remove the old-style refresh.txt and version.txt. Version is now specified in setup.py [WouterVH]
- Cleanup install-instructions. [WouterVH]
- Added ability to mix unicode and non-unicode keywords and changes. Fixes a bug with collective.dancing (and plone.z3cform) upgrading form inputs to unicode automagically. [dunlapm]
- Restify the CHANGES.txt file. [toutpt]
- Add keywords import through genericsetup. [toutpt]
- Add a default profile based on Extensions/Install.py. [toutpt]
- remove zope2 interface. [toutpt]
- Fixed handling of non-ASCII Keywords in Controller Python Scripts prefs_keywords_action_change.cpy and prefs_keywords_action_delete.cpy [disko]
- Added tests for the above mentioned bugfixes. [disko]
- Added German translation. [disko]
- No longer assumes that the index name is the same as the name of the underlying schema field. [jessesnyder]
- Eggification from PloneKeywordManager into Products.PloneKeywordManager. This package is only supported for Plone 3 now. It may or may not work in Plone 2.5. [dunlapm]
- Added support for multiple keyword indexes. If you have more than one keyword field on your content type(s) then you will still be able to manage all of your keywords. If you only use the single default field then you will get the normal interface.
- Plone 2.5 and Plone 3 compatibility for product PloneKeywordManager. [glenfant]
- Added Brazilian Portuguese i18n support. [Rafahela Bazzanella <email@example.com>]
- Refactored code to run from a portal tool.
- Minor clean ups.
- Introduced the permission “Manage Keywords” to have better control about who can manage keywords.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash||File type||Python version||Upload date|
|Products.PloneKeywordManager-3.0.0-py3-none-any.whl (44.5 kB) View hashes||Wheel||py3|
|Products.PloneKeywordManager-3.0.0.tar.gz (36.3 kB) View hashes||Source||None|
Hashes for Products.PloneKeywordManager-3.0.0-py3-none-any.whl
Hashes for Products.PloneKeywordManager-3.0.0.tar.gz