node-sage v0.1.5
Sage
Version 0.1.4
A REST service architecture for scientific data.
##External Dependencies The following tools need to be installed separately (e.g., with Homebrew) before Sage and its dependencies can be installed:
##Overview
Sage is equipped with a command-line tool, quaintly named sage, to manage the project. It can be used to install dependencies, start Sage and it services, monitor Sage, and shut it down.
To use the tool, run:
source sage.env##Installation To install Sage, along with its dependencies, run:
sage installTo check the installation, and execute project tests, run:
sage checkTo install example data used by the demo, run:
sage examples##Configuration
Sage services are configured in a simple configuration file in conf/services.json listing an HTTP port, the name of the service, the Node.js control file, and a configuration file. A sample services configuration is available at conf/services-sample.json. To get started:
cp conf/services-sample.json conf/services.json##Running Sage To start Sage, run:
sage startAll the services configured in conf/services.json are started. Their process IDs and network ports are listed.
To stop Sage, run:
sage stopTo restart Sage, run:
sage restartTo determine whether Sage and its services are running, run:
sage statusEach of the above management commands can be run on individual services by supplying the service name as an argument:
sage {start,stop,restart,status} <service-name>##More Help
API documentation for the library
The sage startup script has a general and command-specific help facility. To find out more about it, run:
sage help [<command>]##Coding Style and Conventions TODO
##Changelog
####v0.1.4
- Bug fixes
####v0.1.3
- Service events.
- Lists can show specific resource properties.
####v0.1.2
- Handling URL templates for resource fetching.
- Bugs zapped.
####v0.1.1
- XML responses
- Collection schema use associated resource schema
####v0.1.0
- Services
- Logging with Bunyan
- Service Registry
- Registry proxies for remote services.
Service#registrypromises to be resolved when registry pings.
- Resources and Collections
- Resources and collections can be associated with services.
- Services provide default routes and responses.
- Services can fetch collections and resources from remote endpoints.
- Resources can override parsing data from remote endpoints.
- Collections act as native Arrays.
- Sage class exposes Service, Resource, and Registry.
