LearningReg is a design doc that is supposed to demonstrate various capabilities of a Learning Registry node. It is NOT a fully functional learning registry node. It doesn't do many things that the spec requires.
Here's a list of what it does do:
-
It validates incoming documents to make sure they are compliant with the spec in format. This is accomplished via the file "validate_doc_update.js"
-
It demonstrates processing of arbitrary json and xml within "resource_data" payloads. It looks for specific formats that it recognizes and transforms them into a common json output.
CouchApps are web applications which can be served directly from CouchDB. This gives them the nice property of replicating just like any other data stored in CouchDB. They are also simple to write as they can use the built-in jQuery libraries and plugins that ship with CouchDB.
More info about CouchApps here.
Assuming you just cloned this app from git, and you have changed into the app directory in your terminal, you want to push it to your CouchDB with the CouchApp command line tool, like this:
couchapp push . http://name:password@hostname:5984/mydatabase
If you don't have a password on your CouchDB (admin party) you can do it like this (but it's a bad, idea, set a password):
couchapp push . http://hostname:5984/mydatabase
If you get sick of typing the URL, you should setup a .couchapprc
file in the root of your directory. Remember not to check this into version control as it will have passwords in it.
The .couchapprc
file should have contents like this:
{
"env" : {
"public" : {
"db" : "http://name:pass@mycouch.couchone.com/mydatabase"
},
"default" : {
"db" : "http://name:pass@localhost:5984/mydatabase"
}
}
}
Now that you have the .couchapprc
file set up, you can push your app to the CouchDB as simply as:
couchapp push
This pushes to the default
as specified. To push to the public
you'd run:
couchapp push public
Of course you can continue to add more deployment targets as you see fit, and give them whatever names you like.