Metadata-Version: 1.0
Name: anthill.querytool
Version: 0.2
Summary: GUI for AdvancedQuery with some extensions - searching the easy way for Plone
Home-page: http://www.banality.de/
Author: Simon Pamies
Author-email: s.pamies@banality.de
License: GPL
Description: Introduction
        ------------
        
        This package provides a complete user interface for ``AdvancedQuery`` by
        Dieter Maurer. It enables you to use a powerful language to search for
        content. It also provides functionality to save parametrized and conditional
        queries for later use (predefined queries). Look at the examples for more information.
        
        Installation
        ------------
        
        - Put anthill.querytool in eggs= and zcml=
        - Make sure that AdvancedQuery is installed (works for Plone 3.x)
        
        Example query
        -------------
        
        A query could look like that::
        
        And(
        Eq('SearchableText', '$text'),
        ~Generic('path', {'query':'Members', 'level':-1}),
        
        [[if($allowed_types)]]
        In('portal_types', $allowed_types),
        [[endif]]
        
        [[ifnot($allowed_types)]]
        In('portal_types', ['Folder', 'Document']),
        [[endif]]
        
        Ge('start_date', TODAY)
        )
        
        Here you see that you can parametrize queries (variable expansion enabled
        using $), you also can use defined constants (only one currently active called TODAY
        where TODAY=DateTime()) and you can put conditionals in your queries.
        
        Conditionals are a powerful way to enable or disable certain parts of your
        query. The ``if`` statement checks if a given parameter exists. You can also
        replace ``if`` with ``ifnot`` that only activates the given part if the
        parameter is not set.
        
        You can save this query and call it later on like that::
        
        context.query_tool.executePredefinedQuery('contentsearch', text='Test*', allowed_types=['Folder', ])
        
        Extensions
        ----------
        
        This release adds some additional query operators (defined in
        SearchOperators.py). The following operators are currently available:
        
        - ``Count`` counts items in search results. (e.g. Count(Eq('SearchableText', 'moses')) )
        - ``Sum`` computes sum over int result (e.g. Sum(Ge('commentcount', 10)) )
        - ``Avg`` computes the average over an int result (e.g. Avg(Ge('userviews', 1)) )
        
        Look at SearchOperators.py for examples on how to create your own operators.
        
        Submit query
        ------------
        
        .. image:: http://files.banality.de/public/anthill.querytool.submit.jpg
        
        Predefined queries
        ------------------
        
        .. image:: http://files.banality.de/public/anthill.querytool.predefined.jpg
        
        Thanks
        ------
        
        - Dieter Maurer for his great implementation of AdvancedQuery
        - Markus Reinsch for providing useful hints and code
        
        Changelog
        =========
        
        0.2 - 2009/08/21
        ----------------
        
        * Revamped documentation [spamsch]
        
        0.1 - 2009/08/20
        ----------------
        
        * Initial release
        
        
Keywords: anthill plone query advancedquery search
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
