-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The ChRIS_API project is the main development site for version 3 of the Children's Research Integration System (ChRIS), codename "Ultron".
ChRIS can be thought of as a collection of users. Each user has a collection of "feeds". Each feed is a collection of components.
This data structure logically lends itself to a tree- (or dictionary) like organization (as opposed to a relational mapping of tables). Indeed, a ChRIS data encapsulation can be mapped in a one-to-one fashion to a filesystem representation.
ChRIS "Ultron" is designed as fully-fledged web-service, with a clean separation between the front end "controller" components and the back end engine. Indeed, the front end can be a fully fledged web-based session with the immersive UI experience, or it can be a set of command-line curl interactions.
Two API paradigms are available: a REST API and a more conventional RPC-type API.
The REST API is the preferred method of interacting with ChRIS. Due to the internal tree-like organization of users/feeds/components, a REST API is ideal for interrogating and interacting with aspects of the data tree.
The RPC API maps closely to the actual internal programming interface of the ChRIS system, and as such can be more powerful and expressive. In the same vein, it is also more complex, and potentially more unstable.
For the most part, API calls consist of the following components that map in a one-to-one fashion to internal programming constructs in the ChRIS system:
| named keyword | meaning |
|---|---|
| object | the object in the ChRIS system to call |
| method | the method of the above object |
| parameters | a comma separated list of parameters for the called method |
| auth | an authorization token component |
| session | the session/state control |