ANNOUNCE: IndexedCatalog 0.4

Johan Dahlin jdahlin@async.com.br
14 Nov 2002 19:45:28 -0200


ANNOUNCE: Released IndexedCatalog 0.4

Async Open Source releases today the third public version of
IndexedCatalog. IndexedCatalog is an extension to the Zope Object
Database (ZODB) that makes object retrieval easier and faster, by
indexing all fields by type (string/integer/float/date) and=20
providing a simple query language.

    http://www.async.com.br/projects/IndexedCatalog/

* Changes

    - New query language:
      * Includes Mike Fletcher's SimpleParse 2.0:
        (code is included to avoid the external dependency)
      * Parentheses
      * Arrays (x in [1, 2, 3])
      * Object references can be used in the query=20
       (using the %o parameter format)
      * Substring case sensitive and case in sensitive matching
      * Boolean operators: and/or/not

    - mx.DateTime support, simplifies date and time indexing/querying
    - Foreign references works correctly now.=20
      (Delegate indexing/queries to other catalogs)
    - Optimized substring searching, should be 10-30% faster.
    - More tests in the test suites.
    - Dynamic attributes for simple types (no instances yet)

Next release will include complete dynamic types, documentation and a=20
(hopefully) stable API.

A blurb about IndexedCatalog follows.

--- blurb -------------------------------------------------------------

* Overview

  IndexedCatalog is an extension to the Zope Object Database (ZODB)
  developed at Async Open Source that provides indexing and allows=20
  queries for objects based on attributes.  This is accomplished=20
  by indexing all fields by type (string/integer/float) and=20
  by implementing a query language.

  IndexedCatalog is licensed under the Lesser GNU Public License (LGPL).

* Features

    - Provides a Catalog class that stores objects and offers a query
      interface.
    - Provides Indexes for Strings, Floats, Integers, Dates and Instances.
    - Requires very little change to objects for catalogs and indexes to
      work: basically inherit from IndexedCatalog.IndexedObject,,=20
      add some special attributes to the Classes, and use catalog.insert(=
)=20
      to add the instances to the catalogs.
    - Supports composite objects, initializing and indexing sub-objects
      automatically.
    - Supports queries by type, and allows querying sub-object or
      referenced object attribute values.
    - Allows ordering query results by field, both ascending and
      descending.
    - Is 100% pure python, and by using Distutils requires
      minimal effort to install.

* Feedback

  We really would appreciate feedback on a few things:

  - The efficiency of the indexing and query algorithms,=20
    especially sub-string matching.
  - The new improved query language
  - All comments are appreciated; don't hesitate to post your
    opinion.

* Download

  You can download IndexedCatalog from

    http://www.async.com.br/projects/IndexedCatalog/

 =20
* Dependencies

  Python 2.1.2 or higher or Python 2.2.2 or higher.
  (Python CVS/2.3 untested)

  ZODB 1.0.x and 3.x are known to work

  eGenix mx Extensions: Currently only mx.DateTime, but we plan to=20
  use larger parts later on.


* Installing

  Using standard python distutils:

    python setup.py install

  Or just set PYTHONPATH to the directory you unpacked IndexedCatalog
  in.


* Reporting bugs

  Report bugs, feature requests and all other things related to
  IndexedCatalog at

    http://bugs.async.com.br/enter_bug.cgi?product=3DIndexedCatalog


* Contact

  Johan Dahlin <jdahlin@async.com.br>
  Christian Reis <kiko@async.com.br>


* About Async

  Async Open Source is a company devoted to developing custom
  applications based on open source software, and providing support for
  other existing open source products. We are active in the OSS
  community, supporting (and employing) project maintainers, encouraging
  release of software as open source, and promoting reuse of existing
  open source products.

  Async is located in S=E3o Carlos, SP, Brazil, and online at
  http://www.async.com.br/

--=20
Johan Dahlin <jdahlin@async.com.br>
Async Open Source