Hi guys,
you might check out
http://atypical.net/archive/2014/02/04/my-couchdb-conf-talk - esp. slide
18...
Good luck
    Sebastian

On Sun, Mar 15, 2015 at 9:25 PM, Robert Kowalski <[email protected]> wrote:

> Hi Nadeeshaan,
>
> congrats! I hope you like our interface :) If you have any feedback on
> the installation process, including the website and/or have any ideas
> to make it better, just let us know.
>
> I have talked to you via chat already, so some of the things I write
> may be redundant, but I already started writing that mail when we
> started chatting and it probably makes sense to let the ML follow in
> the public.
>
> Under the hood Fauxton uses the CouchDB HTTP API, that means if you
> would have named your database `baseball` you would have typed:
>
> ```
> $ curl -X PUT http://127.0.0.1:5984/baseball
> $ curl -X POST http://127.0.0.1:5984/baseball -d '{"involved_person":
> "player"}' -H "Content-Type: application/json"
> ```
>
> After the POST CouchDB returns an id and rev to you:
>
> ```
>
> {"ok":true,"id":"9ab658d4978b6440b739c2d479000b5f","rev":"1-30447915fbb1fe23e994d0c7a4563abe"}
> ```
>
> You will also see those if you open the new document in Fauxton. You
> can then open a doc using a GET request and the id:
>
> ```
> $ curl -X GET
> http://127.0.0.1:5984/baseball/9ab658d4978b6440b739c2d479000b5f
> ```
>
> But why do we need revisions?
>
> The first primer is http://guide.couchdb.org/draft/consistency.html to
> get some background knowledge how CouchDB is updating data, it will
> make it easier for you why we need revisions in CouchDB compared to a
> classical SQL database. It does not lock, but to make sure that no
> other client overwrites accidentally other data, you will need to
> provide a revision to update a document:
>
> ```
> curl -X PUT
> http://127.0.0.1:5984/baseball2/9e0a5c077bed1acf61ca1bae2e000578?rev=1-30447915fbb1fe23e994d0c7a4563abe
> -d '{"involved_person": "referee"}' -H "Content-Type:
> application/json"
> ```
>
> ```
>
> {"ok":true,"id":"9e0a5c077bed1acf61ca1bae2e000578","rev":"2-61193c79a05bd0fa4fc823ec5a131645"}
> ```
>
> After the update the document gets a new revision. If the revision
> does not match on an update (e.g. another client updated already) you
> will get an error:
>
> ```
> curl -X PUT
> http://127.0.0.1:5984/baseball2/9e0a5c077bed1acf61ca1bae2e000578
> -d '{"involved_person": "referee"}' -H "Content-Type:
> application/json"
> ```
>
> results in:
>
> ```
> {"error":"conflict","reason":"Document update conflict."}
> ```
>
> The docs provide very good in-depth background information regarding
> revisions and conflicts:
>
>
> http://docs.couchdb.org/en/1.6.1/replication/conflicts.html#conflict-avoidance
> http://docs.couchdb.org/en/1.6.1/replication/conflicts.html#revision-tree
>
> The revision tree will be the one that will get visualized by the gsoc
> project :)
>
> The project mentioned in the ticket
> (https://github.com/neojski/visualizeRevTree) has an MIT license and
> is compatible to the Apache 2 license. It might make sense to use that
> one and just style it to our needs. Things I would like you to find
> out:
>
>  - is the project maintained?
>  - how we could style it to our needs
>  - what are the pros/cons to write something like that on our own
>
> It is OK if you don't find answers for all these questions, but it
> would be nice if you would spend max 2hrs until Wednesday to try to
> find that out.
>
> The old interface mentioned in the Jira ticket is available at
> http://localhost:5984/_utils/ and you were able to navigate between
> revisions of a document:
>
> https://cldup.com/ahArpJsBTH.png
>
> To try on your own, just modify an existing document.
>
> One idea could be to integrate the visualization of the tree and the
> navigation into the current document-editor screen. Feel free to ping
> Alex, nickname "Kxepal" in #couchdb-dev in freenode for feedback where
> and how he would use the feature as he created the ticket.
>
> Flux & React primers:
> As mentioned in the ticket we are using React for our application. It
> probably makes sense to learn some basics how React & Flux works if
> you never worked with it:
>
> I just recently done those on my own, and I would suggest you to
> follow the tutorial by creating code on your machine for the lessons
> from Ryan. The other article gives you an overview how the Flux
> pattern works which will be part of your work.
>
> https://github.com/ryanflorence/react-training/tree/gh-pages/lessons
>
> https://medium.com/brigade-engineering/what-is-the-flux-application-architecture-b57ebca85b9e
>
> Btw: Some of you mentioned that you have important exams in the next
> days. Please don't feel pressured and take care of them, having a good
> exam is important! :)
>
> As we have to find a way together how fast we are proceeding don't be
> discouraged if you don't get everything done until Wednesday. I know
> it is a lot of input but I also don't want you to get stuck and wait
> for new topics / tasks for your preparation.
>
>
> Meeting Wednesday:
> Feel free to join us on our weekly couchdb meeting:
>
> http://mail-archives.apache.org/mod_mbox/couchdb-dev/201503.mbox/%3CCAJ1bcfEKOh4nvoxUqvcAcUFgg96w-JqHEefpi%2BWzazKFUPXNCg%40mail.gmail.com%3E
>
> I will be around at least one hour before so we can chat. Contact me
> if you would like to chat earlier/later. I am also around the other
> days on IRC / the mailinglist and feel free to contact me in
> #couchdb-dev at any time. If I am not around I will answer you once I
> got online again, as I read the backlog.
>
> Checklist for Wednesday:
>  - read the primers on revisions, conflicts and versioning
>  - do the react.js tutorial and read the flux article
>  - think how we could integrate that feature into Fauxton, Kxepal
> might have some nice ideas how he would use the feature, he hangs out
> in #couchdb-dev like me
>  - try to answer the questions regarding pros/cons of using the
> existing revision tree visualizer vs creating one on our own
>  - try out the old feature in futon
>  - if time left: take a look at the Fauxton code, this commit shows
> how we refactored an old backbone component to a React one using the
> Flux pattern (Stores, Actions, Components)
>
>
> Again, this is a lot of input - but I tried to provide you enough to
> do until Wednesday. If you don't have time to follow that all (e.g.
> because of exams) don't feel discouraged. If it is not enough content,
> just contact me if you are at the last two steps, so I can prepare new
> content.
>
> Best,
> Robert
>
> On Sat, Mar 14, 2015 at 9:07 PM, Nadeeshaan Gunasinghe
> <[email protected]> wrote:
> > Hi Robert,
> > I followed your guide line and  I could Successfully install coucheDB and
> > fauxton. So as the next step I created a document and tested if
> everything
> > works. At the moment every works fine. I think I am ready for the next
> step
> > *" explaining revisions of documents"*. If you can provide some guidance
> > and resources to follow it would be great. :)
> > Cheers
> >
> > On Sat, Mar 14, 2015 at 2:34 PM, Nadeeshaan Gunasinghe <
> > [email protected]> wrote:
> >
> >> Hi,
> >> Thank you  very mush for the guidelines Robert. I am going to get
> started
> >> the guidelines as you suggested and Surely I will ping on dev in any
> >> imergency
> >> Cheers
> >>
> >> On Sat, Mar 14, 2015 at 12:59 PM, Robert Kowalski <[email protected]>
> wrote:
> >>
> >>> Hi Nadeeshaan and welcome to the CouchDB mailing list :)
> >>>
> >>> CouchDB is a database written in Erlang with an HTTP API. We have an
> >>> Admin-Interface (think of PHP MyAdmin) which is a
> >>> Single-Page-JavaScript MVC App. It started as a Backbone.js project,
> >>> but we are currently migrating to React.js for performance reasons.
> >>>
> >>> The CouchDB community is a very nice and inclusive community - I
> >>> really enjoy being a part of it!
> >>>
> >>> I tried to write a short tutorial how you can get Fauxton running on
> >>> your machine. Don't worry if you are stuck or have questions, we are
> >>> happy to help!
> >>>
> >>> Getting started:
> >>>
> >>> It would be nice if you have Linux/Unix running on your machine (or
> >>> something like "git bash" in place, but I a no expert in development
> >>> on windows) so we can exchange code snippets for the console.
> >>>
> >>> Pre-requirements:
> >>> For this project you will need to install at least CouchDB 1.x, an
> >>> Ubuntu package (with installation instructions) is at
> >>> https://launchpad.net/~couchdb/+archive/ubuntu/stable
> >>>
> >>> Additionally you need to install Node.js 0.10 or 0.12 (install from
> >>> https://nodejs.org)
> >>>
> >>> Booting Fauxton and first steps (type without the $):
> >>>
> >>> after you have couchdb installed you start it with:
> >>> $  couchdb
> >>>
> >>> if you have a permissions problem try:
> >>> $ sudo couchdb
> >>>
> >>> in another terminal, clone the admin interface:
> >>> $ git clone https://github.com/apache/couchdb-fauxton
> >>>
> >>> go to Fauxton
> >>> $ cd couchdb-fauxton
> >>>
> >>> install dependencies:
> >>> $ npm install
> >>> $ npm install -g grunt grunt-cli
> >>>
> >>> boot the app:
> >>> $ grunt dev
> >>>
> >>> Then open your browser and go to http://localhost:8000 - you should
> >>> see a red/gray/black interface
> >>>
> >>> That was a lot of input, you have a lot archived now!
> >>>
> >>> As first step, try to create a database and a document now using the
> >>> web interface. :)
> >>>
> >>> If everything worked, we are ready for the second part, explaining
> >>> revisions of documents. I am currently travelling but in general I am
> >>> also on freenode in #couchdb-dev and can give you ad-hoc help and help
> >>> troubleshooting. My nick is robertkowalski/rkowalski - I am also happy
> >>> to share my screen if the problem is more complex.
> >>>
> >>>
> >>> What's next:
> >>> If everything works we will take a look at Fauxtons code structure and
> >>> how it works. Additionally we will take a look at document revisions.
> >>>
> >>> Looking forward to work with you,
> >>> Robert
> >>>
> >>>
> >>> On Fri, Mar 13, 2015 at 1:51 PM, Nadeeshaan Gunasinghe
> >>> <[email protected]> wrote:
> >>> > Hi
> >>> > I am Nadeeshaan and currently I am a final year Undergraduate at
> >>> Department
> >>> > of Computer Science and Engineering at University of Moratuwa, Sri
> >>> Lanka. I
> >>> > did my Internship at WSO2 Lanka last year which is an open source
> >>> products
> >>> > related Company. I am so much passionate about involving in Open
> source
> >>> > contribution and also I completed my GSOC 2014 Project Successfully (
> >>> >
> >>>
> http://magazine.joomla.org/issues/issue-sept-2014/item/2282-reaching-the..
> >>> .)
> >>> > . I have a sound knowledge on Java,Javascript,CSS,HTML, MySQL,
> Database
> >>> > Administration, Machine Learning, Data Minng and web Development
> >>> specially.
> >>> >
> >>> > I am so much interested in aforementioned project and I would like to
> >>> > involve with this project idea. Therefore I would like to have bit
> more
> >>> > information about the project and to have some guidance about getting
> >>> > started with the project
> >>> >
> >>> > Cheers....
> >>> >
> >>> > --
> >>> > Nadeeshaan Gunasinghe
> >>> > Department of Computer Science and Engineering
> >>> > University of Moratuwa
> >>> > Sri Lanka
> >>>
> >>
> >>
> >>
> >> --
> >> Nadeeshaan Gunasinghe
> >> Department of Computer Science and Engineering
> >> University of Moratuwa
> >> Sri Lanka
> >>
> >
> >
> >
> > --
> > Nadeeshaan Gunasinghe
> > Department of Computer Science and Engineering
> > University of Moratuwa
> > Sri Lanka
>

Reply via email to