README.md 2.91 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# Hdoc to Mongo (`hdoc_to_mongo`)

## License
License GPL3.0
http://www.gnu.org/licenses/gpl-3.0.txt

## Credits
Alexandre Thouvenin
Kapilraj Thangeswaran

## Presentation
This module is able to extract data from a file in Hdoc format and insert them into MongoDB.

## Dependencies
15
In order to work properly this module needs
16 17
- In order to make this module work you have to download and install Node.js from the [Node.js download page](https://nodejs.org/en/).
- If needed, download and install MongoDB from the [MongoDB download page](https://www.mongodb.com/download-center#community).
Kapilraj Thangeswaran's avatar
Kapilraj Thangeswaran committed
18

19
## Instructions
20
1. Install dependencies
21 22 23 24
2. Add all your hdoc documents in an "input" folder
3. Add or edit "config.xml" file in "input" folder (for more details, please check "Input configuration")
4. Edit "config.json" file from "mongo" folder (for more details, please check "Mongo configuration")
5. Execute run.bat or run.sh
25

26 27 28 29 30 31
## Web
This module provides a Web application to access MongoDB and execute simples requests.
1. Launch MongoDB using `mongod.exe --rest --jsonp` command from "MongoDB/Server/3.2/bin" folder.
2. Edit "config.json" file from "web" folder (for more details, please check "MongoDB configuration")
3. Open "index.html" in "web" folder

32 33 34 35 36 37 38
## Input configuration
You can add or edit "config.xml" in "input" folder in order to provide more information about your documents.
Supported information
- link
```
<?xml version="1.0" encoding="UTF-8"?>
<config>
39
	<file name='sample.scar'>
40 41 42 43 44
		<link>https://stph.scenari-community.org/nf17/co/nf17.html</link>
	</file>
</config>
```

45 46
## MongoDB configuration
### In "mongo" folder
47
Use "config.json" in the "mongo" folder to specify
48 49 50 51
- url : mongodb's url
- database : the database you are using
- collection : the collection you are using
- request : the request you want to perform (for allowed requests, please check "Supported requests")
52
```
53 54 55 56 57 58 59 60 61
{
	"url" : "mongodb://localhost:27017/",
	"database" : "database",
	"collection" : "collection",
	"request" : "insert"
}
```

### In "web" folder
62
Use "config.json" in the "web" folder to specify
63
- url : mongodb's url including the database
64
- collection : the collection you are using
65
```
66
{
67
	"url" : "mongodb://localhost:27017/database",
68 69 70
	"collection" : "collection",
}
```
71 72 73

## Supported requests
- insert
74 75
- update (using the title as filter)
- remove (using the title as filter)
76

Kapilraj Thangeswaran's avatar
Kapilraj Thangeswaran committed
77
## User stories
78 79
- En tant qu’utilisateur rédigeant des documents sous opale, je veux récupérer les exercices corrigés d’un sujet donné dans le but de les réutiliser.
- En tant qu’utilisateur rédigeant des documents sous opale, je veux récupérer les cours d’un auteur précis dans le but d’utiliser ses cours comme références.
80
- En tant qu’utilisateur universitaire, je souhaite mettre à disposition mes exercices sur internet de manière structuré dans le but de permettre à d’autre utilisateurs universitaires de les trouver, par thème, auteur ou contenu et de les réutiliser.