https://github.com/centerforopenscience/exp-addons
Shared model and frame definitions for the Lookit/ Experimenter behavioral data collection service
https://github.com/centerforopenscience/exp-addons
Last synced: 7 months ago
JSON representation
Shared model and frame definitions for the Lookit/ Experimenter behavioral data collection service
- Host: GitHub
- URL: https://github.com/centerforopenscience/exp-addons
- Owner: CenterForOpenScience
- License: apache-2.0
- Created: 2016-01-29T14:37:41.000Z (almost 10 years ago)
- Default Branch: develop
- Last Pushed: 2017-12-06T19:30:26.000Z (about 8 years ago)
- Last Synced: 2025-04-02T19:42:32.772Z (10 months ago)
- Language: JavaScript
- Homepage: http://centerforopenscience.github.io/exp-addons/
- Size: 3.2 MB
- Stars: 1
- Watchers: 3
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
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](https://yarnpkg.com/en/docs/install), 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:
```
/
/ext
/exp-addons
/app
...
```
And the corresponding package.json entries are:
```json
{
...,
"dependencies": {
"exp-player": "file:./ext/exp-addons/exp-player",
"exp-models": "file:./ext/exp-addons/exp-models"
}
}
```
For example:
```bash
cd lib && \
git submodule init && \
git submodule update && \
cd exp-models && \
yarn 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:
```bash
ROOT=`git rev-parse --show-toplevel`
cd $ROOT/ext/exp-addons/exp-player && \
yarn link && \
cd $ROOT/ext/exp-addons/exp-models && \
yarn link && \
cd $ROOT && \
yarn link exp-player && \
yarn 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](https://yarnpkg.com/en/docs/managing-dependencies) 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](https://yarnpkg.com/en/docs/yarn-lock) 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:
```
$ cd exp-player
$ yarn 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 `.
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!](http://cos.io/jobs)