[ 
https://issues.apache.org/jira/browse/COUCHDB-1664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13568645#comment-13568645
 ] 

Jan Lehnardt commented on COUCHDB-1664:
---------------------------------------

You are technically correct, and like I wrote, I don’t necessarily care how the 
link up is done, but the thing I am trying to solve here is easy of 
contribution. I have seen, time and time again, that capable frontend 
developers would refrain from chipping because this all looked too complicated. 
If we really want to get their contributions, we need to optimise for them.

And yes, I suggest that:

    git clone couchdb-fauxton
    cd couchdb-fauxton
    npm start # or whatever
    <edit-reload-cycle>
    <commit-and-pull-request>

Makes *all* the difference over

    git clone couchdb
    cd couchdb/share/www
    <same as above>

Just because the latter comes with so much more fluff. It is unfamiliar and 
confusing.

In the other Fauxon thread I argued for top level command aliases in favour of 
"simply adding a subfolder to PATH" because that’s not second nature to most 
web developers. And if we ask them to do these things, they won’t and go away 
without contributing.

This just as an example of what mindset we want to have in mind when we set 
this up.

In addition, old Futon has barely seen any contributions, there are many 
reasons, but one was that it is tucked into CouchDB. We can’t be doing the same 
and expect that problem to magically go away. That’d be insane.

Finally, Fauxton/Futon is a fairly decoupled component of CouchDB. I can see 
the disadvantages of using submodules (or whatever) in modules that are more 
tightly integrated (say the replicator, or the view server), and I believe you 
learned that lesson at Cloudant and are not particularly fond of. I support not 
putting all internal CouchDB modules in separate repository for exactly that 
reason, but Fauxton merely exercises the outer API and is otherwise, code and 
development-wise it’s own thing. I project/hope that the disadvantages of using 
submodules (or whatever) aren’t as grave as with other components and thus the 
advantages outweigh them.



  
                
> Import Fauxton
> --------------
>
>                 Key: COUCHDB-1664
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1664
>             Project: CouchDB
>          Issue Type: Task
>          Components: Futon
>            Reporter: Jan Lehnardt
>
> Fauxton is the the next Futon. Now is a good time to get it’s code base into 
> Apache CouchDB.
> The code currently lives at 
> https://github.com/cloudant-labs/couchdb/commits/fauxton
> Here’s the sub-steps:
>   1. ask the authors/committers to sign an Apache CLA (in progress)
>   2. decide on how to integrate the code base (see below)
>   3. decide if we want to keep calling it Fauxton, or just Futon again.
>   4. fill out IP Clearance documentation (in progress).
>   5. prepare the code base with legal requirements, like ASF headers & NOTICE.
> I’ll volunteer to do champion all of these.
> As for 2. Integration I propose the following:
>  - Ask INFRA for a separate repository couchdb-futon (or couchdb-fauxon as 
> per 3)
>  - in the CouchDB repo, make src/futon or wherever it should live a 
> git-submodule to the new couchdb-futon repo.
>  - Update build-from-checkout/clone instructions to add `git submodule update 
> --init` after `git clone <repo>`
> (I realise that not everyone likes submodules, I don’t exactly care about the 
> integration as long as it is a single command that needs to be run to make 
> things work. No solution is without drawbacks, so unless someone can point to 
> a point that makes submodules *not* work for this, I suggest we avoid this 
> particular bikeshed).
> As for 3: Futon.
> Once all that is in place we can work on integrating building Fauxton on 
> `make dist`. It should be a matter of installing the dependencies and calling 
> one command. For `make test` we should also run Fauxton’s test suite (when it 
> exists). None of that is critical for the import, though.
> Consider this a draft.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to