Menu

Tree [9438e8] master /
 History

HTTPS access


File Date Author Commit
 3rdparty 2011-09-08 awilliam awilliam [02bae1] Rename HordeOGo config files
 attic 2021-01-05 Adam Tauno Williams Adam Tauno Williams [331f87] misc, adding to attic
 coils 2021-11-24 Adam Tauno Williams Adam Tauno Williams [9f6308] ENHANCEMENT: use copyfileobj to push streams to...
 data 2012-09-18 awilliam awilliam [76e0bb] Move the data folder out of src/
 docs 2021-08-27 Adam Tauno Williams Adam Tauno Williams [19f989] DOCUMENTATION: store the Coils.EDDP.odg document
 tests 2021-10-26 Adam Tauno Williams Adam Tauno Williams [3a4958] ENHANCEMENT: implement explode XSLT extension p...
 tools 2020-06-30 Adam Tauno Williams Adam Tauno Williams [915c3f] ENHANCEMENT: coils-request-index tool support f...
 .gitignore 2020-04-01 Adam Tauno Williams Adam Tauno Williams [cd7508] add files to attic & update .gitignore
 COPYING.txt 2012-08-01 awilliam awilliam [42b06a] Clean-up to improve packaging
 Doxyfile 2013-03-01 awilliam awilliam [976b14] Run the files through doxpy before generating d...
 MANIFEST 2012-08-01 awilliam awilliam [42b06a] Clean-up to improve packaging
 Makefile 2017-01-18 Adam Tauno Williams Adam Tauno Williams [16eae3] Collect stray files, update Makefile tidy targe...
 NEWS.txt 2019-10-25 Adam Tauno Williams Adam Tauno Williams [f1e64e] RELEASE: 0.1.49rc120
 README.rst 2014-11-12 awilliam awilliam [ce8ddf] Update NEWS and README.rst
 coils-code.geany 2017-01-18 Adam Tauno Williams Adam Tauno Williams [16eae3] Collect stray files, update Makefile tidy targe...
 doxypy.py 2013-03-01 awilliam awilliam [976b14] Run the files through doxpy before generating d...
 requirements.txt 2019-11-22 Adam Tauno Williams Adam Tauno Williams [6b1abb] Bump requirements, in order to support PostgreS...
 setup.cfg 2020-08-28 Adam Tauno Williams Adam Tauno Williams [aaf281] DEVELOPMENT: include flake8 config file establi...
 setup.py 2021-09-14 Adam Tauno Williams Adam Tauno Williams [325131] Version bump

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

Running Tests

You can add the testing repository to your checkout by running:

make install-tests

The above will make a folder in your repository called "tests" that contains the contents of the testing repository. You can modify and create tests there, and commit then to the testing repo [permissions permitting].

And then you can run tests by:

make run-tests

If you have not already installed the testing repo asking to run the tests will do it for you.

License

MIT

Be Nice

This code is licensed as MIT. This gives you a lot of freedom and creates very little obligations on you; regardless of how you choose to use the code. If you benefit financially from this code we just ask that you consider making a donation to a beneficient organization such as the GNOME Foundation or NARP. The GNOME Foundation can be found @ <http://www.gnome.org/foundation/> NARP (National Association of Rail Passengers) can be found @ <http://www.narprail.org/>

Authors

Adam Tauno Williams <awilliam@whitemice.org> elkrisu (SourceForge user) btravers78 (SourceForge user) Ilya Lavrinov (SourceForge user "uzari") Bernard Devlin (SourceForge user "bjdevlin") Sebastian Reitenbach (SourceForge user "buzzzzdeeee")