...
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 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 : se connecter au serveur mysql en tant qu'administrateur et saisir le mot de passe
Bloc de code |
---|
mysql -u root -p -e "create database smsuapi"
|
Un schéma nommé « smsuapi » est maintenant créé
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
Bloc de code |
---|
-- 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
Bloc de code |
---|
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 Configuration_de_l'application)
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ée et saisir le mot de passe :
Bloc de code |
---|
mysql -u root -p smsuapi "show tables"
|
La liste des tables doit apparaître de la manière suivante :
Bloc de code |
---|
+--------------------------+
| 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 :
- properties/config.properties
- vérifier les informations de connexion à la base de donnée
- vérifier le chemin d'accès au fichier libmgs.properties
- properties/libmgs.properties (paramètres liés au broker)
- Pas de paramétrage à modifier à l'heure actuelle
- build.properties
- Paramétrez le type de déploiement désiré. (servlet, portlet, quick-start ... voir documentation du framework esup-commons)
- properties/logging/log4j.properties
- Vérifier le chemin d'accès du fichier de log
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 :
...
L'application peut être déployée dans un serveur d'applications existant, voir la documentation du framework esup-commons
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
...
Voici la liste des paramètres disponibles :
- Url d'accès à la base de donnée :
Ce paramètre défini l'url de la base de donnée du back office.Bloc de code hibernate.connection.jdbc.url=jdbc:mysql://<host>:3306/smsuapi
- Login d'accès à la base de donnée :
Ce paramètre défini le login pour l'accès à la base de donnée du back office.Bloc de code hibernate.connection.jdbc.username=root
- Mot de passe d'accès à la base de donnée :
Ce paramètre défini le mot de passe pour l'accès à la base de donnée du back office.Bloc de code hibernate.connection.jdbc.password=xxx
- Mode d'accès à la base de donnée :
Défini le mode d'accès à la base de donnée du back office.Bloc de code hibernate.useJndi=false
- Nom du connecteur OLM utilisé :
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.Bloc de code sms.connector.olm.name=smsuapi
- Localisation du fichier de configuration de la libraire MGS :
Ce paramètre défini le chemin d'accès vers le fichier contenant la configuration de la librairie MGS.Bloc de code sms.connector.olm.propertyFile=/an/example/libmgs.properties
- Statut utilisé par OLM pour définir un envoi réussi :
Ce paramètre défini la valeur du statut envoyée par les acquittements d'OLM définissant un SMS transmis avec succès.Bloc de code sms.connector.olm.olmSentStatusCode=0
- Statut utilisé par OLM définissant un échec d'envoi:
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.Bloc de code sms.connector.olm.olmErrorStatusCode=1
- Valeur de la cause utilisée par OLM pour définir un échec d'envoi du à un numéro invalide:
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.Bloc de code sms.connector.olm.olmInvalidMSISDNCauseCode=10
- Active / désactive l'envoi effectif des SMS :
Ce paramètre sert à désactiver l'envoi effectif des messages au broker. Si à « true » alors aucun message ne sera envoyé au broker.Bloc de code sms.connector.simulateSending=false
- Nombre maximum de jour de conservation des SMS :
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.Bloc de code purge.sms.seniorityDay=90
- Nombre maximum de jour de conservation des statistiques :
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.Bloc de code purge.statistic.seniorityDay=365
- La localisation du fichier de configuration de quartz :
Ce paramètre défini le chemin d'accès vers le fichier de configuration de quartz.Bloc de code quartz.configFile.location=/an/example/smsuapi_quartz.properties
- La cron expression utilisée par la tache de génération des statistiques :
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.Bloc de code quartz.buildStatisticsTrigger.cronExpression=0 0 0 1 * ?
- La cron expression utilisée par la tache de purge des sms :
Ce paramètre défini l'expression cron qui est utilisée pour planifier la tache qui purge les SMS.Bloc de code quartz.purgeSmsTrigger.cronExpression=0 0 3 1 * ?
- La cron expression utilisée par la tache de purge des statistiques :
Ce paramètre défini l'expression cron qui est utilisée pour planifier la tache qui purge les statistiques.Bloc de code quartz.purgeStatisticTrigger.cronExpression=0 0 5 1 * ?
Paramètres
...
liés au broker
Voici la liste des paramètres disponibles :
- Identifiant de l'application :
L'identifiant unique de l'application (fourni par OLM)Bloc de code libmgs.smsuapi.sid=2421
- Mode de fonctionnement de la librairie :
Spécifie le mode de fonctionnement de la librairie (texte, voix, fax ...)Bloc de code libmgs.smsuapi.mode=sgs
- Url utilisée pour l'envoi de SMS :
Défini l'url à appeler pour envoyer des SMS.Bloc de code libmgs.smsuapi.mgs.messageUrl=https://sms.cvf.fr/cgi-bin/messages.cgi
- Url utilisée pour le suivi des acquittements des SMS :
Défini l'url à utiliser pour suivre les acquittements des SMS.Bloc de code libmgs.smsuapi.mgs.notifUrl=http://sms.cvf.fr/cgi-bin/notifications.cgi
- Localisation du certificat :
Défini le chemin d'accès jusqu'au certificat utilisé pour communiquer avec OLMBloc de code libmgs.smsuapi.https.keystore=/an/example/certificat.ks
- Mot de passe du certificat :
Défini le mot de passe du certificatBloc de code libmgs.smsuapi.https.passwd=xxxxxxx
- Type de logger :
Défini le type de logger utilisé par la librairie.Bloc de code libmgs.smsuapi.log.type=file
- Fichier de log :
Défini le chemin d'accès du fichier de log utilisé par la librarie libMGS.Bloc de code libmgs.smsuapi.log.file.path=/an/example/pushLibMGS.log
- Timeout de notification :
Défini la durée (en minute) avant que la connexion vers l'url de notification soit automatiquement fermée et ré-ouverte.Bloc de code libmgs.smsuapi.advanced.notifTimeout=1
- Timeout :
Défini la durée (en seconde) du timeout.Bloc de code libmgs.smsuapi.timeout=15
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
Bloc de code |
---|
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
Bloc de code |
---|
-- 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
Bloc de code |
---|
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 :
Bloc de code |
---|
mysql -u root -p smsuapi "show tables"
|
La liste des tables doit apparaître de la manière suivante :
Bloc de code |
---|
+--------------------------+
| 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
L'application se déploie par la tache ant deploy :
Bloc de code |
---|
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
Bloc de code |
---|
<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
Bloc de code |
---|
ant start
|
en production
L'application se lance quand on lance le serveur tomcat.