fix database name in view
[angular-mojolicious.git] / README
diff --git a/README b/README
index dd7aa13..c0fd38f 100644 (file)
--- a/README
+++ b/README
@@ -17,7 +17,8 @@ using CouchDB HTTP view API
 
 http://wiki.apache.org/couchdb/HTTP_view_API
 
 
 http://wiki.apache.org/couchdb/HTTP_view_API
 
-to provide storage for experimenting with local datasets using angular.
+to provide storage for experimenting with local datasets using angular $resource API.
+You can also query CouchDB views $xhr("JSON", ...) in angular through angular-server.pl
 
 
 At it's current stage it provides support for angular $resource get, query and $save
 
 
 At it's current stage it provides support for angular $resource get, query and $save
@@ -25,9 +26,23 @@ At it's current stage it provides support for angular $resource get, query and $
 http://angularjs.org/Service:$resource
 
 
 http://angularjs.org/Service:$resource
 
 
-Server also supports replication using same API which can be triggered with
+Data can also be serve static json files stored in:
 
 
- http://localhost:3000/_replicate?from=http://dpavlin.getangular.com/data/conference/
+       public/json/:database/:entity/:key
+
+which can be used to provide data using external stand-alone scripts.
+
+
+
+Replication of data between instances using angular REST API can be done with:
+
+       # create local CouchDB database
+       $ curl -X PUT http://localhost:5984/demo
+       {"ok":true}
+
+       $ ./angular-replicate.pl \
+               http://dpavlin.getangular.com/data/conference \
+               http://localhost:3000/data/demo
 
 Replication is currently good only for initial import of data since it doesn't
 support incremental replication and dies if data is allready present.
 
 Replication is currently good only for initial import of data since it doesn't
 support incremental replication and dies if data is allready present.
@@ -35,26 +50,68 @@ support incremental replication and dies if data is allready present.
 
 Installation:
 
 
 Installation:
 
-       git submodule init
-       git submodule update
+       git submodule init
+       git submodule update
 
 Optionally build angular to get single file download
 
 
 Optionally build angular to get single file download
 
-       cd public/angular
-       rake compile
-       cd -
+       cd public/angular
+       rake compile
+       cd -
 
 Start it with:
 
 
 Start it with:
 
-       ./angular-server.pl daemon --reload  
+       ./angular-server.pl daemon --reload  
 
 
 Angular examples available:
 
 - template/Cookbook - examples from wiki working against github version of angular
 - template/conferece - conference submission example using mojolicious REST API server
 
 
 Angular examples available:
 
 - template/Cookbook - examples from wiki working against github version of angular
 - template/conferece - conference submission example using mojolicious REST API server
+- public/app/conference - new application layout with latest example confernce submission
+
+       $ curl -X PUT http://localhost:5984/conference/_design/symposium \
+               -d @public/app/conference/_design/symposium
+
+
+
+CouchDB examples:
+
+       couchdb-changes.pl - simple _changes feed watcher using Mojo::UserAgent documented at
+
+               http://wiki.apache.org/couchdb/HTTP_database_API#Changes
+
+
+       couchdb-trigger.pl - FSM document with hook for user-defiend triggers
+
+               trigger/shell.pm - execute shell commands
+               trigger/email.pm - skeleton for sending e-email
+               trigger/KinoSearch.pm - full-text search
+
+       $ curl -X PUT http://localhost:5984/demo
+       {"ok":true}
+
+       $ ./couchdb-trigger.pl http://localhost:5984/demo trigger/shell.pm
+
+       $ curl -X POST http://localhost:5984/demo/ -H 'Content-type:application/json' -d \
+               '{"trigger":{"command":"notify-send \"CouchDB trigger notify example\""}}'
+
+
+       couchdb-external-kinosearch.pl - external searcher for KinoSearch indexes
+               (configuration for CouchDB is included at end of file)
+
+       $ ./couchdb-trigger.pl http://localhost:5984/demo trigger/KinoSearch.pm
+
+       $ curl -X PUT http://localhost:5984/demo/text -d '{"text":"foobar bla bla"}'
+       {"ok":true,"id":"text","rev":"1-cf9bb608f93af7f4e5e40656a6e50096"}
+
+       $ curl 'http://localhost:5984/demo/_kinosearch?include_docs=true;q=foobar'
+
 
 
 
 
-Planned features:
+Roadmap:
 
 
-- run queries against data using REST API (currently only simple get is supported)
++ implement angular-server.pl which implements REST API supported by $resource in angular
++ persistency to local CouchDB, and use views to query data
++ implement CouchDB _changes and FSM inside document as base for queue or triggers
+- tests