*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