Hi Madhuka,

concerning Revisions specifically, there is some great writing at
http://guide.couchdb.org/draft/conflicts.html and
http://writing.jan.io/2013/12/19/understanding-couchdb-conflicts.html
The essence is that CouchDB (more or less) arbitrarily but
deterministically (!) picks a winner in case of a conflict. Be aware that
old revisions are not necessarily kept. As soon as you "compact" the DB (in
Futon / Fauxon or via curl), they are gone. So you can't use them as SVN/
git replacement ;-)

In terms of internal code structure, I'm sorry I can't really help out, I
guess building does the trick to quite some extent. Basically, before Couch
2.0 there was one HTTP endpoint written in Erlang (port 5984) which did all
the magic (including the possibility to add custom endpoints to it). With
Couch 2.0, there is a 2nd one for the cluster (which is why there is two
ports: 5984 - pointing to the NEW cluster http handling, as far as I know
in "chttpd") and the existing one, now at port 5986 (or 15984 / 15986,
25984/25986, etc. when running several nodes).

Probably s/o else can help you with the Erlang stuff

Good luck
    Sebastian

On Tue, Mar 31, 2015 at 7:25 PM, madhuka udantha <madhukaudan...@gmail.com>
wrote:

> Hi All,
>
> Can you point out some resources  /  tutorials to understand the code base
> of couchDB 2.0?
> Since I am trying to familiarize myself  with the couchDB2.0 code structure
> and architecture (mainly for cluster level)
>
> Thanks
>
> On Thu, Mar 19, 2015 at 11:45 AM, madhuka udantha <
> madhukaudan...@gmail.com>
> wrote:
>
> > Hi. All
> >
> >
> >
> > I'm Udantha. I'm a MSc. Student at University of Moratuwa. This
> particular
> > project looks interesting to me. Since I have previous experiences on
> > visualization(web portals / dashboards [1]), javascript [2], html5, REST
> > etc.
> >
> >
> >
> > Under guidance of Alexander Shorin, Robert Kowalski and Sebastian
> > Rothbucher, I have started the initial phase. Building
> > (/developer-preview/2.0/) from source and pointing out few small bugs in
> > build process. Going through the REST api[3] and following few
> > tutorials[4]. If there are any material or ideas that can help for
> > $subject, please let me know.
> >
> >
> > Here is the list of features that I gain over the period of time (this
> can
> > be change). Your ideas and view will be grateful in here.
> >
> >
> >
> >    - Visualize the Couch DB Clusters with nodes (icons, grouping)
> >    - Memory usage on each node in the cluster.
> >    - Charting and graph representation of memory usage over the nodes
> >    - Notification center
> >    - Where it will give notification for user when he/she reaches memory
> >       limits
> >       - Notification over documents/ document count
> >    - Summary of each node (name of the Databases, recent DB updates on
> >    each)
> >    - List databases cluster/node
> >    - Drag and Drop supporting for DB over the nodes *
> >    - Basic operation for node/DB can be done with interactive user
> >    interface*
> >    - Retrieving stats/actives*
> >
> >
> > Your ideas are welcome in here.
> >
> >
> >
> > [1] https://github.com/wso2/product-ues/
> >
> > [2] https://github.com/wso2/jaggery
> >
> > [3] http://couchdb.readthedocs.org/en/1.6.1/api/server/common.html
> >
> > [4] https://github.com/ryanflorence/react-training/tree/gh-pages/lessons
> >
> >
> > Thanks,
> > --
> > Madhuka Udantha
> > http://madhukaudantha.blogspot.com
> >
>
>
>
> --
> Cheers,
> Madhuka Udantha
> http://madhukaudantha.blogspot.com
>

Reply via email to