Readme.md 2.29 KB
Newer Older
Maxime Chaillet's avatar
Maxime Chaillet committed
1 2
# DOI landing page
## Introduction
Maxime Chaillet's avatar
Maxime Chaillet committed
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
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.
Maxime Chaillet's avatar
Maxime Chaillet committed
24
```
Maxime Chaillet's avatar
Maxime Chaillet committed
25
grunt dev
Maxime Chaillet's avatar
Maxime Chaillet committed
26
```
Maxime Chaillet's avatar
Maxime Chaillet committed
27
* copy the www folder  (not all files are needed but it is easy) to apache folder
Maxime Chaillet's avatar
Maxime Chaillet committed
28
```
Maxime Chaillet's avatar
Maxime Chaillet committed
29
sudo rm -fr /var/www/html &&  sudo cp -r www/. /var/www/html/
Maxime Chaillet's avatar
Maxime Chaillet committed
30
```
Maxime Chaillet's avatar
Maxime Chaillet committed
31 32 33 34
* 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
Maxime Chaillet's avatar
Maxime Chaillet committed
35
```
Maxime Chaillet's avatar
Maxime Chaillet committed
36
grunt
Maxime Chaillet's avatar
Maxime Chaillet committed
37
```
Maxime Chaillet's avatar
Maxime Chaillet committed
38
* prepare the docker container
Maxime Chaillet's avatar
Maxime Chaillet committed
39
```
Maxime Chaillet's avatar
Maxime Chaillet committed
40 41
cd rootOfTheProject
sudo ./build.sh
Maxime Chaillet's avatar
Maxime Chaillet committed
42
```
Maxime Chaillet's avatar
Maxime Chaillet committed
43 44 45 46

### 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
Maxime Chaillet's avatar
Maxime Chaillet committed
47
```
Maxime Chaillet's avatar
Maxime Chaillet committed
48
sudo /etc/init.d/docker start
Maxime Chaillet's avatar
Maxime Chaillet committed
49
```
Maxime Chaillet's avatar
Maxime Chaillet committed
50
* install the docker container created before.
Maxime Chaillet's avatar
Maxime Chaillet committed
51
```
Maxime Chaillet's avatar
Maxime Chaillet committed
52 53 54
cd rootOfTheProject
sudo ./run.sh

Maxime Chaillet's avatar
Maxime Chaillet committed
55
```
Maxime Chaillet's avatar
Maxime Chaillet committed
56
* retrieve the name of the container which has been installed locally listing all none running containers
Maxime Chaillet's avatar
Maxime Chaillet committed
57
```
Maxime Chaillet's avatar
Maxime Chaillet committed
58
sudo docker ps -a
Maxime Chaillet's avatar
Maxime Chaillet committed
59
```
Maxime Chaillet's avatar
Maxime Chaillet committed
60 61

* start the given container
Maxime Chaillet's avatar
Maxime Chaillet committed
62
```
Maxime Chaillet's avatar
Maxime Chaillet committed
63
sudo docker docker start nameOfTheContainer
Maxime Chaillet's avatar
Maxime Chaillet committed
64
```
Maxime Chaillet's avatar
Maxime Chaillet committed
65 66 67

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