Skip to main content

Plone portlet for vaporisation tagcloud

Project description


The collective.vaporisation addons for Plone give to the user a tag cloud portlet.

A tag cloud (or weighted list in visual design) is a visual depiction of keywords used into your site. Tags are usually single words and are normally listed alphabetically, and the importance of a tag is shown with font size. Thus, it is possible to find a tag alphabetically and by popularity. The tags are hyperlinks that lead to a collection of contents that are associated with a keyword. This hyperlinks makes a Plone search that show the list of contents marked with the keyword selected.

—Definition of tag cloud from Wikipedia

MoNet MultimediaMO tagcloud

Big tagcloud used in a collective.portletpage area

CCFE site tagcloud portlet

With some CSS rules you can customize colors

An advanced feature is the “join navigation” that allows user to make a search related and sequential. During the search the view of the portlet is different. One first part of it shows only the keywords into the contents that are result of the search. A second one show the selected tags allowing user to remove some of them from the search.


When you add this kind of portlet, named “Tagcloud portlet”, you’re in front of an edit form with many fields.

We see in detail what they do:

Name to display
The name of the tag cloud. For display purposes.
Number of different sizes
This number will determine the biggest size.
Number of keywords to display
This number indicate the max number of keywords shown. The value 0 (zero) show all the keywords.
Cloud reload timeout
Time in minutes after which the cloud should be reloaded. This time isn’t the only parameter that force the reload of cloud. Put this value to “0” for disabling caching (don’t do this on production).
Start path
Only the objects under this directory will be taken in consideration. If empty (default), the portlet will search in all the site.
Indexes to use
In this field you can select the indexes to use. We can use all the KeywordIndex defined into your site. The default one is “Subject” index of Plone.
Type of contents
We can filter the objects by type. Only the objects of the selected types will be used to search the keywords.
Activate joint navigation
With this options active the portlet change his view to show only the related keywords. This will be seen during the functionality of search of contents with some keywords.
Use only the keywords of this list
A whitelist for a manual choise of the keywords to show. Remove from keywords list: A blacklist for remove some keywords from the shown.
Mode to use
Select a mode of use among those diponibile. Now we have only one mode of use. Other one can be implementated by external package through an adapter.
Sort keywords
If actived, the keywords will be sorted alphabetically.

TODO and know issues

  • If you’re using more than one tag cloud portlet you have to remind to use different name. In this way, the “join navigation” will be applied only to the portlet where the user clicks over a keyword.

  • The list of keywords used into the edit form doesn’t change dinamically when the filters change To use the whitelist or the blacklist after a change to one of field used to filter the contents (like “Start path”, “Indexes to use” and “Type of contents”) you need to save the portlet and re-enter into edit.

    During the load of edit form the vocabularies will be recreated.


Tested on:

  • Plone 3.3
  • Plone 4.0
  • Plone 4.1
  • Plone 4.2


Developed with the support of:

All of them supports the PloneGov initiative.


This product was developed by RedTurtle Technology team.

RedTurtle Technology Site

Original idea and code came from Souheil Shelfouh, that made vaporisation product


1.3.7 (2015-02-17)

  • Use appendViewAction in Url. [sureshvv]
  • In Steamers init method, provide a base_query and search_path attribute for easier overriding in custom steamer classes, which derive from the default one. [thet]
  • For the types selection in portlet settings, use reallyuserfriendlytypes from instead own types vocabulary. Own vocabulary didn’t return metaTypesNotToList. [thet]

1.3.6 (2012-12-07)

  • Fix for the ‘portlet_path’ passed to the search from portlet. [mircoangelini]
  • Fix for composition of ‘path’ filter into the search function. [mircoangelini]

1.3.5 (2012-12-07)

  • Fix for the reload of cloud’s tree when certain brains has ‘Missing.Value’ value for an index. [mircoangelini]

