X-Git-Url: http://git.rot13.org/?p=angular-mojolicious.git;a=blobdiff_plain;f=README;h=b7af6ebb1da359af2b9360607ae63d978be689fb;hp=dd7aa1383f1a1cbd12ec61f579b57f613b8f0322;hb=f1d2cef2da4312bab91d7e5fac9e73ae03511899;hpb=44dbf207741b4c06928dedd0ff4ac940e21b3fb8 diff --git a/README b/README index dd7aa13..b7af6eb 100644 --- a/README +++ b/README @@ -17,7 +17,8 @@ using 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 @@ -25,9 +26,23 @@ At it's current stage it provides support for angular $resource get, query and $ 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. @@ -35,26 +50,67 @@ support incremental replication and dies if data is allready present. Installation: - git submodule init - git submodule update + $ git submodule init + $ git submodule update Optionally build angular to get single file download - cd public/angular - rake compile - cd - + $ cd public/angular + $ rake compile + $ cd - 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 +- 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::Client 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 PUT http://localhost:5984/demo/t1 -d '{"trigger":{"command":"notify-send CouchDB t1"}}' + + + 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