PASS is an ember application which provides a unified user interface that allow its users to deposit their manuscripts into multiple repositories as required by applicable funding agency's public access policies
PASS communicates with a Fedora repository on the backend using JSON-LD. See the ember-fedora-adapter for more information. Objects persisted to Fedora are automatically indexed by Elasticsearch. See pass-indexer for more information about how this works. Note that the indexing process is asynchronous. An object persisted to Fedora will not immediately be available in Elasticsearch.
You will need the following things properly installed on your computer.
- Git
- Node.js (with NPM)
- Ember CLI
- Google Chrome
git clone <repository-url>
this repositorycd pass-ember
npm install
A docker environement which relies on a Shibboleth proxy is in .docker/shib. All services should be available at https://pass.local/.
- In .docker/shib/ run
docker-compose up
- Wait for the containers to finish coming up, this could take 5-10 minutes. There will be a long pause while the
ember
container builds. When you see the "Build successful" message fromember
and a small table listing the "Slowest Nodes" that indicates the application is ready to use - The local code runs in the
ember
container, and changes in the local code will be reflected there. - Visit your app at https://pass.local/app
- Visit your tests at https://pass.local/app/tests
- Fedora repository is at https://pass.local/fcrepo/
- Elasticsearch index search endpoint is at https://pass.local/es/
- In order to remove persisted data, stop all the containers and
docker system prune -f
Note that ember test will not be able to run tests which make requests to services behind the Shibboleth proxy. The ember test client would have to go through the process of getting credentials first.
The configuration for the docker environment occurs in .env. See documentation on the individual components for configuration options.
The pass-ember application configures the Fedora adapter uses these environment variables. There are also defaults specified in config/environment.js. They tell the adapter where Fedora and Elasticsearch are and generally will not need to be modified during development.
In order to prevent an Authorization header being sent to Fedora and Elasticsearch, set FEDORA_ADAPTER_USER and FEDORA_ADAPTER_PASSWORD to empty strings.
ember test
ember test --server
ember build
(development)ember build --environment production
(production)
Specify what it takes to deploy your app.