Skip to content
Snippets Groups Projects
user avatar
Bastien DOREAU authored
b2e6d80d
History

README

Presentation

Cette application permet aux référents HAL d'utiliser des outils d'imports de publications dans HAL

Ces outils reposent sur l'API SWORD de HAL.

Le principe de ces outils est de lire des listes de publications au format bibtex ou texte et de générer des fichiers XML (format TEI) qui seront envoyés sur l'API pour être importés dans la base de HAL.

Un rendu sous forme de tableau permet de visualiser les résultats et le choix est donné de déposer sur la base HAL ou sur une base de préproduction.

Dblp_2_Hal permet de faire des imports massifs dans HAL à partir de fichiers au format bibtex issus de DBLP.

Text_2_Hal permet de faire des imports massifs dans HAL à partir d'une liste texte, ou d'un CV de Research Gate.

Deployment

Pip and virtualenv

Install Pip

sudo apt-get update
sudo apt-get install python-pip
pip install --upgrade pip

Install and set virtualenv

sudo apt install virtualenv
mkdir halenv
virtualenv halenv

source halenv/bin/activate

Install MySql

Install MySql

sudo apt install mysql-server
sudo mysql_secure_installation

This last command finish the installation of MySql Answers :

  • N
  • pwd root : *****
  • Y
  • Y
  • Y
  • Y
sudo service mysql start

Access to console mysql :

sudo mysql -u root -p

Create database

create database haltools;

Before import data be sure to have UTF8 encoding.

ALTER DATABASE haltools charset=utf8;
CREATE USER 'haladmin'@'localhost' IDENTIFIED BY '******';
GRANT ALL PRIVILEGES ON haltools.* TO 'haladmin'@'localhost';
FLUSH PRIVILEGES;

Use Git

Install Git and configure

sudo apt-get install git

git config --global user.name "admin haltools"
git config --global user.email mymail@isima.fr

clone repository from gitlab

cd halenv
git clone https://gitlab.limos.fr/basdorea/haltools

Dependencies

Manage MySql problems

sudo apt-get install libmysqlclient-dev

Install other dependencies with pip

cd haltools
pip install -r requirements.txt

Settings

Modify file settings.py to access database, deploy upon a specific IP adress, ...

vim haltools/settings.py
> ALLOWED_HOSTS = ['10.0.0.***']
> DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS' : {"init_command": "SET foreign_key_checks = 0;"},
        'NAME': 'haltools',
        'USER': 'haladmin',
        'PASSWORD': '******',
        'HOST': '127.0.0.1',
        'PORT': '',
    }
}

build from Django ORM

Fills the database with tables from django ORM models

python manage.py makemigrations
python manage.py migrate

Create a superuser Django

python manage.py createsuperuser

Launch server in local with remote access

cd haltools
python manage.py runserver 0.0.0.0:8000

browse http://127.0.0.1:8000/

browse http://127.0.0.1:8000/admin to authenticate with superuser

Launch celery process

celery -A haltools worker -l INFO --hostname 'rabbhaluser' --concurrency 2 -n w1