Service SMS-U

 

 

Université de Paris 1

 

 

 

Manuel d'installation du Back Office



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éé.

Installation de la base de donnée

Le back office nécessite un serveur de base de donnée 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 :


mysql -u root -p



create database smsuapi ;

Initialisation des tables en base de données

Dans le fichier properties/config.properties, renseignez les paramètres relatifs à la base de donnée.
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");

Figure 1 : Fichier populate_tables_esup-smsu-api.sql
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.
Nb : L'application étant lancée durant cette phase il faut que la configuration de l'application soit correcte avant de lancer la tache ant (cf chapitre 2.1.1)
Nb : Dû à un manque dans les classes appelées par la tâche init-data, il se peut que la tâche « ne rende pas la main » à la fin de son exécution. Ceci n'a pas d'impact sur les opérations effectuées.

Vérification des tables en base de données

Pour vérifier que les étapes précédentes se sont correctement déroulées :


mysql -u root -p



use smsuapi ;



show tables ;


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

-------------------

Tables_in_smsuapi


-------------------

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


-------------------
14 rows in set (0.00 sec)


Déploiement de l'application back office

Configuration de l'application

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



Lancement de l'application

L'application se lance par la tache ant start si le mode quick-start est paramétré dans le fichier build.properties :

ant start

L'application peut être déployée dans un serveur d'applications existant, voir documentation du framework (http://www.esup-portail.org/pages/viewpage.action?pageId=1867791)

Paramétrage du Back Office

Deux fichiers de propriété permettent aux exploitants de paramétrer le Back Office : un fichier pour les paramètres généraux de l'application (config.properties) et un fichier pour les paramètres lié au broker (libmgs.properties).

Paramètres généraux de l'application

Voici la liste des paramètres disponibles :

hibernate.connection.jdbc.url=jdbc:mysql://<host>:3306/smsuapi
Ce paramètre défini l'url de la base de donnée du back office.

hibernate.connection.jdbc.username=
Ce paramètre défini le login pour l'accès à la base de donnée du back office.

hibernate.connection.jdbc.password=
Ce paramètre défini le mot de passe pour l'accès à la base de donnée du back office.

hibernate.useJndi=false
Défini le mode d'accès à la base de donnée du back office.

sms.connector.olm.name=smsuapi
Ce paramètre défini le nom du connecteur OLM utilisé par l'application. Ce nom doit être identique à celui que l'on trouve dans le fichier libmgs.properties et notamment dans le champ libmgs.< name>.sid.

sms.connector.olm.propertyFile=/an/example/libmgs.properties
Ce paramètre défini le chemin d'accès vers le fichier contenant la configuration de la librairie MGS.

sms.connector.olm.olmSentStatusCode=0
Ce paramètre défini la valeur du statut envoyée par les acquittements d'OLM définissant un SMS transmis avec succès.

sms.connector.olm.olmErrorStatusCode=1
Ce paramètre défini la valeur du statut envoyée par les acquittements d'OLM définissant une erreur lors de la transmission d'un SMS.

sms.connector.olm.olmInvalidMSISDNCauseCode=10
Ce paramètre défini la valeur de la cause envoyée par les acquittements d'OLM définissant une erreur lors de la transmission d'un SMS du à un numéro invalide.

sms.connector.simulateSending=false
Ce paramètre sert à désactiver l'envoi effectif des messages au broker. Si à « true » alors aucun message ne sera envoyé au broker.

purge.sms.seniorityDay=90
Ce paramètre sert à définir la durée maximum (en jours) de conservation des SMS en base avant que ceux ci ne soient purgés.

purge.statistic.seniorityDay=365
Ce paramètre sert à définir la durée maximum (en jours) de conservation des statistiques en base avant que ceux ci ne soient purgés. Ces statistiques sont utilisés pour la création des rapports consolidés.

quartz.configFile.location=/an/example/smsuapi_quartz.properties
Ce paramètre défini le chemin d'accès vers le fichier de configuration de quartz.

quartz.buildStatisticsTrigger.cronExpression = 0 0 0 1 * ?
Ce paramètre défini l'expression cron qui est utilisée pour planifier la tache qui génère les statistiques nécessaires aux relevés consolidés.

quartz.purgeSmsTrigger.cronExpression = 0 0 3 1 * ?
Ce paramètre défini l'expression cron qui est utilisée pour planifier la tache qui purge les SMS.

quartz.purgeStatisticTrigger.cronExpression = 0 0 5 1 * ?
Ce paramètre défini l'expression cron qui est utilisée pour planifier la tache qui purge les statistiques.

Paramètres lié au broker

Voici la liste des paramètres disponibles :

libmgs.smsuapi.sid=2421
L'identifiant unique de l'application (fourni par OLM)

libmgs.smsuapi.mode=sgs
Spécifie le mode de fonctionnement de la librairie (texte, voix, fax ...)

libmgs.smsuapi.mgs.messageUrl=https://sms.cvf.fr/cgi-bin/messages.cgi
Défini l'url à appeler pour envoyer des SMS.

libmgs.smsuapi.mgs.notifUrl=http://sms.cvf.fr/cgi-bin/notifications.cgi
Défini l'url à utiliser pour suivre les acquittements des SMS.

libmgs.smsuapi.https.keystore=/an/example/certificat.ks
Défini le chemin d'accès jusqu'au certificat utilisé pour communiquer avec OLM

libmgs.smsuapi.https.passwd=xxxxxxx
Défini le mot de passe du certificat

libmgs.smsuapi.log.type=file
Défini le type de logger utilisé par la librairie.

libmgs.smsuapi.log.file.path=/an/example/pushLibMGS.log
Défini le chemin d'accès du fichier de log utilisé par la librarie libMGS.

libmgs.smsuapi.advanced.notifTimeout=1
Défini la durée (en minute) avant que la connexion vers l'url de notification soit automatiquement fermée et ré-ouverte.

libmgs.smsuapi.timeout=15
Défini la durée (en seconde) du timeout.

Paramètres lié à Quartz

Liste des paramètres :

org.quartz.dataSource.myDS.driver= org.gjt.mm.mysql.Driver
Défini le driver qui sera utilisé par quartz pour se connecter à la base de données.

org.quartz.dataSource.myDS.URL=jdbc:mysql://<host>/smsuapi
Défini l'adresse qui sera utilisée pour se connecter à la base de données.

org.quartz.dataSource.myDS.user = root
Défini le login a utiliser pour se connecter à la base de données.

org.quartz.dataSource.myDS.password = root
Défini le mot de passe a utiliser pour se connecter à la base de données

org.quartz.dataSource.myDS.maxConnections = 5
Défini le nombre de connections maximum qui peuvent être utilisées.
Les autres paramètres n'ont normalement pas à être modifiés, dans le cas contraire se référer à la documentation Quartz.

Installation de l'administration du Back office

L'application de d'administration 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-smsuapiadmin dans un répertoire de travail.
Le paramétrage suivant est à effectuer dans le dossier ainsi créé.

Installation de la base de donnée

L'administration du back office utilise la même base de données que celle du back office. Il n'y a donc pas de procédure d'installation de base de données pour l'administration du back office.

Déploiement de l'application d'administration du back office

Configuration de l'application

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

Déploiement de l'application

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

ant deploy


Ajouter l'application dans le contexte du serveur du portail par le biais du fichier server.xml

<Server port="8007" shutdown="SHUTDOWN">
<!-- Global JNDI resources -->
<GlobalNamingResources>
...
...
<Context path="/esup-smsu-api-admin" docBase="N:/outils/esup-2.6-esup-2.0.5/Portail/webapps/esup-smsu-api-admin/" />
</Host>
</Engine>
</Service>
</Server>

Figure 2 : Fichier server.xml

Il faut également modifier la configuration du connecteur http du portail, également par son fichier server.xml. il faut ajouter le paramètre emptySessionPath="true"

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8082" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
emptySessionPath="true"/>

Figure 3 : Fichier server.xml
Ce paramètre permet à la servlet de téléchargement de fonctionner correctement.
Le reste du déploiement est conforme à un déploiement portlet dans le portail esup.

Intégration de l'applet au portail

La portlet d'administration du back office se déploie par le biais du gestionnaire de canaux.
La configuration utilisée est la suivante :

Figure 4 : Intégration de la portlet au portail

Paramétrage de l'administration du Back

Un fichier de propriété permet aux exploitants de paramétrer l'administration du Back Office.
Voici la liste des paramètres disponibles :

hibernate.connection.jdbc.url=jdbc:mysql://<host>:3306/smsuapi
Ce paramètre défini l'url de la base de donnée du back office 

hibernate.connection.jdbc.username=root
Ce paramètre défini le login pour l'accès à la base de donnée du back office

hibernate.connection.jdbc.password=xxxx
Ce paramètre défini le mot de passe pour l'accès à la base de donnée du back office

hibernate.useJndi=false
Défini le mode d'accès à la base de donnée du front office.

auth.portal.uidAttribute=false
Défini le nom de l'attribut définissant l'uid.

cas.url=https://<host>:<port>/cas
Défini l'adresse du serveur cas.