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
