You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Nadeeshaan Gunasinghe <na...@gmail.com> on 2015/03/13 13:51:59 UTC
GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
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
Re: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi all,
I am so much happy to tell you all that my project proposal has been
accepted for GSOC 2015 :) . From the beginning of the work up to now I had
so much help from the community members to go over the first hurdle.
Specially Robert and Alex gave me a great support for the proposal by proof
reading and providing valuable advices. Thank you all again.
:)
Cheers
On Fri, Apr 24, 2015 at 12:45 AM, Nadeeshaan Gunasinghe <
nadeeshaangunasinghe@gmail.com> wrote:
> Hi all,
> Is there any way of parsing multipart data in Fauxton? An example would be
> so much helpful .
> :)
>
> Regards
>
> On Tue, Apr 14, 2015 at 9:09 PM, Nadeeshaan Gunasinghe <
> nadeeshaangunasinghe@gmail.com> wrote:
>
>> Hi Robert,
>> As you suggested here is the link for my react component testing
>> development branch. At the moment I am completing the react lessons and one
>> left to go.
>> :)
>>
>> https://github.com/nadeeshaan/couchdb-fauxton/tree/InitialTestingBranch
>>
>> Cheers.
>>
>> On Sat, Apr 4, 2015 at 5:08 PM, Nadeeshaan Gunasinghe <
>> nadeeshaangunasinghe@gmail.com> wrote:
>>
>>> Hi Robert,
>>> I followed the resources you shared previously and I could successfully
>>> create a react component to display some content on the view.
>>>
>>> For the reference of other newbies like me who try to create react
>>> components I would like to suggest taking a look at on
>>> app/addons/cors
>>> app/addons/config
>>>
>>> as well as
>>> https://github.com/nadeeshaan/couchdb-fauxton/blob/master/writing_addons.md
>>>
>>> Going through those we can successfully create a react component. :)
>>>
>>> Cheers
>>>
>>> On Wed, Mar 25, 2015 at 2:37 AM, Nadeeshaan Gunasinghe <
>>> nadeeshaangunasinghe@gmail.com> wrote:
>>>
>>>> Hi Robert,
>>>> As you suggested yesterday I started generating the UIs in the fauxton
>>>> Code base. I followed the sample addon writing tutorial in github and went
>>>> through the already written addons. As a first step I could get an idea
>>>> about how the data is flowing through fauxton and how content is managed.
>>>> So as my next step I am going to try writing a bit more complex UI adding
>>>> bits of components there.
>>>> Cheers
>>>>
>>>> On Mon, Mar 23, 2015 at 6:13 PM, Alexander Shorin <kx...@gmail.com>
>>>> wrote:
>>>>
>>>>> Very good! Such layout indeed have better potential to handle upcoming
>>>>> feature requests. I wouldn't concentrate here on the details (like
>>>>> action menu - it's uncommon for Fauxton interface to have a dropdown
>>>>> list of actions since buttons are preferred instead) - the idea and
>>>>> the base layout are more important at the start. Robert, what do you
>>>>> think?
>>>>> --
>>>>> ,,,^..^,,,
>>>>>
>>>>>
>>>>> On Mon, Mar 23, 2015 at 3:15 PM, Nadeeshaan Gunasinghe
>>>>> <na...@gmail.com> wrote:
>>>>> > Hi Robert,
>>>>> > According to the suggestions of Alex I re designed the Interface. It
>>>>> will
>>>>> > be great if you can give some feedback regarding the current UI.
>>>>> > I will point to each suggestion as follows,
>>>>> >
>>>>> >
>>>>> > *1. Tree could be wide. Very wide and tall. Proposed interface has a
>>>>> quite
>>>>> > small limit for amount of conflicts which could be showed without
>>>>> having
>>>>> > horizontal scrolling. How this is suppose to be handled? *
>>>>> > Tree is being shown inside a scrollable (Horizontal and vertical
>>>>> only if
>>>>> > the tree does not fit in side the pane) pane in which we can click
>>>>> on the
>>>>> > nodes and traverse the tree allowing much wider as well as taller
>>>>> trees
>>>>> >
>>>>> > *2. Tree is used to only to look it at and browse document for each
>>>>> > selected revision, but also to apply some kind of operation: "revert
>>>>> to",
>>>>> > delete, merge, etc. Proposed interface doesn't assumes to have any
>>>>> bar for
>>>>> > such operations.*
>>>>> > Above the tree's display pane there is a drop down select in order to
>>>>> > select the desired operation to be done. As an example merge, revert
>>>>> to,
>>>>> > etc.
>>>>> > Ex: If you select the merge option then you are allowed to select
>>>>> two tree
>>>>> > nodes. If you select delete option or explore (Default Option) then
>>>>> you are
>>>>> > allowed to select one node.
>>>>> > When you select such option, as an example merge, two nodes' document
>>>>> > content will be shown in the two document view panes. Relevant
>>>>> revision id
>>>>> > is shown above the corresponding pane.
>>>>> >
>>>>> > *3. Document content for some revisions may not be available. What
>>>>> will be
>>>>> > showed on the right pane in this case?*
>>>>> > If the content of a revision is not available then the pane will be
>>>>> left
>>>>> > blank (No more right side pane in the available pane)
>>>>> >
>>>>> > *4. During the conflict resolution, or merge, you'll need to see both
>>>>> > conflict documents and the result of their merge. How proposed
>>>>> interface
>>>>> > could help with that?*
>>>>> > At the top right corner above the display panes there is an icon of
>>>>> eye.
>>>>> > Clicking on it, a modal opens and shows the result of the operation
>>>>> >
>>>>> > *5. Will navigation to revision tree page be available from document
>>>>> view
>>>>> > page?*
>>>>> > Yes. This issue had addressed in the previous version. In which we
>>>>> are
>>>>> > adding a link to each document (A tree icon left to the pencil icon)
>>>>> which
>>>>> > redirect to the revision tree page.
>>>>> >
>>>>> > *Features for operations.*
>>>>> > Options:
>>>>> > Explore
>>>>> > Revert to
>>>>> > Merge
>>>>> > Delete
>>>>> >
>>>>> > In the operation selection drop down there is a default option
>>>>> *"Explore" *when
>>>>> > this is selected "eye icon", "Apply Button" will be disabled. Also
>>>>> only one
>>>>> > pane will be shown for loading the document content
>>>>> > Delete works as same and only the "Apply Button" won't be disabled
>>>>> >
>>>>> > At the moment I focused on the above options only depending on the
>>>>> options
>>>>> > we can to alterations for the UI based on the current View. During
>>>>> the
>>>>> > implementation there may be slight changes of the designed, but the
>>>>> basic
>>>>> > structure will remain same.
>>>>> >
>>>>> > Links to the UIs,
>>>>> >
>>>>> > Documents view:
>>>>> >
>>>>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>>>>> > Revision Tree View:
>>>>> >
>>>>> https://moqups.com/nadeeshaangunasinghe@gmail.com/57ApYGyp/p:a2a67f660
>>>>> >
>>>>> > Cheers,
>>>>> >
>>>>> > On Sun, Mar 22, 2015 at 10:17 AM, Nadeeshaan Gunasinghe <
>>>>> > nadeeshaangunasinghe@gmail.com> wrote:
>>>>> >
>>>>> >> Hi Alex,
>>>>> >> Thank you very much for pointing out the missing things and the
>>>>> critical
>>>>> >> functionality suggestions.
>>>>> >> I designed these uis in order to show how we are going to/where we
>>>>> are
>>>>> >> going to show the revision tree.
>>>>> >> As you suggested I am redesigning the ui in order to support the
>>>>> critical
>>>>> >> functionalities. I will send the re designed mockups asap for your
>>>>> >> inspection.
>>>>> >> BR
>>>>> >> ------------------------------
>>>>> >> From: Alexander Shorin <kx...@gmail.com>
>>>>> >> Sent: 3/21/2015 11:55 PM
>>>>> >> To: dev@couchdb.apache.org
>>>>> >> Subject: Re: GSOC 2015 [Visualize document revision tree and
>>>>> navigate
>>>>> >> betweenthese revisions]
>>>>> >>
>>>>> >> On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
>>>>> >> <na...@gmail.com> wrote:
>>>>> >> >
>>>>> >>
>>>>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>>>>> >> > https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
>>>>> >>
>>>>> >> Good start. Now let's try to think how this feature could be used in
>>>>> >> real. This will give us the following questions:
>>>>> >> 1. Tree could be wide. Very wide and tall. Proposed interface has a
>>>>> >> quite small limit for amount of conflicts which could be showed
>>>>> >> without having horizontal scrolling. How this is suppose to be
>>>>> >> handled?
>>>>> >> 2. Tree is used to only to look it at and browse document for each
>>>>> >> selected revision, but also to apply some kind of operation: "revert
>>>>> >> to", delete, merge, etc. Proposed interface doesn't assumes to have
>>>>> >> any bar for such operations.
>>>>> >> 3. Document content for some revisions may not be available. What
>>>>> will
>>>>> >> be showed on the right pane in this case?
>>>>> >> 4. During the conflict resolution, or merge, you'll need to see both
>>>>> >> conflict documents and the result of their merge. How proposed
>>>>> >> interface could help with that?
>>>>> >> 5. Will navigation to revision tree page be available from document
>>>>> view
>>>>> >> page?
>>>>> >>
>>>>> >> --
>>>>> >> ,,,^..^,,,
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > 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
Re: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi all,
Is there any way of parsing multipart data in Fauxton? An example would be
so much helpful .
:)
Regards
On Tue, Apr 14, 2015 at 9:09 PM, Nadeeshaan Gunasinghe <
nadeeshaangunasinghe@gmail.com> wrote:
> Hi Robert,
> As you suggested here is the link for my react component testing
> development branch. At the moment I am completing the react lessons and one
> left to go.
> :)
>
> https://github.com/nadeeshaan/couchdb-fauxton/tree/InitialTestingBranch
>
> Cheers.
>
> On Sat, Apr 4, 2015 at 5:08 PM, Nadeeshaan Gunasinghe <
> nadeeshaangunasinghe@gmail.com> wrote:
>
>> Hi Robert,
>> I followed the resources you shared previously and I could successfully
>> create a react component to display some content on the view.
>>
>> For the reference of other newbies like me who try to create react
>> components I would like to suggest taking a look at on
>> app/addons/cors
>> app/addons/config
>>
>> as well as
>> https://github.com/nadeeshaan/couchdb-fauxton/blob/master/writing_addons.md
>>
>> Going through those we can successfully create a react component. :)
>>
>> Cheers
>>
>> On Wed, Mar 25, 2015 at 2:37 AM, Nadeeshaan Gunasinghe <
>> nadeeshaangunasinghe@gmail.com> wrote:
>>
>>> Hi Robert,
>>> As you suggested yesterday I started generating the UIs in the fauxton
>>> Code base. I followed the sample addon writing tutorial in github and went
>>> through the already written addons. As a first step I could get an idea
>>> about how the data is flowing through fauxton and how content is managed.
>>> So as my next step I am going to try writing a bit more complex UI adding
>>> bits of components there.
>>> Cheers
>>>
>>> On Mon, Mar 23, 2015 at 6:13 PM, Alexander Shorin <kx...@gmail.com>
>>> wrote:
>>>
>>>> Very good! Such layout indeed have better potential to handle upcoming
>>>> feature requests. I wouldn't concentrate here on the details (like
>>>> action menu - it's uncommon for Fauxton interface to have a dropdown
>>>> list of actions since buttons are preferred instead) - the idea and
>>>> the base layout are more important at the start. Robert, what do you
>>>> think?
>>>> --
>>>> ,,,^..^,,,
>>>>
>>>>
>>>> On Mon, Mar 23, 2015 at 3:15 PM, Nadeeshaan Gunasinghe
>>>> <na...@gmail.com> wrote:
>>>> > Hi Robert,
>>>> > According to the suggestions of Alex I re designed the Interface. It
>>>> will
>>>> > be great if you can give some feedback regarding the current UI.
>>>> > I will point to each suggestion as follows,
>>>> >
>>>> >
>>>> > *1. Tree could be wide. Very wide and tall. Proposed interface has a
>>>> quite
>>>> > small limit for amount of conflicts which could be showed without
>>>> having
>>>> > horizontal scrolling. How this is suppose to be handled? *
>>>> > Tree is being shown inside a scrollable (Horizontal and vertical only
>>>> if
>>>> > the tree does not fit in side the pane) pane in which we can click on
>>>> the
>>>> > nodes and traverse the tree allowing much wider as well as taller
>>>> trees
>>>> >
>>>> > *2. Tree is used to only to look it at and browse document for each
>>>> > selected revision, but also to apply some kind of operation: "revert
>>>> to",
>>>> > delete, merge, etc. Proposed interface doesn't assumes to have any
>>>> bar for
>>>> > such operations.*
>>>> > Above the tree's display pane there is a drop down select in order to
>>>> > select the desired operation to be done. As an example merge, revert
>>>> to,
>>>> > etc.
>>>> > Ex: If you select the merge option then you are allowed to select two
>>>> tree
>>>> > nodes. If you select delete option or explore (Default Option) then
>>>> you are
>>>> > allowed to select one node.
>>>> > When you select such option, as an example merge, two nodes' document
>>>> > content will be shown in the two document view panes. Relevant
>>>> revision id
>>>> > is shown above the corresponding pane.
>>>> >
>>>> > *3. Document content for some revisions may not be available. What
>>>> will be
>>>> > showed on the right pane in this case?*
>>>> > If the content of a revision is not available then the pane will be
>>>> left
>>>> > blank (No more right side pane in the available pane)
>>>> >
>>>> > *4. During the conflict resolution, or merge, you'll need to see both
>>>> > conflict documents and the result of their merge. How proposed
>>>> interface
>>>> > could help with that?*
>>>> > At the top right corner above the display panes there is an icon of
>>>> eye.
>>>> > Clicking on it, a modal opens and shows the result of the operation
>>>> >
>>>> > *5. Will navigation to revision tree page be available from document
>>>> view
>>>> > page?*
>>>> > Yes. This issue had addressed in the previous version. In which we are
>>>> > adding a link to each document (A tree icon left to the pencil icon)
>>>> which
>>>> > redirect to the revision tree page.
>>>> >
>>>> > *Features for operations.*
>>>> > Options:
>>>> > Explore
>>>> > Revert to
>>>> > Merge
>>>> > Delete
>>>> >
>>>> > In the operation selection drop down there is a default option
>>>> *"Explore" *when
>>>> > this is selected "eye icon", "Apply Button" will be disabled. Also
>>>> only one
>>>> > pane will be shown for loading the document content
>>>> > Delete works as same and only the "Apply Button" won't be disabled
>>>> >
>>>> > At the moment I focused on the above options only depending on the
>>>> options
>>>> > we can to alterations for the UI based on the current View. During the
>>>> > implementation there may be slight changes of the designed, but the
>>>> basic
>>>> > structure will remain same.
>>>> >
>>>> > Links to the UIs,
>>>> >
>>>> > Documents view:
>>>> >
>>>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>>>> > Revision Tree View:
>>>> >
>>>> https://moqups.com/nadeeshaangunasinghe@gmail.com/57ApYGyp/p:a2a67f660
>>>> >
>>>> > Cheers,
>>>> >
>>>> > On Sun, Mar 22, 2015 at 10:17 AM, Nadeeshaan Gunasinghe <
>>>> > nadeeshaangunasinghe@gmail.com> wrote:
>>>> >
>>>> >> Hi Alex,
>>>> >> Thank you very much for pointing out the missing things and the
>>>> critical
>>>> >> functionality suggestions.
>>>> >> I designed these uis in order to show how we are going to/where we
>>>> are
>>>> >> going to show the revision tree.
>>>> >> As you suggested I am redesigning the ui in order to support the
>>>> critical
>>>> >> functionalities. I will send the re designed mockups asap for your
>>>> >> inspection.
>>>> >> BR
>>>> >> ------------------------------
>>>> >> From: Alexander Shorin <kx...@gmail.com>
>>>> >> Sent: 3/21/2015 11:55 PM
>>>> >> To: dev@couchdb.apache.org
>>>> >> Subject: Re: GSOC 2015 [Visualize document revision tree and navigate
>>>> >> betweenthese revisions]
>>>> >>
>>>> >> On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
>>>> >> <na...@gmail.com> wrote:
>>>> >> >
>>>> >>
>>>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>>>> >> > https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
>>>> >>
>>>> >> Good start. Now let's try to think how this feature could be used in
>>>> >> real. This will give us the following questions:
>>>> >> 1. Tree could be wide. Very wide and tall. Proposed interface has a
>>>> >> quite small limit for amount of conflicts which could be showed
>>>> >> without having horizontal scrolling. How this is suppose to be
>>>> >> handled?
>>>> >> 2. Tree is used to only to look it at and browse document for each
>>>> >> selected revision, but also to apply some kind of operation: "revert
>>>> >> to", delete, merge, etc. Proposed interface doesn't assumes to have
>>>> >> any bar for such operations.
>>>> >> 3. Document content for some revisions may not be available. What
>>>> will
>>>> >> be showed on the right pane in this case?
>>>> >> 4. During the conflict resolution, or merge, you'll need to see both
>>>> >> conflict documents and the result of their merge. How proposed
>>>> >> interface could help with that?
>>>> >> 5. Will navigation to revision tree page be available from document
>>>> view
>>>> >> page?
>>>> >>
>>>> >> --
>>>> >> ,,,^..^,,,
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > 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
Re: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi Robert,
As you suggested here is the link for my react component testing
development branch. At the moment I am completing the react lessons and one
left to go.
:)
https://github.com/nadeeshaan/couchdb-fauxton/tree/InitialTestingBranch
Cheers.
On Sat, Apr 4, 2015 at 5:08 PM, Nadeeshaan Gunasinghe <
nadeeshaangunasinghe@gmail.com> wrote:
> Hi Robert,
> I followed the resources you shared previously and I could successfully
> create a react component to display some content on the view.
>
> For the reference of other newbies like me who try to create react
> components I would like to suggest taking a look at on
> app/addons/cors
> app/addons/config
>
> as well as
> https://github.com/nadeeshaan/couchdb-fauxton/blob/master/writing_addons.md
>
> Going through those we can successfully create a react component. :)
>
> Cheers
>
> On Wed, Mar 25, 2015 at 2:37 AM, Nadeeshaan Gunasinghe <
> nadeeshaangunasinghe@gmail.com> wrote:
>
>> Hi Robert,
>> As you suggested yesterday I started generating the UIs in the fauxton
>> Code base. I followed the sample addon writing tutorial in github and went
>> through the already written addons. As a first step I could get an idea
>> about how the data is flowing through fauxton and how content is managed.
>> So as my next step I am going to try writing a bit more complex UI adding
>> bits of components there.
>> Cheers
>>
>> On Mon, Mar 23, 2015 at 6:13 PM, Alexander Shorin <kx...@gmail.com>
>> wrote:
>>
>>> Very good! Such layout indeed have better potential to handle upcoming
>>> feature requests. I wouldn't concentrate here on the details (like
>>> action menu - it's uncommon for Fauxton interface to have a dropdown
>>> list of actions since buttons are preferred instead) - the idea and
>>> the base layout are more important at the start. Robert, what do you
>>> think?
>>> --
>>> ,,,^..^,,,
>>>
>>>
>>> On Mon, Mar 23, 2015 at 3:15 PM, Nadeeshaan Gunasinghe
>>> <na...@gmail.com> wrote:
>>> > Hi Robert,
>>> > According to the suggestions of Alex I re designed the Interface. It
>>> will
>>> > be great if you can give some feedback regarding the current UI.
>>> > I will point to each suggestion as follows,
>>> >
>>> >
>>> > *1. Tree could be wide. Very wide and tall. Proposed interface has a
>>> quite
>>> > small limit for amount of conflicts which could be showed without
>>> having
>>> > horizontal scrolling. How this is suppose to be handled? *
>>> > Tree is being shown inside a scrollable (Horizontal and vertical only
>>> if
>>> > the tree does not fit in side the pane) pane in which we can click on
>>> the
>>> > nodes and traverse the tree allowing much wider as well as taller trees
>>> >
>>> > *2. Tree is used to only to look it at and browse document for each
>>> > selected revision, but also to apply some kind of operation: "revert
>>> to",
>>> > delete, merge, etc. Proposed interface doesn't assumes to have any bar
>>> for
>>> > such operations.*
>>> > Above the tree's display pane there is a drop down select in order to
>>> > select the desired operation to be done. As an example merge, revert
>>> to,
>>> > etc.
>>> > Ex: If you select the merge option then you are allowed to select two
>>> tree
>>> > nodes. If you select delete option or explore (Default Option) then
>>> you are
>>> > allowed to select one node.
>>> > When you select such option, as an example merge, two nodes' document
>>> > content will be shown in the two document view panes. Relevant
>>> revision id
>>> > is shown above the corresponding pane.
>>> >
>>> > *3. Document content for some revisions may not be available. What
>>> will be
>>> > showed on the right pane in this case?*
>>> > If the content of a revision is not available then the pane will be
>>> left
>>> > blank (No more right side pane in the available pane)
>>> >
>>> > *4. During the conflict resolution, or merge, you'll need to see both
>>> > conflict documents and the result of their merge. How proposed
>>> interface
>>> > could help with that?*
>>> > At the top right corner above the display panes there is an icon of
>>> eye.
>>> > Clicking on it, a modal opens and shows the result of the operation
>>> >
>>> > *5. Will navigation to revision tree page be available from document
>>> view
>>> > page?*
>>> > Yes. This issue had addressed in the previous version. In which we are
>>> > adding a link to each document (A tree icon left to the pencil icon)
>>> which
>>> > redirect to the revision tree page.
>>> >
>>> > *Features for operations.*
>>> > Options:
>>> > Explore
>>> > Revert to
>>> > Merge
>>> > Delete
>>> >
>>> > In the operation selection drop down there is a default option
>>> *"Explore" *when
>>> > this is selected "eye icon", "Apply Button" will be disabled. Also
>>> only one
>>> > pane will be shown for loading the document content
>>> > Delete works as same and only the "Apply Button" won't be disabled
>>> >
>>> > At the moment I focused on the above options only depending on the
>>> options
>>> > we can to alterations for the UI based on the current View. During the
>>> > implementation there may be slight changes of the designed, but the
>>> basic
>>> > structure will remain same.
>>> >
>>> > Links to the UIs,
>>> >
>>> > Documents view:
>>> >
>>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>>> > Revision Tree View:
>>> > https://moqups.com/nadeeshaangunasinghe@gmail.com/57ApYGyp/p:a2a67f660
>>> >
>>> > Cheers,
>>> >
>>> > On Sun, Mar 22, 2015 at 10:17 AM, Nadeeshaan Gunasinghe <
>>> > nadeeshaangunasinghe@gmail.com> wrote:
>>> >
>>> >> Hi Alex,
>>> >> Thank you very much for pointing out the missing things and the
>>> critical
>>> >> functionality suggestions.
>>> >> I designed these uis in order to show how we are going to/where we are
>>> >> going to show the revision tree.
>>> >> As you suggested I am redesigning the ui in order to support the
>>> critical
>>> >> functionalities. I will send the re designed mockups asap for your
>>> >> inspection.
>>> >> BR
>>> >> ------------------------------
>>> >> From: Alexander Shorin <kx...@gmail.com>
>>> >> Sent: 3/21/2015 11:55 PM
>>> >> To: dev@couchdb.apache.org
>>> >> Subject: Re: GSOC 2015 [Visualize document revision tree and navigate
>>> >> betweenthese revisions]
>>> >>
>>> >> On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
>>> >> <na...@gmail.com> wrote:
>>> >> >
>>> >>
>>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>>> >> > https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
>>> >>
>>> >> Good start. Now let's try to think how this feature could be used in
>>> >> real. This will give us the following questions:
>>> >> 1. Tree could be wide. Very wide and tall. Proposed interface has a
>>> >> quite small limit for amount of conflicts which could be showed
>>> >> without having horizontal scrolling. How this is suppose to be
>>> >> handled?
>>> >> 2. Tree is used to only to look it at and browse document for each
>>> >> selected revision, but also to apply some kind of operation: "revert
>>> >> to", delete, merge, etc. Proposed interface doesn't assumes to have
>>> >> any bar for such operations.
>>> >> 3. Document content for some revisions may not be available. What will
>>> >> be showed on the right pane in this case?
>>> >> 4. During the conflict resolution, or merge, you'll need to see both
>>> >> conflict documents and the result of their merge. How proposed
>>> >> interface could help with that?
>>> >> 5. Will navigation to revision tree page be available from document
>>> view
>>> >> page?
>>> >>
>>> >> --
>>> >> ,,,^..^,,,
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > 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
Re: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi Robert,
I followed the resources you shared previously and I could successfully
create a react component to display some content on the view.
For the reference of other newbies like me who try to create react
components I would like to suggest taking a look at on
app/addons/cors
app/addons/config
as well as
https://github.com/nadeeshaan/couchdb-fauxton/blob/master/writing_addons.md
Going through those we can successfully create a react component. :)
Cheers
On Wed, Mar 25, 2015 at 2:37 AM, Nadeeshaan Gunasinghe <
nadeeshaangunasinghe@gmail.com> wrote:
> Hi Robert,
> As you suggested yesterday I started generating the UIs in the fauxton
> Code base. I followed the sample addon writing tutorial in github and went
> through the already written addons. As a first step I could get an idea
> about how the data is flowing through fauxton and how content is managed.
> So as my next step I am going to try writing a bit more complex UI adding
> bits of components there.
> Cheers
>
> On Mon, Mar 23, 2015 at 6:13 PM, Alexander Shorin <kx...@gmail.com>
> wrote:
>
>> Very good! Such layout indeed have better potential to handle upcoming
>> feature requests. I wouldn't concentrate here on the details (like
>> action menu - it's uncommon for Fauxton interface to have a dropdown
>> list of actions since buttons are preferred instead) - the idea and
>> the base layout are more important at the start. Robert, what do you
>> think?
>> --
>> ,,,^..^,,,
>>
>>
>> On Mon, Mar 23, 2015 at 3:15 PM, Nadeeshaan Gunasinghe
>> <na...@gmail.com> wrote:
>> > Hi Robert,
>> > According to the suggestions of Alex I re designed the Interface. It
>> will
>> > be great if you can give some feedback regarding the current UI.
>> > I will point to each suggestion as follows,
>> >
>> >
>> > *1. Tree could be wide. Very wide and tall. Proposed interface has a
>> quite
>> > small limit for amount of conflicts which could be showed without having
>> > horizontal scrolling. How this is suppose to be handled? *
>> > Tree is being shown inside a scrollable (Horizontal and vertical only if
>> > the tree does not fit in side the pane) pane in which we can click on
>> the
>> > nodes and traverse the tree allowing much wider as well as taller trees
>> >
>> > *2. Tree is used to only to look it at and browse document for each
>> > selected revision, but also to apply some kind of operation: "revert
>> to",
>> > delete, merge, etc. Proposed interface doesn't assumes to have any bar
>> for
>> > such operations.*
>> > Above the tree's display pane there is a drop down select in order to
>> > select the desired operation to be done. As an example merge, revert to,
>> > etc.
>> > Ex: If you select the merge option then you are allowed to select two
>> tree
>> > nodes. If you select delete option or explore (Default Option) then you
>> are
>> > allowed to select one node.
>> > When you select such option, as an example merge, two nodes' document
>> > content will be shown in the two document view panes. Relevant revision
>> id
>> > is shown above the corresponding pane.
>> >
>> > *3. Document content for some revisions may not be available. What will
>> be
>> > showed on the right pane in this case?*
>> > If the content of a revision is not available then the pane will be left
>> > blank (No more right side pane in the available pane)
>> >
>> > *4. During the conflict resolution, or merge, you'll need to see both
>> > conflict documents and the result of their merge. How proposed
>> interface
>> > could help with that?*
>> > At the top right corner above the display panes there is an icon of eye.
>> > Clicking on it, a modal opens and shows the result of the operation
>> >
>> > *5. Will navigation to revision tree page be available from document
>> view
>> > page?*
>> > Yes. This issue had addressed in the previous version. In which we are
>> > adding a link to each document (A tree icon left to the pencil icon)
>> which
>> > redirect to the revision tree page.
>> >
>> > *Features for operations.*
>> > Options:
>> > Explore
>> > Revert to
>> > Merge
>> > Delete
>> >
>> > In the operation selection drop down there is a default option
>> *"Explore" *when
>> > this is selected "eye icon", "Apply Button" will be disabled. Also only
>> one
>> > pane will be shown for loading the document content
>> > Delete works as same and only the "Apply Button" won't be disabled
>> >
>> > At the moment I focused on the above options only depending on the
>> options
>> > we can to alterations for the UI based on the current View. During the
>> > implementation there may be slight changes of the designed, but the
>> basic
>> > structure will remain same.
>> >
>> > Links to the UIs,
>> >
>> > Documents view:
>> >
>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>> > Revision Tree View:
>> > https://moqups.com/nadeeshaangunasinghe@gmail.com/57ApYGyp/p:a2a67f660
>> >
>> > Cheers,
>> >
>> > On Sun, Mar 22, 2015 at 10:17 AM, Nadeeshaan Gunasinghe <
>> > nadeeshaangunasinghe@gmail.com> wrote:
>> >
>> >> Hi Alex,
>> >> Thank you very much for pointing out the missing things and the
>> critical
>> >> functionality suggestions.
>> >> I designed these uis in order to show how we are going to/where we are
>> >> going to show the revision tree.
>> >> As you suggested I am redesigning the ui in order to support the
>> critical
>> >> functionalities. I will send the re designed mockups asap for your
>> >> inspection.
>> >> BR
>> >> ------------------------------
>> >> From: Alexander Shorin <kx...@gmail.com>
>> >> Sent: 3/21/2015 11:55 PM
>> >> To: dev@couchdb.apache.org
>> >> Subject: Re: GSOC 2015 [Visualize document revision tree and navigate
>> >> betweenthese revisions]
>> >>
>> >> On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
>> >> <na...@gmail.com> wrote:
>> >> >
>> >>
>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>> >> > https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
>> >>
>> >> Good start. Now let's try to think how this feature could be used in
>> >> real. This will give us the following questions:
>> >> 1. Tree could be wide. Very wide and tall. Proposed interface has a
>> >> quite small limit for amount of conflicts which could be showed
>> >> without having horizontal scrolling. How this is suppose to be
>> >> handled?
>> >> 2. Tree is used to only to look it at and browse document for each
>> >> selected revision, but also to apply some kind of operation: "revert
>> >> to", delete, merge, etc. Proposed interface doesn't assumes to have
>> >> any bar for such operations.
>> >> 3. Document content for some revisions may not be available. What will
>> >> be showed on the right pane in this case?
>> >> 4. During the conflict resolution, or merge, you'll need to see both
>> >> conflict documents and the result of their merge. How proposed
>> >> interface could help with that?
>> >> 5. Will navigation to revision tree page be available from document
>> view
>> >> page?
>> >>
>> >> --
>> >> ,,,^..^,,,
>> >>
>> >
>> >
>> >
>> > --
>> > 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
Re: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi Robert,
As you suggested yesterday I started generating the UIs in the fauxton Code
base. I followed the sample addon writing tutorial in github and went
through the already written addons. As a first step I could get an idea
about how the data is flowing through fauxton and how content is managed.
So as my next step I am going to try writing a bit more complex UI adding
bits of components there.
Cheers
On Mon, Mar 23, 2015 at 6:13 PM, Alexander Shorin <kx...@gmail.com> wrote:
> Very good! Such layout indeed have better potential to handle upcoming
> feature requests. I wouldn't concentrate here on the details (like
> action menu - it's uncommon for Fauxton interface to have a dropdown
> list of actions since buttons are preferred instead) - the idea and
> the base layout are more important at the start. Robert, what do you
> think?
> --
> ,,,^..^,,,
>
>
> On Mon, Mar 23, 2015 at 3:15 PM, Nadeeshaan Gunasinghe
> <na...@gmail.com> wrote:
> > Hi Robert,
> > According to the suggestions of Alex I re designed the Interface. It will
> > be great if you can give some feedback regarding the current UI.
> > I will point to each suggestion as follows,
> >
> >
> > *1. Tree could be wide. Very wide and tall. Proposed interface has a
> quite
> > small limit for amount of conflicts which could be showed without having
> > horizontal scrolling. How this is suppose to be handled? *
> > Tree is being shown inside a scrollable (Horizontal and vertical only if
> > the tree does not fit in side the pane) pane in which we can click on the
> > nodes and traverse the tree allowing much wider as well as taller trees
> >
> > *2. Tree is used to only to look it at and browse document for each
> > selected revision, but also to apply some kind of operation: "revert to",
> > delete, merge, etc. Proposed interface doesn't assumes to have any bar
> for
> > such operations.*
> > Above the tree's display pane there is a drop down select in order to
> > select the desired operation to be done. As an example merge, revert to,
> > etc.
> > Ex: If you select the merge option then you are allowed to select two
> tree
> > nodes. If you select delete option or explore (Default Option) then you
> are
> > allowed to select one node.
> > When you select such option, as an example merge, two nodes' document
> > content will be shown in the two document view panes. Relevant revision
> id
> > is shown above the corresponding pane.
> >
> > *3. Document content for some revisions may not be available. What will
> be
> > showed on the right pane in this case?*
> > If the content of a revision is not available then the pane will be left
> > blank (No more right side pane in the available pane)
> >
> > *4. During the conflict resolution, or merge, you'll need to see both
> > conflict documents and the result of their merge. How proposed interface
> > could help with that?*
> > At the top right corner above the display panes there is an icon of eye.
> > Clicking on it, a modal opens and shows the result of the operation
> >
> > *5. Will navigation to revision tree page be available from document view
> > page?*
> > Yes. This issue had addressed in the previous version. In which we are
> > adding a link to each document (A tree icon left to the pencil icon)
> which
> > redirect to the revision tree page.
> >
> > *Features for operations.*
> > Options:
> > Explore
> > Revert to
> > Merge
> > Delete
> >
> > In the operation selection drop down there is a default option
> *"Explore" *when
> > this is selected "eye icon", "Apply Button" will be disabled. Also only
> one
> > pane will be shown for loading the document content
> > Delete works as same and only the "Apply Button" won't be disabled
> >
> > At the moment I focused on the above options only depending on the
> options
> > we can to alterations for the UI based on the current View. During the
> > implementation there may be slight changes of the designed, but the basic
> > structure will remain same.
> >
> > Links to the UIs,
> >
> > Documents view:
> >
> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
> > Revision Tree View:
> > https://moqups.com/nadeeshaangunasinghe@gmail.com/57ApYGyp/p:a2a67f660
> >
> > Cheers,
> >
> > On Sun, Mar 22, 2015 at 10:17 AM, Nadeeshaan Gunasinghe <
> > nadeeshaangunasinghe@gmail.com> wrote:
> >
> >> Hi Alex,
> >> Thank you very much for pointing out the missing things and the critical
> >> functionality suggestions.
> >> I designed these uis in order to show how we are going to/where we are
> >> going to show the revision tree.
> >> As you suggested I am redesigning the ui in order to support the
> critical
> >> functionalities. I will send the re designed mockups asap for your
> >> inspection.
> >> BR
> >> ------------------------------
> >> From: Alexander Shorin <kx...@gmail.com>
> >> Sent: 3/21/2015 11:55 PM
> >> To: dev@couchdb.apache.org
> >> Subject: Re: GSOC 2015 [Visualize document revision tree and navigate
> >> betweenthese revisions]
> >>
> >> On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
> >> <na...@gmail.com> wrote:
> >> >
> >>
> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
> >> > https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
> >>
> >> Good start. Now let's try to think how this feature could be used in
> >> real. This will give us the following questions:
> >> 1. Tree could be wide. Very wide and tall. Proposed interface has a
> >> quite small limit for amount of conflicts which could be showed
> >> without having horizontal scrolling. How this is suppose to be
> >> handled?
> >> 2. Tree is used to only to look it at and browse document for each
> >> selected revision, but also to apply some kind of operation: "revert
> >> to", delete, merge, etc. Proposed interface doesn't assumes to have
> >> any bar for such operations.
> >> 3. Document content for some revisions may not be available. What will
> >> be showed on the right pane in this case?
> >> 4. During the conflict resolution, or merge, you'll need to see both
> >> conflict documents and the result of their merge. How proposed
> >> interface could help with that?
> >> 5. Will navigation to revision tree page be available from document view
> >> page?
> >>
> >> --
> >> ,,,^..^,,,
> >>
> >
> >
> >
> > --
> > 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
Re: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Alexander Shorin <kx...@gmail.com>.
Very good! Such layout indeed have better potential to handle upcoming
feature requests. I wouldn't concentrate here on the details (like
action menu - it's uncommon for Fauxton interface to have a dropdown
list of actions since buttons are preferred instead) - the idea and
the base layout are more important at the start. Robert, what do you
think?
--
,,,^..^,,,
On Mon, Mar 23, 2015 at 3:15 PM, Nadeeshaan Gunasinghe
<na...@gmail.com> wrote:
> Hi Robert,
> According to the suggestions of Alex I re designed the Interface. It will
> be great if you can give some feedback regarding the current UI.
> I will point to each suggestion as follows,
>
>
> *1. Tree could be wide. Very wide and tall. Proposed interface has a quite
> small limit for amount of conflicts which could be showed without having
> horizontal scrolling. How this is suppose to be handled? *
> Tree is being shown inside a scrollable (Horizontal and vertical only if
> the tree does not fit in side the pane) pane in which we can click on the
> nodes and traverse the tree allowing much wider as well as taller trees
>
> *2. Tree is used to only to look it at and browse document for each
> selected revision, but also to apply some kind of operation: "revert to",
> delete, merge, etc. Proposed interface doesn't assumes to have any bar for
> such operations.*
> Above the tree's display pane there is a drop down select in order to
> select the desired operation to be done. As an example merge, revert to,
> etc.
> Ex: If you select the merge option then you are allowed to select two tree
> nodes. If you select delete option or explore (Default Option) then you are
> allowed to select one node.
> When you select such option, as an example merge, two nodes' document
> content will be shown in the two document view panes. Relevant revision id
> is shown above the corresponding pane.
>
> *3. Document content for some revisions may not be available. What will be
> showed on the right pane in this case?*
> If the content of a revision is not available then the pane will be left
> blank (No more right side pane in the available pane)
>
> *4. During the conflict resolution, or merge, you'll need to see both
> conflict documents and the result of their merge. How proposed interface
> could help with that?*
> At the top right corner above the display panes there is an icon of eye.
> Clicking on it, a modal opens and shows the result of the operation
>
> *5. Will navigation to revision tree page be available from document view
> page?*
> Yes. This issue had addressed in the previous version. In which we are
> adding a link to each document (A tree icon left to the pencil icon) which
> redirect to the revision tree page.
>
> *Features for operations.*
> Options:
> Explore
> Revert to
> Merge
> Delete
>
> In the operation selection drop down there is a default option *"Explore" *when
> this is selected "eye icon", "Apply Button" will be disabled. Also only one
> pane will be shown for loading the document content
> Delete works as same and only the "Apply Button" won't be disabled
>
> At the moment I focused on the above options only depending on the options
> we can to alterations for the UI based on the current View. During the
> implementation there may be slight changes of the designed, but the basic
> structure will remain same.
>
> Links to the UIs,
>
> Documents view:
> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
> Revision Tree View:
> https://moqups.com/nadeeshaangunasinghe@gmail.com/57ApYGyp/p:a2a67f660
>
> Cheers,
>
> On Sun, Mar 22, 2015 at 10:17 AM, Nadeeshaan Gunasinghe <
> nadeeshaangunasinghe@gmail.com> wrote:
>
>> Hi Alex,
>> Thank you very much for pointing out the missing things and the critical
>> functionality suggestions.
>> I designed these uis in order to show how we are going to/where we are
>> going to show the revision tree.
>> As you suggested I am redesigning the ui in order to support the critical
>> functionalities. I will send the re designed mockups asap for your
>> inspection.
>> BR
>> ------------------------------
>> From: Alexander Shorin <kx...@gmail.com>
>> Sent: 3/21/2015 11:55 PM
>> To: dev@couchdb.apache.org
>> Subject: Re: GSOC 2015 [Visualize document revision tree and navigate
>> betweenthese revisions]
>>
>> On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
>> <na...@gmail.com> wrote:
>> >
>> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
>> > https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
>>
>> Good start. Now let's try to think how this feature could be used in
>> real. This will give us the following questions:
>> 1. Tree could be wide. Very wide and tall. Proposed interface has a
>> quite small limit for amount of conflicts which could be showed
>> without having horizontal scrolling. How this is suppose to be
>> handled?
>> 2. Tree is used to only to look it at and browse document for each
>> selected revision, but also to apply some kind of operation: "revert
>> to", delete, merge, etc. Proposed interface doesn't assumes to have
>> any bar for such operations.
>> 3. Document content for some revisions may not be available. What will
>> be showed on the right pane in this case?
>> 4. During the conflict resolution, or merge, you'll need to see both
>> conflict documents and the result of their merge. How proposed
>> interface could help with that?
>> 5. Will navigation to revision tree page be available from document view
>> page?
>>
>> --
>> ,,,^..^,,,
>>
>
>
>
> --
> Nadeeshaan Gunasinghe
> Department of Computer Science and Engineering
> University of Moratuwa
> Sri Lanka
Re: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi Robert,
According to the suggestions of Alex I re designed the Interface. It will
be great if you can give some feedback regarding the current UI.
I will point to each suggestion as follows,
*1. Tree could be wide. Very wide and tall. Proposed interface has a quite
small limit for amount of conflicts which could be showed without having
horizontal scrolling. How this is suppose to be handled? *
Tree is being shown inside a scrollable (Horizontal and vertical only if
the tree does not fit in side the pane) pane in which we can click on the
nodes and traverse the tree allowing much wider as well as taller trees
*2. Tree is used to only to look it at and browse document for each
selected revision, but also to apply some kind of operation: "revert to",
delete, merge, etc. Proposed interface doesn't assumes to have any bar for
such operations.*
Above the tree's display pane there is a drop down select in order to
select the desired operation to be done. As an example merge, revert to,
etc.
Ex: If you select the merge option then you are allowed to select two tree
nodes. If you select delete option or explore (Default Option) then you are
allowed to select one node.
When you select such option, as an example merge, two nodes' document
content will be shown in the two document view panes. Relevant revision id
is shown above the corresponding pane.
*3. Document content for some revisions may not be available. What will be
showed on the right pane in this case?*
If the content of a revision is not available then the pane will be left
blank (No more right side pane in the available pane)
*4. During the conflict resolution, or merge, you'll need to see both
conflict documents and the result of their merge. How proposed interface
could help with that?*
At the top right corner above the display panes there is an icon of eye.
Clicking on it, a modal opens and shows the result of the operation
*5. Will navigation to revision tree page be available from document view
page?*
Yes. This issue had addressed in the previous version. In which we are
adding a link to each document (A tree icon left to the pencil icon) which
redirect to the revision tree page.
*Features for operations.*
Options:
Explore
Revert to
Merge
Delete
In the operation selection drop down there is a default option *"Explore" *when
this is selected "eye icon", "Apply Button" will be disabled. Also only one
pane will be shown for loading the document content
Delete works as same and only the "Apply Button" won't be disabled
At the moment I focused on the above options only depending on the options
we can to alterations for the UI based on the current View. During the
implementation there may be slight changes of the designed, but the basic
structure will remain same.
Links to the UIs,
Documents view:
https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
Revision Tree View:
https://moqups.com/nadeeshaangunasinghe@gmail.com/57ApYGyp/p:a2a67f660
Cheers,
On Sun, Mar 22, 2015 at 10:17 AM, Nadeeshaan Gunasinghe <
nadeeshaangunasinghe@gmail.com> wrote:
> Hi Alex,
> Thank you very much for pointing out the missing things and the critical
> functionality suggestions.
> I designed these uis in order to show how we are going to/where we are
> going to show the revision tree.
> As you suggested I am redesigning the ui in order to support the critical
> functionalities. I will send the re designed mockups asap for your
> inspection.
> BR
> ------------------------------
> From: Alexander Shorin <kx...@gmail.com>
> Sent: 3/21/2015 11:55 PM
> To: dev@couchdb.apache.org
> Subject: Re: GSOC 2015 [Visualize document revision tree and navigate
> betweenthese revisions]
>
> On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
> <na...@gmail.com> wrote:
> >
> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
> > https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
>
> Good start. Now let's try to think how this feature could be used in
> real. This will give us the following questions:
> 1. Tree could be wide. Very wide and tall. Proposed interface has a
> quite small limit for amount of conflicts which could be showed
> without having horizontal scrolling. How this is suppose to be
> handled?
> 2. Tree is used to only to look it at and browse document for each
> selected revision, but also to apply some kind of operation: "revert
> to", delete, merge, etc. Proposed interface doesn't assumes to have
> any bar for such operations.
> 3. Document content for some revisions may not be available. What will
> be showed on the right pane in this case?
> 4. During the conflict resolution, or merge, you'll need to see both
> conflict documents and the result of their merge. How proposed
> interface could help with that?
> 5. Will navigation to revision tree page be available from document view
> page?
>
> --
> ,,,^..^,,,
>
--
Nadeeshaan Gunasinghe
Department of Computer Science and Engineering
University of Moratuwa
Sri Lanka
RE: GSOC 2015 [Visualize document revision tree and navigate
betweenthese revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi Alex,
Thank you very much for pointing out the missing things and the critical functionality suggestions.
I designed these uis in order to show how we are going to/where we are going to show the revision tree.
As you suggested I am redesigning the ui in order to support the critical functionalities. I will send the re designed mockups asap for your inspection.
BR
-----Original Message-----
From: "Alexander Shorin" <kx...@gmail.com>
Sent: 3/21/2015 11:55 PM
To: "dev@couchdb.apache.org" <de...@couchdb.apache.org>
Subject: Re: GSOC 2015 [Visualize document revision tree and navigate betweenthese revisions]
On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
<na...@gmail.com> wrote:
> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
> https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
Good start. Now let's try to think how this feature could be used in
real. This will give us the following questions:
1. Tree could be wide. Very wide and tall. Proposed interface has a
quite small limit for amount of conflicts which could be showed
without having horizontal scrolling. How this is suppose to be
handled?
2. Tree is used to only to look it at and browse document for each
selected revision, but also to apply some kind of operation: "revert
to", delete, merge, etc. Proposed interface doesn't assumes to have
any bar for such operations.
3. Document content for some revisions may not be available. What will
be showed on the right pane in this case?
4. During the conflict resolution, or merge, you'll need to see both
conflict documents and the result of their merge. How proposed
interface could help with that?
5. Will navigation to revision tree page be available from document view page?
--
,,,^..^,,,
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Alexander Shorin <kx...@gmail.com>.
On Sat, Mar 21, 2015 at 8:26 PM, Nadeeshaan Gunasinghe
<na...@gmail.com> wrote:
> https://www.dropbox.com/s/oezvfztq9abqtv5/alldocs_added_tree_icon.png?dl=0
> https://www.dropbox.com/s/36mmwy4r46nn1l7/revTreeMockup.png?dl=0
Good start. Now let's try to think how this feature could be used in
real. This will give us the following questions:
1. Tree could be wide. Very wide and tall. Proposed interface has a
quite small limit for amount of conflicts which could be showed
without having horizontal scrolling. How this is suppose to be
handled?
2. Tree is used to only to look it at and browse document for each
selected revision, but also to apply some kind of operation: "revert
to", delete, merge, etc. Proposed interface doesn't assumes to have
any bar for such operations.
3. Document content for some revisions may not be available. What will
be showed on the right pane in this case?
4. During the conflict resolution, or merge, you'll need to see both
conflict documents and the result of their merge. How proposed
interface could help with that?
5. Will navigation to revision tree page be available from document view page?
--
,,,^..^,,,
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
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 <
nadeeshaangunasinghe@gmail.com> 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 <
> nadeeshaangunasinghe@gmail.com> wrote:
>
>>
>>
>> *Check list Progress after yesterday discussion*
>> Sorry for the mis typing
>> :)
>>
>>
>> On Thu, Mar 19, 2015 at 9:43 PM, Nadeeshaan Gunasinghe <
>> nadeeshaangunasinghe@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 <ro...@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 <ro...@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
>>>> > <na...@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 <
>>>> >> sebastianrothbucher@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 <ro...@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
>>>> >>> > <na...@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 <
>>>> >>> > > nadeeshaangunasinghe@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 <
>>>> rok@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
>>>> >>> > >>> <na...@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
>>
>
>
>
> --
> 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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
Hi Robert,
I added the dropbox links. It's before your reply.... :)
Regards
On Sat, Mar 21, 2015 at 10:54 PM, Robert Kowalski <ro...@kowalski.gd> wrote:
> Hi Nadeeshaan,
>
> the list sadly does not support attachments. Can you upload the images
> to a service like dropbox and share the links? Thanks!
>
> On Sat, Mar 21, 2015 at 5:42 PM, Nadeeshaan Gunasinghe
> <na...@gmail.com> 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
> > <na...@gmail.com> wrote:
> >>
> >> Check list Progress after yesterday discussion
> >>
> >> Sorry for the mis typing
> >> :)
> >>
> >>
> >> On Thu, Mar 19, 2015 at 9:43 PM, Nadeeshaan Gunasinghe
> >> <na...@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 <ro...@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 <ro...@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
> >>>> > <na...@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 <
> >>>> >> sebastianrothbucher@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 <rok@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
> >>>> >>> > <na...@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 <
> >>>> >>> > > nadeeshaangunasinghe@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
> >>>> >>> > >> <ro...@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
> >>>> >>> > >>> <na...@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
> >
> >
> >
> >
> > --
> > 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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Robert Kowalski <ro...@kowalski.gd>.
Hi Nadeeshaan,
the list sadly does not support attachments. Can you upload the images
to a service like dropbox and share the links? Thanks!
On Sat, Mar 21, 2015 at 5:42 PM, Nadeeshaan Gunasinghe
<na...@gmail.com> 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
> <na...@gmail.com> wrote:
>>
>> Check list Progress after yesterday discussion
>>
>> Sorry for the mis typing
>> :)
>>
>>
>> On Thu, Mar 19, 2015 at 9:43 PM, Nadeeshaan Gunasinghe
>> <na...@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 <ro...@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 <ro...@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
>>>> > <na...@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 <
>>>> >> sebastianrothbucher@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 <ro...@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
>>>> >>> > <na...@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 <
>>>> >>> > > nadeeshaangunasinghe@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
>>>> >>> > >> <ro...@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
>>>> >>> > >>> <na...@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
>
>
>
>
> --
> Nadeeshaan Gunasinghe
> Department of Computer Science and Engineering
> University of Moratuwa
> Sri Lanka
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
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 <
nadeeshaangunasinghe@gmail.com> wrote:
>
>
> *Check list Progress after yesterday discussion*
> Sorry for the mis typing
> :)
>
>
> On Thu, Mar 19, 2015 at 9:43 PM, Nadeeshaan Gunasinghe <
> nadeeshaangunasinghe@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 <ro...@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 <ro...@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
>>> > <na...@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 <
>>> >> sebastianrothbucher@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 <ro...@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
>>> >>> > <na...@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 <
>>> >>> > > nadeeshaangunasinghe@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 <
>>> rok@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
>>> >>> > >>> <na...@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
>
--
Nadeeshaan Gunasinghe
Department of Computer Science and Engineering
University of Moratuwa
Sri Lanka
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
*Check list Progress after yesterday discussion*
Sorry for the mis typing
:)
On Thu, Mar 19, 2015 at 9:43 PM, Nadeeshaan Gunasinghe <
nadeeshaangunasinghe@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 <ro...@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 <ro...@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
>> > <na...@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 <
>> >> sebastianrothbucher@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 <ro...@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
>> >>> > <na...@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 <
>> >>> > > nadeeshaangunasinghe@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 <
>> rok@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
>> >>> > >>> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
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 <ro...@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 <ro...@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
> > <na...@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 <
> >> sebastianrothbucher@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 <ro...@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
> >>> > <na...@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 <
> >>> > > nadeeshaangunasinghe@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 <
> rok@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
> >>> > >>> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Robert Kowalski <ro...@kowalski.gd>.
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 <ro...@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
> <na...@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 <
>> sebastianrothbucher@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 <ro...@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
>>> > <na...@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 <
>>> > > nadeeshaangunasinghe@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 <ro...@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
>>> > >>> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Robert Kowalski <ro...@kowalski.gd>.
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
<na...@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 <
> sebastianrothbucher@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 <ro...@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
>> > <na...@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 <
>> > > nadeeshaangunasinghe@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 <ro...@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
>> > >>> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
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 <
sebastianrothbucher@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 <ro...@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
> > <na...@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 <
> > > nadeeshaangunasinghe@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 <ro...@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
> > >>> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Sebastian Rothbucher <se...@googlemail.com>.
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 <ro...@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
> <na...@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 <
> > nadeeshaangunasinghe@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 <ro...@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
> >>> <na...@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
>
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Robert Kowalski <ro...@kowalski.gd>.
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
<na...@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 <
> nadeeshaangunasinghe@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 <ro...@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
>>> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
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 <
nadeeshaangunasinghe@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 <ro...@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
>> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Nadeeshaan Gunasinghe <na...@gmail.com>.
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 <ro...@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
> <na...@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
Re: GSOC 2015 [Visualize document revision tree and navigate between
these revisions]
Posted by Robert Kowalski <ro...@kowalski.gd>.
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
<na...@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