Skip to main content

GUI for AdvancedQuery with some extensions - searching the easy way for Plone

Project 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

http://files.banality.de/public/anthill.querytool.submit.jpg

Predefined queries

http://files.banality.de/public/anthill.querytool.predefined.jpg

Thanks

  • Markus Reinsch for coding the predecessor of this package

  • Dieter Maurer for his great implementation of AdvancedQuery

Changelog

0.2 - 2009/08/21

  • Revamped documentation [spamsch]

0.1 - 2009/08/20

  • Initial release

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

anthill.querytool-0.2.tar.gz (16.6 kB view details)

Uploaded Source

File details

Details for the file anthill.querytool-0.2.tar.gz.

File metadata

File hashes

Hashes for anthill.querytool-0.2.tar.gz
Algorithm Hash digest
SHA256 94b89b32220a88c1d84d830438a357e633505354591200145724f34254a3698a
MD5 189e899d1123f4ba9c7fb512acbe0f61
BLAKE2b-256 dea7099fb0a54dedd96a827e6559a2b0b3b79dc62ab6950adaea1650d9fd28c7

See more details on using hashes here.

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