sensebase v0.0.4
(= (= (= (= (= (= (=
UNDER CONSTRUCTION
(= (= (= (= (= (= (=
Install ElasticSearch.
npm install SenseBase
Then npm install
, bower install
if you are working directly in the source base.
Presuming a debian derived distro, you will need to have build-essentials installed
Configure
create a config.js:
// logging
var winston = require('winston');
GLOBAL.debug = winston.debug;
GLOBAL.info = winston.info;
GLOBAL.warn = winston.warn;
GLOBAL.error = winston.error;
var domain = 'my.great.domain';
var esOptions ={ _index : 'ps', server : { host : 'es.' + domain, port : 9200 }};
exports.config = {
project: 'sensebase',
DOMAIN: domain,
FAYEHOST: 'http://faye.' + domain + ':9999/montr',
ESEARCH: esOptions,
ESEARCH_URI: 'http://es.' + domain + ':' + esOptions.server.port + '/' + esOptions._index,
HOMEPAGE: 'http://dashboard.' + domain,
AUTH_PORT: 9999,
PROXY_PORT: 8089,
SPOTLIGHT: { host: 'spotlight' + domain, port: 7272},
SENTIMENT: { host: 'sentiment' + domain, port: 9002},
NOCACHE_REGEX: '.*.' + domain,
CACHE_DIR : '/some/dir',
uploadDirectory: './static/files',
doCache : true,
doAuth: true,
logStream : { write: function() {}}
}
Run
if including SenseBase from your own project, create a bootstrap (app.js) that looks like this:
var senseBase = require('SenseBase');
senseBase.start(require('./config.js').config);
start any services
then node app.js
Develop
- npm install -g grunt-cli
- grunt
- Edit assets, grunt will generate final files
Programming notes
app.js creates a configured instance of sensebase.js (index.js).
index.js manages access and bootstraps /lib.pubsub.js
All 'team' interaction is via pubsub.js. ElasticSearch is not exposed.
Annotations are a child relationship to contentItems.
ContentItems initially have an state of 'visited' ('queued' if scraping, then 'visited' when scraped). After their first annotation and an annotationSummary is added, this becomes 'annotated.'
Everything else (aside from direct field data) is saved as an annotation.
Acknowledgement
This project is supported by and forms the basis of http://www.github.com/TsangLab/Proxiris, as well as work developed for the Observastory project for eHealth in Motion | Dataparc.