Metadata-Version: 1.1
Name: collective.rooter
Version: 1.0
Summary: Tools to force catalog queries to obey the current navigation root
Home-page: http://pypi.python.org/pypi/collective.rooter
Author: Martin Aspeli
Author-email: optilude@gmail.com
License: GPL
Description: Introduction
        ============
        
        This package adds a patch to Plone to ensure that call catalog queries are
        'rooted' to the current navigation root (as defined by the INavigationRoot
        interface). When installed, all catalog queries will have an implicit ``path``
        parameter that limits search results to within the current navigation root,
        unless a ``path`` or ``UID`` parameter is explicitly provided. This avoids
        "leakage" of search results, portlet listings and the like. If a ``UID``
        parameter is present, known content can be explicitly searched.
        
        In this context, the navigation root must be:
        
         * A folderish object
         * That provides the INavigationRoot marker interface
         * And is a "component site" in the Zope 3 Component Architecture sense
         
        The 'collective.lineage' product provides a user friendly way to create such
        types.
        
        The navigation root will be kept as a thread local variable, in the same way
        that the component site is accessible via the global `getSite()` function.
        To get hold of the current traversed-over navigation root, you can use::
        
          from collective.rooter import getNavigationRoot
          
          current_root = getNavigationRoot()
          
        The root may be None if no INavigationRoot has been traversed over.
        
        Changelog
        =========
        
        1.0 (2015-07-15)
        ----------------
        
        - If ``UID`` is given in the catalog search keywords, don't apply the
          INavigationRoot path. This allows for explicit queries for known objects in
          other areas of the portal. Obsoletes pull-request #1.
          [thet]
        
        - PEP 8.
          [thet]
        
        
        1.0b1 (2009-03-29)
        ------------------
        
        - Initial release.
          [optilude]
        
Keywords: plone navigation root
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
