couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benoit Chesneau <bchesn...@gmail.com>
Subject [VOTE] Merge rcouch
Date Tue, 25 Jun 2013 16:43:44 GMT
Hi All,

I propose to merge rcouch (http://rcouch,org) in the official Apache
CouchDB repository to a new branch (i.e, *not* master). Once there, the
full CouchDB developer community can begin the work to incorporate the
code here into an official release.

You do not need to respond if you are in agreement. If there is no
response in 72 hours, I will assume lazy consensus. If we reach
consensus, I will start the IP clearance process and then the merge.

Work is available here:

- couch core: http://github.com/refuge/couch_core
- rcouch release build system: http://github.com/refuge/rcouch

A tarball containing rcouch and all its dependencies is available here:

    http://dl.refuge.io/rcouch-0.7.1.tar.gz

Installation instructions are available here:

    https://github.com/refuge/rcouch/wiki/Installation

The full documentation is available on the rcouch wiki:

    https://github.com/refuge/rcouch/wiki

# Informations about rcouch

Rcouch is an alternative distribution of Apache CouchDB based for now on
the 1.3 release. The goal of Rcouch is to provides a simple way to
customize CouchDB to your needs and easily include it in your own
architecture. Today you can embed couchdb in your Erlang Application or
add your own extensions to it and deploy a static release on multiple
platforms.

supported platforms

Rcouch supports the following platorms:

- Linux x86 & x86_64, armv5, armv7a, armv8
- Freebsd i386/amd64, OpenBSD i386/amd64 (netbsd not tested)
- Solaris
- MacOSX 10.7 and sup

Note: Windows support isn't implemented yet but it should be straightforward
with latest tools from @dch.

Rcouch works with the R15x and R16x versions of Erlang.

Changes from Apache CouchDB
Main changes from Apache CouchDB are:

- Refactoring [1] of the codebase with a new release system based on Erlang
  reltools and rebar, a separations of the applications allowing more
custumisations and an improved statibiliy of CouchDB (better
supervision). With this refactoring A release can be fully relocatable
and is statically linked.

- View changes [2] - Rcouch offers you the possibility to get incremental
  view changes (ie using the changes API over a view index. View changes
can be filtered using a javascript function or using the view parameters
(you can get view changes for a key or a range).

- View-based replication [3] - You can incrementally replication your
  document using a view to filter them. This replication is based on the
view changes

- Include deleted documents [4] in view results

- Validate documents on read [5]- Validate if the document can be read by
  the current user.

- Write-only databases [6]- Only admins and some readers are able to read a
  database.

- Filter returned fields in changes results [7]

- Some Optimisations and internal changes in the source code [8]. This
  changes has been added upon the time to fix issues or optimize some
processing based on the user and customers feedback.

- Custom extensions [9]- It is easy to add custom extensions to your build
  using the rcouch system. Extensions built-in are
_random_docs and _db_updates. Some others extensions will be  available in
the refuge projects.


Links:

[1] https://github.com/refuge/rcouch/wiki/refactoring
[2] https://github.com/refuge/rcouch/wiki/View-Changes
[3] https://github.com/refuge/rcouch/wiki/Replication-with-view-changes
[4] https://github.com/refuge/rcouch/wiki/View-Deleted-Documents
[5] https://github.com/refuge/rcouch/wiki/Validate-documents-on-read
[6] https://github.com/refuge/rcouch/wiki/Write-only-databases
[7] https://github.com/refuge/rcouch/wiki/Couch-changes#filter-fields-in-included-doc-when-returned-from-a-_changes
[8] https://github.com/refuge/rcouch/wiki/Source-Code-Changes
[9] https://github.com/refuge/rcouch/wiki/Custom-Extensions

Mime
View raw message