Documentation pour l'ancienne version de SMS-U

Installation du Back office

L'application de Back office packagée se trouve dans le dossier /dist du projet.
Dézippez le contenue de la distribution la plus récente de esup-smsuapi dans un répertoire de travail.
Le paramétrage suivant est à effectuer dans le dossier ainsi créé.

Paramétrage

Le back office se déploie en mode servlet.
Vérifier la configuration des fichiers :

Paramètres généraux

Voici la liste des paramètres disponibles :

Paramètres liés au broker

Les brokers disponibles sont "olm", "smsenvoi" et "proxy".

Broker OLM

Voici la liste des paramètres disponibles dans le fichier properties/broker/olm/libmgs.properties :

Broker smsenvoi

Voici la liste des paramètres disponibles dans le fichier properties/broker/smsenvoi/smsenvoi.properties :

Broker "proxy"

Création de la base de données

Le back office nécessite un serveur de base de données MySQL en version 5.

Création du schéma en base de donnée

Pour créer le schéma de base de donnée : se connecter au serveur mysql en tant qu'administrateur et saisir le mot de passe

mysql -u root -p -e "create database smsuapi"

Un schéma nommé « smsuapi » est maintenant créé

Initialisation des tables en base de données

(nb : il faut configurer properties/config.properties avant d'effectuer cette étape)

Il faut premièrement configurer le premier super utilisateur de l'application.
Pour ce faire, éditer le fichier «utils/database/populate_tables_esup-smsu-api.sql », puis modifier la ligne suivante

-- Ajout du premier super administrateur
INSERT INTO user_bo_smsu VALUES (1, 3, "admin");

Il faut remplacer admin par le login de l'utilisateur qui sera le super administrateur.

A l'aide des scripts ant fournis avec le back office, créer les tables par la tache init-data

ant init-data

Nb : Aucune table ne doit être présente dans le schéma smsuapi au moment de l'exécution de cette commande sous peine d'échec.

Vérification des tables en base de données

Pour vérifier que les étapes précédentes se sont correctement déroulées : se connecter à la base de données et saisir le mot de passe :

mysql -u root -p -e "show tables" smsuapi

La liste des tables doit apparaître de la manière suivante :

+--------------------------+
| Tables_in_smsuapi        |
+--------------------------+
| QRTZ_BLOB_TRIGGERS       |
| QRTZ_CALENDARS           |
| QRTZ_CRON_TRIGGERS       |
| QRTZ_FIRED_TRIGGERS      |
| QRTZ_JOB_DETAILS         |
| QRTZ_JOB_LISTENERS       |
| QRTZ_LOCKS               |
| QRTZ_PAUSED_TRIGGER_GRPS |
| QRTZ_SCHEDULER_STATE     |
| QRTZ_SIMPLE_TRIGGERS     |
| QRTZ_TRIGGERS            |
| QRTZ_TRIGGER_LISTENERS   |
| account                  |
| application              |
| b_user                   |
| b_user_admin             |
| b_vers_mana              |
| b_vers_mana_admin        |
| blacklist                |
| fonction                 |
| institution              |
| role                     |
| role_composition         |
| sms                      |
| statistic                |
| user_bo_smsu             |
+--------------------------+

Déploiement

L'application se déploie par la tache ant deploy :

ant deploy

Ajouter l'application dans le contexte du serveur du portail, par exemple par le biais du fichier conf/Catalina/localhost/esup-smsuapi.xml

<Context docBase="/usr/local/esup-smsuapi/tomcat/webapps/esup-smsuapi" >
  <Resource
   name="jdbc/esup-smsuapi"
   auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
   url="jdbc:mysql://localhost/smsuapi" username="xxx" password="xxx"
   maxActive="100" maxWait="10000"
   validationQuery="select 1"
   removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" />
</Context>

Remarque : <Resource> n'est pas nécessaire si on utilise hibernate.useJndi=false

(le contexte peut aussi être configuré dans le fichier tomcat conf/server.xml)

L'application peut être déployée dans un serveur d'applications existant, voir la documentation du framework esup-commons

Lancement de l'application

en quickstart

L'application se lance par la tache

ant start

en production

L'application se lance quand on lance le serveur tomcat.

Problèmes

Erreur de connexion au broker OLM

Si vous rencontrez le warning suivant dans smsuapi.log :

Warning sent by lib SGS : - arg0 : Problem while sending data.(javax.net.ssl.SSLHandshakeException : Received fatal alert: handshake_failure)

ajoutez

-Dsun.security.ssl.allowUnsafeRenegotiation=true

au lancement de tomcat.

NB : problème rencontré sur java 1.6.12