DOI landing page
Introduction
This project handles the management of the doi landing page at ESRF. A person is searching for information from a given DOI code. He/she can go to datacite search page and will enter the doi code he/she is looking at. In response, from his own database, the datacite server will redirect the search to the doi landing page which is located on esrf server.
Usage
In production, the doi landing page is part of a docker container containing an apache2 server. To perform a request use the following address (provided the page is accessible from doi.esrf.fr) http://doi.esrf.fr/DOIprefix/DOIsuffix
Technicalities for developers
The grunFile.js has 2 tasks.
- the default task will check and prepare the project for production. js files will be minified and concatanated. Consequently debugging of the js files is not easy using this task.
- the dev task which is meant for debugging purpose. In this case the js files are not minified.
How to develop
- Fork this project to your github space.
- Change the code to implement a new functionnality or fix issues.
To test the changes locally on your computer:
- Prepare the project ( check js files, create the dev.html file from the dev.tpl.html template )
cd www
grunt dev
- Copy the www folder (not all files are needed but it is easy) to apache folder
sudo rm -fr /var/www/html && sudo cp -r www/. /var/www/html/
- Open your browser and hit the starting page at the following address http://localhost/dev.html?DOI=prefix/suffix Replace prefix and suffix with real values. Note that the stating page is dev.html. In production , the starting page will be index.html.
- Once you are satisfied with your work, prepare the project for production
cd www
grunt
- Submit a merge request on icat repository at https://gitlab.esrf.fr/icat/doi-landing-page
How to prepare the docker container locally for testing purpose
- Make sure the project is prepared for production (check js files, concatene them, minify them, handle other js dependancies)
grunt
- prepare the docker container
cd rootOfTheProject
sudo ./build.sh
How to test the page in production setting (ie using the docker container)
you can install the container locally to your docker instance
- start docker daemon
sudo /etc/init.d/docker start
- install the docker container created before.
cd rootOfTheProject
sudo ./run.sh
- retrieve the name of the container which has been installed locally listing all none running containers
sudo docker ps -a
- start the given container
sudo docker start nameOfTheContainer
- access the doi landing page http://localhost:8092/DOIprefix/DOIsuffix