collective.portlet.localcumulus

HomePage: http://pypi.python.org/pypi/collective.portlet.localcumulus

Author: kiorky

Download: https://pypi.python.org/packages/source/c/collective.portlet.localcumulus/collective.portlet.localcumulus-1.8.zip

        .. contents::

Introduction
==============

- based on `quintagroup.portlet.cumulus`_

This package provides 2 new tagcloud based portlets

With

    * cache (refresh)
    * local path searches enhancements

And for the 'custom portlet':

    * url customization for tag browsing

Usage

    * Install "Local Tag cloud (cumulus) portlet" with QuickInstaller.
    * Select Local Tag Cloud (cumulus) portlet from Add portlet drop-down menu.
    * Provide your own values for portlet configuration if needed.
    * Save changes.

Supported Plone version

    * 3.x

Repository:

    `svn`_

.. _quintagroup.portlet.cumulus:  http://pypi.python.org/pypi/quintagroup.portlet.cumulus/
.. _svn: http://svn.plone.org/svn/collective/collective.portlet.localcumulus/trunk

Credits
======================================
|makinacom|_

* `Planet Makina Corpus <http://www.makina-corpus.org>`_
* `Contact us <mailto:python@makina-corpus.org>`_

.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom:  http://www.makina-corpus.com





collective.portlet.cumulus Installation
=================================================================================

To install collective.portlet.cumulus into the global Python environment (or a workingenv),
using a traditional Zope 2 instance, you can do this:

 * When you're reading this you have probably already run ::

   ``easy_install collective.portlet.cumulus``. 
   
   Find out how to install setuptools (and EasyInstall) here:
   http://peak.telecommunity.com/DevCenter/EasyInstall

 * If you are using Zope 2.9 (not 2.10), get `pythonproducts`_ and install it 
   via::

       python setup.py install --home /path/to/instance

   into your Zope instance.

 * Create a file called ``collective.portlet.cumulus-configure.zcml`` in the
   ``/path/to/instance/etc/package-includes`` directory.  The file
   should only contain this::

       <include package="collective.portlet.cumulus" />

.. _pythonproducts: http://plone.org/products/pythonproducts


Alternatively, if you are using zc.buildout and the plone.recipe.zope2instance
recipe to manage your project, you can do this:

 * Add ``collective.portlet.cumulus`` to the list of eggs to install, e.g.::
 
    [buildout]
    ...
    eggs =
        ...
        collective.portlet.cumulus
        
 * Tell the plone.recipe.zope2instance recipe to install a ZCML slug::
  
    [instance]
    recipe = plone.recipe.zope2instance
    ...
    zcml =
        collective.portlet.cumulus
        
 * Re-run buildout, e.g. with::
  
    $ ./bin/buildout
        
You can skip the ZCML slug if you are going to explicitly include the package
from another package's configure.zcml file.


Detailed documentation
============================

The local renderer and portlet objects
-------------------------------------------

Adding some content for testing searches
::

    >>> self.setRoles(('Manager', ))
    >>> self.portal['front-page'].edit(subject=['global', 'tags'])
    >>> if1 = self.folder.invokeFactory('Folder', id='f1')
    >>> if2 = self.folder.invokeFactory('Folder', id='f2')
    >>> f1 = self.folder[if1]
    >>> f2 = self.folder[if2]
    >>> d1 = f1.invokeFactory('Document', id='blog-entry1')
    >>> d2 = f1.invokeFactory('Document', id='blog-entry2')
    >>> d3 = f2.invokeFactory('Document', id='blog-entry3')
    >>> d4 = f2.invokeFactory('Document', id='blog-entry4')
    >>> f1[d1].edit(subject=['blog', 'tags'])
    >>> f1[d2].edit(subject=['foo', 'bar'])
    >>> f2[d3].edit(subject=['toto', 'titi'])
    >>> f2[d4].edit(subject=['toto', 'tutu'])



Looking for our adapter to be in place
::

    >>> from collective.portlet.localcumulus.interfaces import ILocalTagsRetriever
    >>> from collective.portlet.localcumulus import catalog
    >>> data = catalog.DummyData()
    >>> data.refreshInterval = 1


This adapter takes a context and an Assigment as 'data' attribute
::

    >>> retriever = ILocalTagsRetriever(f1)
    >>> retriever
    <collective.portlet.localcumulus.catalog.LocalTags object at ...>

Trying to get the local tags of the f1 folder