Products.ZOpenArchives Installation
-----------------------------------

To install Products.ZOpenArchives into the global Python environment (or a workingenv),
using a traditional Zope 2 instance, you can do this:

* When you're reading this you have probably already run
  ``easy_install Products.ZOpenArchives``. Find out how to install setuptools
  (and EasyInstall) here:
  http://peak.telecommunity.com/DevCenter/EasyInstall

* If you are using Zope 2.9 (not 2.10), get `pythonproducts`_ and install it
  via::

    python setup.py install --home /path/to/instance

into your Zope instance.

* Create a file called ``Products.ZOpenArchives-configure.zcml`` in the
  ``/path/to/instance/etc/package-includes`` directory.  The file
  should only contain this::

    <include package="Products.ZOpenArchives" />

.. _pythonproducts: http://plone.org/products/pythonproducts


Alternatively, if you are using zc.buildout and the plone.recipe.zope2instance
recipe to manage your project, you can do this:

* Add ``Products.ZOpenArchives`` to the list of eggs to install, e.g.:

    [buildout]
    ...
    eggs =
        ...
        Products.ZOpenArchives

* Tell the plone.recipe.zope2instance recipe to install a ZCML slug:

    [instance]
    recipe = plone.recipe.zope2instance
    ...
    zcml =
        Products.ZOpenArchives

* Re-run buildout, e.g. with:

    $ ./bin/buildout

You can skip the ZCML slug if you are going to explicitly include the package
from another package's configure.zcml file.


Because its top level Python namespace package is called ``Products``, this
package can also be installed in Zope 2 as an old style **Zope 2 Product**.

For that, move (or symlink) the ``ZOpenArchives`` folder of this project
(``Products.ZOpenArchives/Products/ZOpenArchives``) into the ``Products`` directory of
the Zope instance it has to be installed for, and restart the server.

You can also skip the ZCML slug if you install this package the **Zope 2
Product** way.

ZMI Installation
----------------

** Important !!! :
This install only talk about ZOpenArchives configured with an eXist storage.
I let constructors of old catalog storage but it's strongly recommanded to not use it.

Object you have to play with are:
 - Exist Open Archive Repository
 - Exist Open Archive Aggregator (and Exist Open Archive Set/NameSpace in it).



** Requiered products :

	  Xron - deprecated - Prefer use a crontab call to update Aggregator
	  PyXML 0.8.x or higher (0.8.3 recommended and tested)

      - eXist DB features:
	  exist_zope DB adapter to use eXsitDB repository features (recommanded in this version and include in the package)


** Compatibility:

	Tested on Zope 2.11 but i think it's work from Zope 2.6

** Installation:

	Just untar archive into your zope product directory

	and restart zope

	You can add two types of object inside your ZMI:
	- Exist Open Archive Repository:
	   - Add an "Exist Open Archive Repository" object from the "add menu". Fill the exist database adapter ID and others fields.
	   - If needed change values inside "Preferences" and "Server info" panels.
	   - You can manage NameSpaces supported by the repository
	       --> Go inside the "NameSpaces folder and add if needed an "Exist Open Archive Namespace".
	       By default, DC, LOM and CDM namespace are added.
	   - You can manage repository sets
	       --> Go inside the "setsStorage" folder and add "Exist Open Archive Set"
	       If you want to define sets, i recommand you to read some documentation from the OAI spec (openarchives.org) to define them in the right way

	   You now have a repository correctly setted, envoy !

    - Exist Open Archive Aggregator:
        It's exactly the same than a repository see above but with the possibility to add Harvester in it.
        There's two types of harvester:
            - Exist Open Archive Arvester : connect to a remote site to harvest it.
            - ZCatalog Harvester 4 eXist: Harvest a local catalog (DC format) to give an OAI view to your zope site.

	Enjoy !

** Updates:
	Important: If you update to v1.5.3, you need to reconfigure exist namespace inside each namespace object


** OAI registry :

       http://gita.grainger.uiuc.edu/registry/ListAllRepos.asp

       http://www.openarchives.org/Register/BrowseSites
