CenterForOpenScience/exp-addons

Name: exp-addons

Owner: Center for Open Science

Description: Shared model and frame definitions for the Lookit/ Experimenter behavioral data collection service

Created: 2016-01-29 14:37:41.0

Updated: 2017-05-04 12:08:01.0

Pushed: 2017-12-06 19:30:26.0

Homepage: http://centerforopenscience.github.io/exp-addons/

Size: 3351

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Experimenter Addons

A shared home for all of our shared addons

For historical reasons, all PRs targeted to ISP must be aimed at the “ISP” branch.

Installation

Before beginning, you will need to install Yarn, a package manager (like npm).

Install the submodule:

This repo module should included as a submodule in the Ember project where you want to use these addons. An example setup might be:

ber-project>
xt
/exp-addons
pp
...    

And the corresponding package.json entries are:


.,
ependencies": {
"exp-player": "file:./ext/exp-addons/exp-player",
"exp-models": "file:./ext/exp-addons/exp-models"


For example:

ib && \
submodule init && \
submodule update && \
xp-models && \
 install --pure-lockfile
Development

If your work requires that you make changes to one of the exp-addon modules you can use yarn link for local development. This allows you to make changes to the code without having to push to github. To do this:

=`git rev-parse --show-toplevel`
ROOT/ext/exp-addons/exp-player && \
 link && \
ROOT/ext/exp-addons/exp-models && \
 link && \
ROOT && \
 link exp-player && \
 link exp-models
Adding dependencies on other packages

Sometimes, you will want to install an additional third-party package. In place of npm, this project uses yarn. Most of the commands are the same, but this alternative tool provides a way for two developers to guarantee they are using the same versions of underlying code. (by running yarn install --pure-lockfile) This can help avoid a situation where things break unexpectedly when run on a different computer.

Whenever you choose to update your dependencies (yarn add x or yarn install), make sure that code still runs, then be sure to commit the modified yarn.lock file, which represents the “current known working state” for your app.

Any changes made in exp-player (except adding files, in which case you may need to relink the module) should now be automagically reflected in the consuming project.

Updating docs

Documentation of exp-player components is generated using YUIDoc:

d exp-player
arn run docs

At the moment, this is a manual process: whatever files are in the top level /docs/ folder of the master branch will be served via GitHub pages. New documentation releases will require manually making a new “release” to update the master branch, which can be done on request.

Releasing a new version

Within the exp-player folder, we provide a simple convenience command for handling new version releases: yarn run bump-version <MAJOR | MINOR| PATCH>.

This command handles incrementing the version number, verifying tests pass, and updating the documentation build. You will be responsible for committing the changes before handling the actual release (using a process such as git flow).

COS is Hiring!

Want to help save science? Want to get paid to develop free, open source software? Check out our openings!


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.