*Check list Progress after yesterday discussion*
Sorry for the mis typing
:)

On Thu, Mar 19, 2015 at 9:43 PM, Nadeeshaan Gunasinghe <
nadeeshaangunasin...@gmail.com> wrote:

> Hi Robert,
>
> *Check list Progress after tomorrow discussion*
> I replicated 4 databases and synced all of them one with the other in
> order to generate a revision tree as suggested by Alex. Also with the
> relevant API call I could retrieve the revision tree structure. So we can
> decode the JSON and then to determine the structure of the revision tree. I
> am going to try retrieving the revision history through a React based UI
> which will be easier for the future implementations.
> Regards
>
> On Thu, Mar 19, 2015 at 3:20 AM, Robert Kowalski <r...@kowalski.gd> wrote:
>
>> Some of you asked for a template for their proposals, here is what I've
>> found:
>>
>> http://community.staging.apache.org/gsoc#application-template
>>
>> Best,
>> Robert
>>
>> On Tue, Mar 17, 2015 at 10:41 PM, Robert Kowalski <r...@kowalski.gd>
>> wrote:
>> > Thank you for posting the results - you are doing good work! I hope
>> > you learn a lot and it makes fun!
>> >
>> > Tomorrow we will have our weekly status meetup (see [1] for the time
>> > in your timezone), feel free to join, meet other project members and
>> > learn what the project is currently doing next to the Summer of Code.
>> >
>> > I will also be around 1hr earlier in #couchdb-dev to answer all your
>> > questions and discuss our next steps.
>> >
>> >
>> > [1]
>> http://mail-archives.apache.org/mod_mbox/couchdb-dev/201503.mbox/%3CCAJ1bcfEKOh4nvoxUqvcAcUFgg96w-JqHEefpi%2BWzazKFUPXNCg%40mail.gmail.com%3E
>> >
>> > On Mon, Mar 16, 2015 at 8:51 PM, Nadeeshaan Gunasinghe
>> > <nadeeshaangunasin...@gmail.com> wrote:
>> >> Hi all,
>> >> I went through the currently available revision tree at
>> >> https://github.com/neojski/visualizeRevTree. If we can take in to
>> account
>> >> this idea, we can write a module for fauxton allowing future extending
>> >> abilities as well as customization abilities. If we can initiate the
>> >> component at this stage and get this to the community I am sure more
>> people
>> >> will contribute and we can have more ideas. So as the first step we can
>> >> make a working revision tree visualizing component and during the
>> >> implementation procedure we can keep track of the new ideas about the
>> >> additional features.
>> >>
>> >> TO DO status:
>> >> -  read the primers on revisions, conflicts and versioning --- *Done*
>> >>  - do the react.js tutorial and read the flux article ----- *Flux in
>> >> Progress*
>> >>  - try to answer the questions regarding pros/cons of using the
>> existing
>> >> revision tree visualizer vs creating one on our own ---- *Done*
>> >>  - try out the old feature in futon ---- *Done*
>> >>  - 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) ----- *Pending*
>> >>
>> >> On Mon, Mar 16, 2015 at 2:31 AM, Sebastian Rothbucher <
>> >> sebastianrothbuc...@googlemail.com> wrote:
>> >>
>> >>> 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 <r...@kowalski.gd>
>> 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
>> >>> > <nadeeshaangunasin...@gmail.com> 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 <
>> >>> > > nadeeshaangunasin...@gmail.com> 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 <
>> r...@kowalski.gd>
>> >>> > 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
>> >>> > >>> <nadeeshaangunasin...@gmail.com> 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
>> >>> >
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> 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