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