[go: up one dir, main page]

Menu

Tree [c87511] Release /
 History

HTTPS access


File Date Author Commit
 3rdparty 2011-09-08 awilliam awilliam [02bae1] Rename HordeOGo config files
 attic 2012-08-01 awilliam awilliam [42b06a] Clean-up to improve packaging
 coils 2012-10-11 awilliam awilliam [1ca1d7] BUGFIX: typo in error message
 docs 2012-08-01 awilliam awilliam [7eaaff] Officially expand the lock token to CHAR(255)
 tests 2012-09-12 awilliam awilliam [d981e5] BUGFIX: improvement to task action + task actio...
 tools 2012-09-18 awilliam awilliam [32230a] Move tools out of src/ to root of project
 .hgignore 2012-09-18 awilliam awilliam [2ca7b4] Don't make _ files, they do not sort property; ...
 COPYING.txt 2012-08-01 awilliam awilliam [42b06a] Clean-up to improve packaging
 MANIFEST 2012-08-01 awilliam awilliam [42b06a] Clean-up to improve packaging
 Makefile 2012-10-14 awilliam awilliam [cc7df3] Touch-up Makefile.
 README.rst 2012-08-02 awilliam awilliam [b3c2dd] README.txt should be README.rst
 requirements.txt 2012-10-11 awilliam awilliam [5d8030] Update requirements
 setup.py 2012-10-16 awilliam awilliam [09c88a] VERSION: 0.1.48

Read Me

OpenGroupware Coils

What It Does

OpenGroupware Coils is a WebDAV / CardDAV / CalDAV server which also integrates a powerful workflow engine (OpenGroupware Integration Engine). Coils, via the zOGI API (exposed as both JSON-RPC and XML-RPC), the DAV presentation, and REST provides a powerful suite of contact, task, document, and workflow management capabilites.

Installation

  • Create prequisites * OpenGroupware Coils requires:

    • A PostgreSQL database
    • A RabbitMQ instance for inter-component communication.
    • The Python prerequisites themselves require a few dependencies in order to build: * libxml2 & libxslt (XML processing) * YaML * Optional - YaJL - cmake is required to build the lloyd-yajl library. * Optional - Freetype, libpng, libjpeg (Image Manipulation; Coils uses the PIL) * Optional - libsmbclient (Samba)
  • Check out the code with mercurial

  • Adjust first few lines of the Makefile to match your database and message broker configuration.

  • make initdatabase * This step will create a virtual environment, install dependencies, and initialize a very base OpenGroupware Coils configuration.

  • make run

  • Connect your WebDAV client to http://localhost:8080/dav and login. The administrative user account is "ogo" and the default password is whatever was specified in the top of the Makefile.

Provisioning PostgreSQL

Create a PostgreSQL account and UTF-8 encoded database. The OpenGroupware Coils deployment scripts will automatically populate the database.

sudo -u postgres createuser --password --no-superuser --no-create --no-createrole OGoDev sudo -u postgres createdb -E UTF-8 -O OGoDev OGoDev0

Provisioning RabbitMQ

Create a user in RabbitMQ and a vHost for the OpenGroupware Coils components to use.

sudo /usr/sbin/rabbitmqctl add_user OGoDev0 {AMQPASSWORD} sudo /usr/sbin/rabbitmqctl add_vhost OGoDev0 sudo /usr/sbin/rabbitmqctl set_permissions -p OGoDev0 OGoDev0 ".*" ".*" ".*"

Getting and building libyajl [Optional]

Unfortunately packages for the appropriate version of libyajl are not commonly available. The procedure to acquire and build a compatible library is:

curl -o yajl-1.0.11.tar.gz http://gentoo.osuosl.org/distfiles/yajl-1.0.11.tar.gz tar xzvf yajl-1.0.11.tar.gz cd lloyd-yajl-f4baae0/ mkdir build cd build cmake .. sudo make install sudo /sbin/ldconfig

Note that OpenGroupware Coils will provide all functionality in the absence of libyajl with the exception streaming JSON processing.

Provisioning CentOS6

All the requirements for building the necessary Python modules on CentOS6 can be satisfied by performing:

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt rpm -Uvh

http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
yum install python python-ldap python-devel python-setuptools gcc
make binutils libxml2-devel libxslt-devel libyaml libyaml-devel postgresql-devel postgresql-libs cmake gcc-c++ freetype-devel libpng-devel libjpeg-devel libsmbclient-devel

Provisioning openSUSE 12.1

All the requirements for building the necessary Python modules on openSUSE 12.1 can be satisified by performing:

zypper in python python-ldap python-devel python-Distutils2 gcc make
binutils libxml2-devel libxslt-devel libyaml libyaml-devel postgresql-devel postgresql cmake gcc-c++ freetype2-devel libpng14-devel libjpeg62-devel libsmbclient-devel

License

MIT

Authors

Adam Tauno Williams <awilliam@whitemice.org>