when creating a new couchapp i get this structure:
appname ├── _attachments │ └── style ├── evently │ ├── items │ │ └── _changes │ └── profile │ └── profileReady │ └── selectors │ └── form ├── lists ├── shows ├── updates ├── vendor │ └── couchapp │ ├── _attachments │ ├── evently │ │ ├── account │ │ │ ├── adminParty │ │ │ ├── loggedIn │ │ │ ├── loggedOut │ │ │ ├── loginForm │ │ │ │ └── selectors │ │ │ │ └── form │ │ │ └── signupForm │ │ │ └── selectors │ │ │ └── form │ │ └── profile │ │ ├── loggedOut │ │ ├── noProfile │ │ │ └── selectors │ │ │ └── form │ │ └── profileReady │ └── lib └── views └── recent-items
Now, since this structure is intended to reflect the JSON structure of the CouchDB _design document, I figured this out:
[_ attachments] Attachments are stored binary. JavaScript, CSS, and HTML files are stored here.
[evently] ???
[lists] Lists are JavaScript functions that are executed to render HTML or AtomFeeds from view results.
[shows] Show functions are analog functions of a list, but render content by converting a document to other formats (such as html, xml, csv, png).
[updates] ???
[vendor] Home of external libraries.
[views] View contains MapReduce functions that can later be requested via the HTTP API (see \ ref {couchdb: views}).
Appart , , , ? ?
, ...
, !
!
generate , CouchDB; -, Evently. ; , .
generate
couchapp generate. _id (echo -n _design/whatever > _id), .
couchapp
_id
echo -n _design/whatever > _id
( ) _view HTTP (, XML-RSS).
_view
( ) HTTP-.
( ) HTTP- . (, JSON.)
( map.js reduce.js ) CouchDB .
map.js
reduce.js
updates vendor. CouchDB.
updates
vendor
couchapp . , , couchDB . , , , , , . - , , , . :
, .
CouchDB. :
[...] _update _show, validate_doc_update.
Equivalently registered on the CouchApp website . The documentation is weak, I use it in the project, and I found only a short blog post with useful information. Fortunately, the source code is easy to understand. But look at the Pages application for an example. In any case, I do not understand how it is used .