Commit 8b73ec30 authored by Esquilax76's avatar Esquilax76

Merge branch 'master' of https://gitlab.utc.fr/crozatst/hdoc

parents 0e90a187 3c909366
......@@ -21,21 +21,25 @@ In order to work properly this module needs :
- `apt install nodejs`
- `apt install node`
- `apt install npm`
- `npm link mongodb` from hdoc_to_mongo folder
- `npm link mongodb`
- to download and install MongoDB
- For Windows :
- from the [MongoDB download page](https://www.mongodb.com/download-center#community)
- For linux :
- `su & apt install mongodb`
- `# apt install mongodb`
- `# echo 'jsonp=true' >> /etc/mongodb.conf`
- `# echo 'rest=true' >> /etc/mongodb.conf`
- on a virtual machine or a small system ONLY : `# echo 'smallfiles=true' >> /etc/mongodb.conf`
- `# service mongodb restart`
## Instructions
1. Install dependencies
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")
4. Edit "config.json" file from "mongo" folder (for more details, please check "MongoDB configuration")
5. Make sure that MongoDB is running (`mongod.exe --rest --jsonp` command from "MongoDB/Server/3.2/bin" folder)
6. Execute run.bat or chmod +x run.sh & ./run.sh
6. Execute run.bat or run.sh
## Web
This module provides a Web application to access MongoDB and execute simples requests.
......@@ -43,10 +47,36 @@ This module provides a Web application to access MongoDB and execute simples req
2. Edit "config.json" file from "web" folder (for more details, please check "MongoDB configuration")
3. Open "index.html" in "web" folder
## Setting up a mongodb server as service on linux
`# apt install mongodb`
`# echo 'jsonp=true' >> /etc/mongodb.conf`
`# echo 'rest=true' >> /etc/mongodb.conf`
on a virtual machine or a small system ONLY : `# echo 'smallfiles=true' >> /etc/mongodb.conf`
`# service mongodb restart`
## Input configuration
You can add or edit "config.xml" in "input" folder in order to provide more information about your documents.
Supported information
- link
### Schema
```
<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<element name="config">
<element name="file">
<attribute name="name"/>
<element name="link">
<data type="anyURI"/>
</element>
</element>
</element>
</start>
</grammar>
```
### Example
```
<?xml version="1.0" encoding="UTF-8"?>
<config>
......@@ -63,6 +93,8 @@ Use "config.json" in the "mongo" folder to specify
- 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")
#### Example
```
{
"url" : "mongodb://localhost:27017/",
......@@ -76,6 +108,8 @@ Use "config.json" in the "mongo" folder to specify
Use "config.json" in the "web" folder to specify
- url : mongodb's url including the database
- collection : the collection you are using
#### Example
```
{
"url" : "mongodb://localhost:27017/database",
......
......@@ -14,7 +14,7 @@
success: function (myData) {
for (var item in myData.rows) {
var model = jQuery("div[name='toFill']").first().clone();
model.find("a[name='link']").attr("href", "title.html#" + encodeURI(JSON.stringify(myData.rows[item])));
model.find("a[name='link']").attr("href", "title.html#" + encodeURI(myData.rows[item].title));
model.find("span[name='title']").text(myData.rows[item].title);
model.css("display", "block")
model.appendTo(jQuery("body").first());
......
......@@ -2,19 +2,32 @@
<head>
<title>page secondaire</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" ></script>
<script type="text/javascript" src="config.jsonp"></script>
<script type="text/javascript">
jQuery("document").ready(function () {
var myData = JSON.parse(decodeURI(document.location.href.split("#")[1]));
jQuery("#title").text(myData.title);
jQuery("#spData").append("<p>Auteur(s) : " + myData.authors + "</p>");
jQuery("#spData").append("<p>License de droits d'usage : " + myData.rights + "</p>");
jQuery("#spData").append("");
if (myData.keywords._.length > 0) jQuery("#rwData").append("<p>non classs : " + myData.keywords._.join(", ") + "</p>");
if (myData.keywords.content.length > 0) jQuery("#rwData").append("<p>content : " + myData.keywords.content.join(", ") + "</p>");
if (myData.keywords.topic.length > 0) jQuery("#rwData").append("<p>topic : " + myData.keywords.topic.join(", ") + "</p>");
jQuery("#introduction").text(myData.introduction);
var myData = document.location.href.split("#")[1];
$.ajax({
url: config.url + "/" + config.collection + "/?filter_title=" + myData,
type: 'get',
dataType: 'jsonp',
jsonp: 'jsonp', // mongod is expecting the parameter name to be called "jsonp"
cache: false,
success: function (myData) {
myData = myData.rows[0];
jQuery("#title").text(myData.title);
jQuery("#spData").append("<p>Auteur(s) : " + myData.authors + "</p>");
jQuery("#spData").append("<p>License de droits d'usage : " + myData.rights + "</p>");
jQuery("#spData").append("");
if (myData.keywords._.length > 0) jQuery("#rwData").append("<p>non classs : " + myData.keywords._.join(", ") + "</p>");
if (myData.keywords.content.length > 0) jQuery("#rwData").append("<p>content : " + myData.keywords.content.join(", ") + "</p>");
if (myData.keywords.topic.length > 0) jQuery("#rwData").append("<p>topic : " + myData.keywords.topic.join(", ") + "</p>");
jQuery("#introduction").text(myData.introduction);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log('error', errorThrown + " " + textStatus);
}
});
});
function loadFullText() {
......
......@@ -31,6 +31,11 @@ A savoir que les contenus opale de plusieurs machines/utilisateurs peuvent être
##Utilisation
-------------
L'utilisation complète d'opale_to_elasticSearch nécessite l'utilisation de la stack ELK (ElasticSearch, Logstash, Kibana).
Notez qu'il vous faut java8 pour lancer la stack ELK:
- lancez java --version
- Si ce n'est pas le cas : sudo apt-get install default-jdk
Installation :
- Télécharger ElasticSearch : https://www.elastic.co/fr/downloads/elasticsearch et extraire l'archive
- Télécharger Logstash : https://www.elastic.co/fr/downloads/logstash et extraire l'archive
- Télécharger Kibana : https://www.elastic.co/fr/downloads/kibana et extraire l'archive
......@@ -41,19 +46,28 @@ L'utilisation complète d'opale_to_elasticSearch nécessite l'utilisation de la
Etapes :
- aller dans votre dossier d'installation d'elasticsearch et lancer bin/elasticsearch
- aller dans votre dossier d'installation de kibana et lancer bin/kibana
- aller dans votre dossier d'installation de logstash et lancer bin/logstash - f esconf.conf
- aller dans votre dossier d'installation de logstash et lancer bin/logstash -f esconf.conf
- Attendre les messages de logstash qui indiquent le lancement sans problème.
- lancer la transformation opale_to_elasticsearch en mettant d'abord les *.scar dans opale_to_elasticsearch/input
- lancer la transformation opale_to_elasticsearch en mettant d'abord les .scar dans opale_to_elasticsearch/input
- Le dossier de sortie n'est pas le classique opale_to_elasticsearch/output mais opale_to_elasticsearch/logstash/input afin de faire directement le lien avec Logstash
- Normalement les log de logstash indique l'insertion des sorties de la transformation, il arrive pour le moment qu'il ne le fasse qu'au moment où logstash s'arrête, l'arrêter alors.
- aller sur localhost:5601
- Normalement il vous demande de créer un index, par défaut logstash-* . Si oui, laissez par défaut.
- Vous allez arriver sur la page de création d'index. Par défaut vous n'en avez pas et il vous propose de créer logstash-*. Créez-le en appuyant sur "Créer".
- Allez dans Management => Saved object.
- Cliquez sur "import" et importer le fichier JSON opale_to_elasticSearch/conf/kibana/dashboard.json
- Vous devriez voir un dashboard et des objets dans "vizualisation" s'ajouter à votre liste de saved objects
- Allez dans Dashboard, cliquez sur "Open" et sélectionnez le dashboard ajouté (Normalement "NF29_DATA_DASHBOARD")
- Allez dans Dashboard, cliquez sur "Open" tout en haut à droite et sélectionnez le dashboard ajouté (Normalement "NF29_DATA_DASHBOARD")
- Vous pouvez cliquez sur les différents éléments des graphiques pour filtrer les informations, les graphiques s'actualiseront en fonction.
Pour vérifier que vos données sont bien insérées dans kibana, vous pouvez aller sur l'onglet "Dev tools" et lancer la requête suivante :
```
GET logstash-*/_search/
{
"query": {
"match_all": {}
}
}
```
##Bugs connus
-------------
- Logstash ne prend pas toujours en compte tout de suite le fichier une fois ajouté au dossier, il faut parfois l'éteindre/le relancer
......
......@@ -23,27 +23,50 @@ In order to work properly this module needs :
- `apt install nodejs`
- `apt install node`
- `apt install npm`
- `npm link mongodb` from hdoc_to_mongo folder
- `npm link mongodb`
- to download and install MongoDB
- For Windows :
- from the [MongoDB download page](https://www.mongodb.com/download-center#community)
- For linux :
- `su & apt install mongodb`
- `# apt install mongodb`
- `# echo 'jsonp=true' >> /etc/mongodb.conf`
- `# echo 'rest=true' >> /etc/mongodb.conf`
- on a virtual machine or a small system ONLY : `# echo 'smallfiles=true' >> /etc/mongodb.conf`
- `# service mongodb restart`
## Instructions
1. Install dependencies
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 in "hdoc_to_mongo" module (for more details, please check "Mongo configuration")
4. Edit "config.json" file from "mongo" folder in "hdoc_to_mongo" module (for more details, please check "MongoDB configuration")
5. Make sure that MongoDB is running (`mongod.exe --rest --jsonp` command from "MongoDB/Server/3.2/bin" folder)
6. Execute run.bat or chmod +x run.sh & ./run.sh
6. Execute run.bat or run.sh
## Input configuration
You can add or edit "config.xml" in "input" folder to provide more information about your documents.
Supported information
- link
### Schema
```
<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<element name="config">
<element name="file">
<attribute name="name"/>
<element name="link">
<data type="anyURI"/>
</element>
</element>
</element>
</start>
</grammar>
```
### Example
```
<?xml version="1.0" encoding="UTF-8"?>
<config>
......@@ -60,6 +83,8 @@ Use "config.json" in the "mongo" folder to specify
- 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")
#### Example
```
{
"url" : "mongodb://localhost:27017/",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment