
Todo 
----

to get a functioning implementation in short order.. several short
cuts were taken, to be revisited as time per permits. 

Factor Out Operation Context
============================

Catalog Facade
==============


Caching SearchConnections
=========================

Ideally we'd be caching search connections for a request, instead of
constructing them on demand.

Multiple Catalogs
=================

There is a single catalog per zope instance at the moment... local sites 
don't help since there is no site setup mechanism for the async processing
thread. an advanced operation operation factory could do some sort of 
catalog dispatching.

Batch and Collapse Operations
=============================

Many times an application will have multiple operations for a single
object, ideally an index should be to collapse redundant operations 
for the same object within a given timespan. We *already* do this
within a transaction scope, the concern here is to due this on queue
processor scope.

Multiple App Servers
====================

Multiple Application server processes was outside of the scope of the
initial implementation, and require the following.

This caveat also applies to multi process deployments.

Multi Process Persistent Queue
==============================

storing operations into an rdbms queue will allow for multi
process/node usage of the index queue. alternatively an event bus
with support for persistent events.

Remote Searcher
===============

with a multiprocess/node setup, a dedicated index server is needed.

xappy needs to be extended with remote searching capabilities.