1.3.4 (2012-12-07)

  • The ‘path’ parameter passed to the search from the portlet is now the relative path of the context where is located the portlet. [mircoangelini]
  • In search function, the ‘path’ and ‘portal_type’ filters are taken directly from the portlet. The portlet is identified using ‘name’ and ‘path’ passed into the url. [mircoangelini]
  • Fixed the catalog query for find the objects of the single keyword. This objects are used to calculate weight of the keywords into tagcloud portlet. [mircoangelini]

1.3.3 (2012-12-05)

  • fixed [mircoangelini]

1.3.2 (2012-12-04)

  • fix long_description in [mircoangelini]
  • removed handler js for batch buttons into cloud_search to deactivate ajax search functionality [mircoangelini]

1.3.1 (2012-08-22)

  • fixed the cloud search template to continue to use the “join navigation” [mircoangelini]

1.3.0 (2012-08-22)

  • changed the cloud search, into style Plone 4.2 [mircoangelini]
  • keep compatibility with old versions of Plone (3.3 and 4) [mircoangelini]

1.2.7 (2012-05-17)

  • moved reload of tags of a portlet from cache-key to the save button (#3) [mircoangelini]
  • conditioned the use of QUERY_STRING into _cloud_key only if the “join navigation” is enabled (#3) [mircoangelini]

1.2.6 (2012-02-20)

  • removed empty div ( ) into the footer of the portlet (#1) [mircoangelini]
  • added class “tags-list” to the div that contain the keyword into the portlet (#1) [mircoangelini]
  • fixed base url for search (#2) [mircoangelini]
  • added Brazilian-Portuguese translation [rafahela]

1.2.5 (2012-01-03)

  • updated cache method for portlet, added portal_url in params to reload the portlet in different domains [fdelia]

1.2.4 (2011-11-22)

  • Link to RSS feed from the search always root-site-based [keul]
  • Changed the required permission to Portlets: Manage portlets. This also fix Plone 4.1 compatibility [keul]

1.2.3 (2011-07-27)

  • SEO friend: cloud SERP page now add a propert meta tag [keul]
  • SEO friend: cloud link now use a proper rel value for stop search engines to try indexing cloud SERP pages [keul]
  • changed the default value for join navigation as it can be very expensive in some kind of sites. A simple search page is enough for most users [keul]
  • some XHTML Strict fixes in the SERP page [keul]

1.2.2 (2011-06-30)

  • now the cloud_search view is registered only for the site root. This was the same issue fixed in version 1.2, but a search engine have long memory and it could continue to kill the site cache [keul]
  • egg cleanup [keul]
  • fixed tests (even if they are only ZopeSkel defaults) [keul]
  • fixed egg dependency properly for Plone 4.1 [keul]

1.2.1 (2011-03-18)

  • fixed compatibility problem of cloud search results and Plone 4 [nan010]

1.2.0 (2011-02-24)

  • fix XHTML Strict bug when the current context has a non-prettified id [keul]
  • tagcloud id now is generated starting from the given title, not from the title of the current context (that was nonsense) [keul]
  • the search view is now called on the portlet context, not actual context. This was cache-killer [keul]

1.1.3 (2010-11-11)

  • release version [mircoangelini]

1.1.2 (2010-10-27)

  • fix unicode bug in computing of weights [mircoangelini]

1.1.1 (2010-10-12)

  • you can now put “0” in portlet cache (highly unefficient) [keul]
  • fixed the weight of the keywords; now doesn’t counts the same object more than one time even if the same keyword is used in more than one index [mircoangelini]
  • added to the cache key a new parameter: the id of user [mircoangelini]

1.1.0 (2010-10-05)

  • added flag to sort keywords [micecchi]

1.0.0 (2010-10-01)

  • moved on collective SVN [mircoangelini]

Project details

Download files

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

Files for collective.vaporisation, version 1.3.7
Filename, size File type Python version Upload date Hashes
Filename, size collective.vaporisation-1.3.7.tar.gz (41.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page