Hi all, Please find the dropbox links for the UIs https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0 https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
On Sat, Mar 21, 2015 at 10:12 PM, Nadeeshaan Gunasinghe < [email protected]> wrote: > Hi all, > Here are the two mockup UIs we discussed yesterday. > We are adding an icon for redirecting to the revision tree view at the all > documents list(Which we have already under database all documents view) and > at the revision tree view we show the corresponding revision tree for the > document and when we click on a node particular revision of the document is > loaded at the right hand side of the tree. > :) > > Regards > > On Thu, Mar 19, 2015 at 10:39 PM, Nadeeshaan Gunasinghe < > [email protected]> wrote: > >> >> >> *Check list Progress after yesterday discussion* >> Sorry for the mis typing >> :) >> >> >> On Thu, Mar 19, 2015 at 9:43 PM, Nadeeshaan Gunasinghe < >> [email protected]> 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 <[email protected]> >>> 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 <[email protected]> >>>> 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 >>>> > <[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 >>>> >>> >>> >>> >>> -- >>> 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
