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 <[email protected]> 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 < > [email protected]> 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 <[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 >> > >> > > > > -- > Nadeeshaan Gunasinghe > Department of Computer Science and Engineering > University of Moratuwa > Sri Lanka
