DESCRIPTION:
============

Cyclotis is a database enabling to translators to work at same time on the same document.
This is not a full computer-assisted-translation (CAT) tool,
but a resource to be plugged into your favorite CAT client interface.

This package contains a REST service to be used as a proxy instead of direct access to Postgresql.
This is useful for security reasons, as you don't have to make port 5432 open, while port 80 or 8080 usually is.
This also enables massive hosting, as you are not limited by available connections into Postgres (usually limited to 100),
since REST service uses a pool of connections.

INSTALLATION:
=============

The REST API is written using Perl framework named 'Dancer'. Look at http://www.perldancer.org/
and install Dancer library and its Database plugin. 
Users of debian can install the packages libdancer-perl and libdancer-plugin-database-perl, which will check for dependancies.

Also create the SQL tables before you can use REST API.
Note that REST API better works with by_id or by_path mode, as it enables DBI statement sharing,
and preferably using PostgreSQL 9.2 or more, as previous versions did not
use constraint exclusion with variable ids. 
But except for memory usage it should be totally transparent to the user.

USAGE:
======

This is not a full computer-assisted-translation (CAT) tool,
but a resource to be plugged into your favorite CAT client interface.
Your CAT tool should either access to the database using common interface (DBI,JDBC,etc.),
or use the the REST API (what you just downloaded) if you installed a web server.

The first solution works only if either you are in the same machine or the TCP port of Postgresql is opened to outside.
Direct access is a little bit faster but less secure, and a client may open too many connections.

The script rest/cyclotis-rest-api.pl, if you launch it directly, will start a basic HTTP server, not for production.
In a bigger environment, please consider to use a scalable web server instead.

LICENSE:
========

Please read the file LICENSE for the very last version of conditions applied to this code.

