On 2 October 2012 16:14, Benoit Chesneau <[email protected]> wrote: > On Wed, Sep 26, 2012 at 1:36 PM, Dave Cottlehuber <[email protected]> wrote: >> TL;DR +1 for including erica[1] into CouchDB proper. >> >> To summarise a bit: >> >> There are about 3 key things that all couchy tools do [1]….[5]: >> >> - transform local js and erlang functions in separate files, into >> design doc format >> - include necessary libraries and attachments into those ddocs >> - upload that ddoc into CouchDB >> >> and optionally: >> - support cloning ddocs (downloading and reversing the transformation) >> - pushing arbitrary json docs with optional attachments >> - pre/post hooks to minify, uglify, etc >> - package mgmt >> - keep some local state & store it in the ddoc to avoid unnecessary >> transfer of attachments >> >> We need to make the first steps when moving past using futon as easy >> as possible, and consistent across platforms, with a minimal tooling >> requirement. Node is awesome but is moving way too fast, and erlang is >> the logical next choice. >> >> If Benoit is willing, a slimmed down erica[1] code could be included >> into CouchDB proper, or at least blessed as the canonical version. >> It's in erlang, & with some rebar magic you have a stand-alone escript >> that can be located anywhere in your path. The only additional code >> I'd like to see is that it supports multiple ddocs, and handle >> uploading normal docs as well as ddocs. > > > It could be done really fast. So if I summarize the needed features > for an initial release, that would be: > > - take an fs structure and send it as a ddoc to couchdb. The fs > structure would handle js functions (shows, update, lists, views & > validations) as separate files + attachments > - upload this ddoc to couchapp
Should also handle plain JSON docs. > I would add the possibility to ignore some files in the folder (the > .couchapp ignore files) Yes. > Other possible features: Nice if the node-style app.js format can be accommodated. > - handle multiple sources for attachments (?), can be done maybe by > adding multiple sources folders) > - send multiples ddocs from one folder > - handle arbitrary jsons + their attachments > - hooks > - clone a ddoc to the fs > - ddoc templates > > Currently handled by erica: > > - take an fs structure and send it as a ddoc to couchdb. The fs > structure would handle js functions (shows, update, lists, views & > validations) as separate files + attachments > - upload this ddoc to couchapp > - clone a ddoc to the fs > - ignore some files in the folder > - macros to include files inside a js functions (do we still need it > with the commonjs feature) ? I don't think so, unless its important to support existing couchapps that rely on it. > - ddoc templates : allows to reuse a structure and ship it to others. > (useful to distribute some js frameworks structure or corporate > templates) > - web editor/viewer Better off providing that as an external couchapp? > > > Would be interesting if we can decide on the features to have if we > follow this way. Tthere is still the possibility to generate a > database with futon and other couchapps we support) when we create a > release. Also what would be the name? Anything but couchapp to avoid confusion. A+ Dave
