Readme.md 2.28 KB
Newer Older
Maxime Chaillet's avatar
Maxime Chaillet committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#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 datacyte [search page](https://search.datacite.org/) and will enter the doi code he/she is looking at. In response, from his own database, the datacyte 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

Below are the steps to follow after the implementation of a new functionnality or for debugging purpose. In this mode, we use the dev.html page instead of the index.html.

* check js files, create the dev.html file from the dev.tpl.html template.
'''
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/
'''
* access the doi landing page with the following address http://localhost/dev.html?DOI=prefix/siffix

### How to prepare the docker container
* 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 docker start nameOfTheContainer
'''

* access the doi landing page http://localhost:8092/DOIprefix/DOIsuffix