intermine/apps-a-middleware

Name: apps-a-middleware

Owner: InterMine

Description: A Node.js reference implementation of a middleware for loading and rendering Apps

Created: 2013-06-24 11:16:09.0

Updated: 2014-01-16 11:19:27.0

Pushed: 2014-01-16 11:19:27.0

Homepage: http://apps-a-middleware.labs.intermine.org

Size: 1011

Language: CoffeeScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Apps/A Middleware (Node.js)

Codename “Pear”

image

A Node.js reference implementation of a middleware for loading and rendering Apps.

Quickstart
m install
RT=1234 node example/index.js

And then visit 127.0.0.1:1234.

Connect Middleware
sr/bin/env coffee
    = require 'http'
ect = require 'connect'

leware = require '../middleware.coffee'

= connect()
(middleware
'apps': [
    'git://github.com/intermine/intermine-apps-a.git'
]
'config': __dirname + '/config.json'

(connect.static(__dirname + '/public'))

.createServer(app).listen process.env.PORT

The middleware accepts two params. One, apps, is an Array of paths to app sources. This can be any of the following:

  1. Git paths on the net like: git://github.com/intermine/intermine-apps-a.git
  2. Local file paths: file:///home/dev/intermine-apps-a

The other parameter, config, represents the configuration you want merged with the config from the apps sources. This can be one of the following:

  1. Local file path: file:///home/dev/example-middleware/config.json
  2. A plain JS Object.

Only the first parameter is required.

Then, the middleware provides you with two routes:

  1. GET /middleware/apps/a - which gives you a config for all the apps it can serve
  2. GET /middleware/apps/a/:appId - which returns one app

Both URLs are being used internally by the Apps client (see example/public/js/intermine.fatapps.js).


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.