README for unalog-python
------------------------

unalog-python is a web application for use by one or more people
to keep track of various net-based activities.


INSTALLATION
------------

Aside from a handful of dependencies, unalog isn't too hard to
install.  Future releases will feature a web-based configurator.  
For now, read the Dependencies and How-to sections below for more 
information.


Dependencies
------------

unalog-python depends on the following products, so install them first.
You may be able to get it working with later versions of any of these.

    - python-2.3+ (http://python.org/download/)
	Works unchanged under python-2.3; all development is done under
	python-2.3.5.  
    - quixote-1.2 (http://www.mems-exchange.org/software/quixote/)
    - dulcinea-0.1 (http://www.mems-exchange.org/software/dulcinea/)
	Also works with dulcinea-0.2.1, but you will have to do one
	of the following:
	    a) disable site_util.SITE_CONFIG
	    b) tweak site_util.SITE_CONFIG so it doesn't prevent
	       unalog from starting
	    c) actually use site_util.SITE_CONFIG as it was intended
	       (see doc/site-management.txt)
	...otherwise I believe dulcinea-0.2.1 will just work.
	Note that dulcinea-0.3+ will NOT work; it uses Durus, not ZODB,
	and unalog uses the ZODB.
    - ZODB-3.2.4+ (http://zope.org/Products/ZODB3.2)
    - PyLucene-0.9.7+ (http://pylucene.osafoundation.org/)
        Required for search.  Note that PyLucene is only supported
        for python-2.4+, but it seems to work so far with only
        python-2.3.4+ on linux (windows does require 2.4)
    - log4py-1.3 (http://www.its4you.at/english/log4py.html)
    - PyXML (http://sourceforge.net/project/showfiles.php?group_id=6473)
	Required for included RSS.py to work, not sure which
	version, just try the latest that works with your OS/python
    - ElementTree (http://effbot.org/zone/element-index.htm)
        Required for all unalog-generated XML output (might be 
        replaced by lxml)
    - CQLParser (http://srw.cheshire3.org/downloads/)
        Requred for SRU interface; install all of [CQLParser.py,
        CQLUtils.py, SRWDiagnostics.py]
    - SCGI-1.2 [optional]
	http://www.mems-exchange.org/software/scgi/
	unalog comes with a scgi handler which depends on scgi
	being present, or you can use twisted (see next)
    - Twisted-1.3 [optional]
        only if you want to run under twisted.



How-to
------

It's not too hard, just do this in order.

    - install all the dependencies above (there might be more I haven't
	listed, python errors will tell you if so)
    - install unalog with "python setup.py install"
    - copy conf/unalog_config.py.sample to conf/unalog_config.py and tweak
	as needed.  Note that the ZODB filename is the db name itself;
	ZODB will create the db file, index, and locks based on that, so
	give it a filename, not a directory name.  It will create all these
	files if they don't already exist yet.
    - to start the process:
        - to use SCGI:
            - configure your web server to use SCGI (see scgi docs)
            - start unalog-scgi with bin/startup.sh
            - (restart after changing templates with bin/restart.sh;
              after changing the library code (non-templates) the scgi
              process must be killed and bin/startup.sh run again)
        - to use twisted, run bin/twisted-start.py
    - by default, an administrative account is created with the
      user "admin" and the pass "CHANGEME".  Log in with that account
      and do what it says! :)  Like you might with any computer system, 
      create yourself another user account, and use the admin account 
      to make that new user an "administrator" via the admin screens.
    - good luck!

If you do get it going, please let me know.


THANKS
------

The Yale Center for Medical Informatics, Yale University Library, and
Yale Information Technology Services have partially funded the work on 
this project.

Python is a beautiful thing; thanks to everyone ever involved with
making it as great as it is.

The MEMS Exchange and quixote-users folks have provided an exceedingly
well-fitting web toolkit and helpful support.

The OSAF's work on PyLucene means we get great search at very low cost.

See AUTHORS for details on who does what around here.


LICENSE
-------

unalog-python is made available under an MIT-style license; see
LICENSE for details.


ANYTHING ELSE?
--------------

A bug tracker/wiki/svn browser for unalog is available at:
  
  http://curtis.med.yale.edu/unalog-trac

See http://unalog.org/ for project news and information.

Please send any questions or comments to 
unalog-general_at_lists.sourceforge.net.


$Id: README 145 2005-08-18 23:31:42Z dlc33 $
