Skip to main content

Redomino Advanced Keyword Management

Project description

Index
-----
.. toctree::
:maxdepth: 2

redomino.advancedkeyword
========================

redomino.advancedkeyword
========================

The ``redomino.advancedkeyword`` plugin aims to improve the keyword mechanism provided by Plone introducing *hierarchy* among keywords.
All the customizations introduced by redomino.advancedkeyword are made with backward compatibility in mind.
You can also use this plugin without pain when you need to migrate your contents: redomino.advancedkeyword still uses the standard ``subject`` field and the main work was made at frontend level
using javascript.

Note: having your javascript enabled is not required to use redomino.advancedkeyword.

What are the main problems of the old keyword management?
---------------------------------------------------------

Here is a list of problems:

* all the keywords are listed as a long, long plain list
* keywords are not semantically grouped

Here you can see the standard keyword widget how it is prompted to :

.. figure:: resources/keywordold.png
:align: center

Old keywords widgets.

As you can imagine the above edit widget is hard to use and difficult to manage.

How can AdvancedKeyword help you
--------------------------------

And now the advanced keyword widget with hierarchical management:

.. figure:: resources/keywordtree.png
:align: center

Keywords widget powered by redomino.advancedkeyword

The above image lets the keyword editor collapse/expand semantic groups of keywords, which makes it more suitable to manage large
sets of keywords as you can find in a large intranet.

You can also search for existing keywords through the existing tags.


How does it work?
=================

Hierarchy is introduced using the ``.`` (dot) character: it will be used as a keyword separator.
Why are we using the dot character and not another one? Because it is little used in keywords and it is easy to type.

Edit view
---------

If you use correctly the . separator, you will be able to create a keyword tree similar to the following one:

::

[+] what [v]
[+] what.doors [v]
[+] what.doors.flat
[+] what.doors.profiled
[+] what.furniture
[-] technology [v]
...

Clicking on the collapse or expand controls you can open or close keyword nodes.
If you click on a keyword that is a leaf, all its parents will be selected automatically; if you unselect a node, all the sub-keywords selected are automatically deselected.
So by the keyword editor you will be able to select single leafs or internal nodes.

You can add new keywords using the standard Plone control: nothing has changed. If you want to add one or more keywords then type something similar to the following example:

* what.furniture.outdoor
* etc

How keywords are shown on tagged contents
-----------------------------------------

If you choose the following keywords on a particular object:

* what.doors.flat
* technology.combined systems

the customized keywords viewlet will prompt the following links:

* what (clicking on this item you will be able to see all the products)
* what.doors (clicking on this item you will be able to see all the door related products)
* what.doors.flat (clicking on this item you will be able all the flat doors related products)
* technology
* technology.combined systems

This works because we provide a customized catalog indexer for keywords.

In the next release a new mechanism will be provided for changing the displayed keywords. For instance, if you don't like how "technology.combinened systems" looks like, you'll be able to edit it.

How to use AdvancedKeyword on an existing site
----------------------------------------------

At first you will see the javascript plugin with a plain keywords list, you should add the hierarchy level grouping keywords separated by dots characters: the Plone plugin named KeywordManager is your friend!

Other features
==============

Keyword map
-----------

Thanks to the keywords map you 're able to see the website's arguments structure.

How to see the arguments map of the site:

* portal_url/@@keywordsmap

Keywords portlet
----------------

This product also adds a new portlet: Keyword Portlet. In order to assign a new
instance of this portlet you will have to choose a "supertag" (or a namespace
tag). This supertag will be used to browse a list of all tags that are "first
child" of this tag. For ex. if your portal has these two contents::

>>> doc1.Subjects()
['supertag','supertag1','supertag.subtag1','supertag1.subtag2']
>>> doc2.Subjects()
['supertag','supertag1','supertag.subtag3','supertag1.subtag4']

and if you choose 'supertag1' as parent tag, the results list will show this:

* subtag2
* subtag4

These are links to the search page with a search parameter set to
'supertag.subtagX'.

Here you can see the keyword portlet:

.. figure:: resources/keywordportlet.png
:align: center

Keywords portlet powered by redomino.advancedkeyword (it shows a subset of existing keywords)


How to launch tests
===================
Type the following command:

::

$ ./bin/test -m redomino.advancedkeyword

Authors
=======

* Davide Moro (davidemoro) <davide.moro@redomino.com> (idea, concept, design and implementation)
* Giacomo Spettoli <giacomo.spettoli@redomino.com>
* Maurizio Lupo (sithmel) <maurizio.lupo@redomino.com>
Changelog
=========

0.8 (2012-04-24)
----------------

- Added javascript unit tests with qunit
[sithmel

- Fixed locales :It depended from plone 4.1 locale. Now Is stands alone
[sithmel]

- Removed Dynatree, JSON interface towards the widget, inline javascript.
Added a new keywordtree widget (easier to test with qunit)
[sithmel]

- Added (and tested) a keyword tree generator baseclass (browserview)
[sithmel]

- New keyword map based on keyword tree generator
[sithmel]

- New keyword widget based on keyword tree generator
[sithmel]

- New keyword widget javascript (with search)
[sithmel]

- Added .gitignore file
[davidemoro]

- Keywords portlet: title required now
[davidemoro]

- Added and enabled locales/en directory
[davidemoro]

- Fixed tests and keyword portlet implementation and memoize support.
[davidemoro]

0.7 (2012-01-12)
----------------

- Added a keywordportlet thats shows a list of first children of a selected tag
[giacomos]

- Administrators users can choose to enable or disable the @@keywordsmap action through
a keywords map control panel.
If disabled, a NotFound will be raised trying to visit the @@keywordsmap view.
[davidemoro, giacomos]

- More tests added
[davidemoro, giacomos]

- Moved manual i18n strings to a separate pot
[giacomos]


0.6 (2011-10-03)
----------------

- Added a keyword map of the site. You can see the whole hierarchical arguments map visiting @@keywordsmap.
Each node of the hierarchical map is clickable. The target link leads you to the
portal_url/search?Subject:list=CLICKEDKEYWORD search results page.
[davidemoro]

- Added a new action name "Keywords map" that links the @@keywordsmap view
[davidemoro]

- Added Sphinx documentation
[davidemoro]


0.5 (2011-09-20)
----------------

- Added plone.indexer as explicit requirement.
Older versions of Plone (3.x) are not shipped with plone.indexer by default.
[davidemoro]


0.4 (2011-09-19)
----------------

- fix for IE < 9 (wrap the javascript code inside an anonymous function)
[sithmel]


0.3 (2011-09-15)
----------------

- Changed javascript registration options in portal_javascript
[davidemoro]


0.2 (2011-09-14)
----------------

- Removed minExpandLevel option on dynatree. Too large if the keyword tree has to many subkeywords
[davidemoro]


0.1 (2011-09-08)
----------------

- Added javascript tree support based on the dynatree plugin version 1.2.0_rc1
See http://code.google.com/p/dynatree for further information.
[davidemoro]

- Initial release
[davidemoro]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redomino.advancedkeyword-0.8.tar.gz (17.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page