3f/eoc-server

A complete CouchDB Query Server written in PHP.

1.9 2016-01-14 23:50 UTC

README

Latest Stable Version Latest Unstable Version Build Status Scrutinizer Code Quality License Total Downloads

Elephant on Couch Server

EoC Server is a CouchDB's Query Server implementation made in PHP programming language. CouchDB delegates computation of views, shows, filters, etc. to external query servers. It communicates with them over standard input/output, using a very simple, line-based protocol. CouchDB launches the query server and starts sending commands. The server responds according to its evaluation of the commands. The default query server is written in JavaScript. You can use other languages by setting a MIME type in the language property of a design document or the Content-Type header of a temporary view. Design documents that do not specify a language property are assumed to be of type JavaScript, as are ad-hoc queries that are POSTed to temporary view without a Content-Type header. Using EoC Server you can finally write your views, updates, filters, shows directly in PHP. No more JavaScript, just pure PHP.

Composer Installation

To install EoC Server, you first need to install Composer, a Package Manager for PHP, following those few steps:

curl -s https://getcomposer.org/installer | php

You can run this command to easily access composer from anywhere on your system:

sudo mv composer.phar /usr/local/bin/composer

EoC Server Installation

Once you have installed Composer, it's easy install Elephant on Couch Server.

  1. Move into the directory where is located main.js file:
cd /opt/local/share/couchdb/server

If you are using MacPorts on Mac OS X, you can find it on /opt/local/share/couchdb/server, instead if you installed CouchDB from source you'll probably find it /usr/share/couchdb/server/. Please refer to the CouchDB installation instructions.

  1. Create a project for EoC Server:
sudo composer create-project 3f/eoc-server

CouchDB Configuration

You are finally ready to configure CouchDB to use EoC Server. At this point you just need to edit local.ini configuration file:

vim /opt/local/etc/couchdb/local.ini

Then, under the [query_servers] section, add the following line:

[query_servers]
php=/opt/local/share/couchdb/server/eoc-server/bin/eocsvr.php

Usage

To benefit of EoC Server you must use EoC Client, a PHP client library for CouchDB. Using EoC Client, you can interact with CouchDB, and you can write your views directly in PHP. You don't need to know about CouchDB internals, neither JSON, just learn EoC Client and use it. All you need is to learn the MapReduce concept and an high level guide on CouchDB.

Requirements

PHP 5.4.7 or above.

Authors

Filippo F. Fadda - filippo.fadda@programmazione.it - http://www.linkedin.com/in/filippofadda

License

Elephant on Couch Server is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.