Pages enfant
  • Manual d'installation du Back Office (esup-smsu-api)

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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ééest disponible sur github. Il est conseillé d'utiliser git pour télécharger les sources :

Bloc de code
git clone https://github.com/EsupPortail/esup-smsu-api.git

N'hésitez pas également à utiliser GIT en interne pour exploiter et maintenir à jour vos instances.

Vous pouvez aussi trouver des zip sur cette page : https://github.com/EsupPortail/esup-smsu-api/tags.

Paramétrage

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

  • créez src/main/resources/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
  • build.properties
  • en s'inspirant de config.sample.properties
    • si vous utilisez git pour l'exploitation et la mise à jour, il est conseillé de faire

      Bloc de code
      ln -s config.sample.properties src/main/resources/properties/config.properties
      git add src/main/resources/properties/config.properties
      git commit -m 'utiliser config.sample.properties comme base de configuration'
    • pour les paramètres, cf paramètres généraux ci-dessous
  • src/main/resources/properties/logging/log4j.properties
    • Vérifier vérifier le chemin d'accès du fichier de log
  • src/main/resources/properties/broker/olm/libmgs.properties pour le broker OLM ou broker.xml
    • et aussi src/main/resources/properties/broker/
    proxy
    • olm/
    proxy
    • libmgs.properties
    pour
    • si vous utilisez le broker
    "proxy".
    • OLM

Paramètres généraux

Voici la liste des paramètres disponibles :

  • Url d'accès à la base de donnée :

    Bloc de code
    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.

  • Login d'accès à la base de donnée :

    Bloc de code
    hibernate.connection.jdbc.username=root
    

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

  • Mot de passe d'accès à la base de donnée :

    Bloc de code
    hibernate.connection.jdbc.password=xxx
    

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

  • Mode d'accès à la base de donnée :

    Bloc de code
    hibernate.useJndi=false
    

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

  • Nom du connecteur OLM utilisé :

    Bloc de code
    sms.connector.name=olm
    

    Ce paramètre défini le nom du broker utilisé. Les brokers disponibles sont "olm", "smsenvoi" et "proxy".

  • Active / désactive l'envoi effectif des SMS :

    Bloc de code
    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.

  • Nombre maximum de jour de conservation des SMS :

    Bloc de code
    purge.sms.seniorityDay=180
    

    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.

  • Nombre maximum de jour de conservation des statistiques :

    Bloc de code
    purge.statistic.seniorityDay=730
    

    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.

  • La cron expression utilisée par la tache de génération des statistiques :

    Bloc de code
    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.

  • La cron expression utilisée par la tache de purge des sms :

    Bloc de code
    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.

  • La cron expression utilisée par la tache de purge des statistiques :

    Bloc de code
    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és au broker

...

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

  • Identifiant de l'application (fourni par OLM) :

    Bloc de code
    libmgs.smsuapi.sid=1234
    
  • Chemin d'accès du certificat utilisé pour communiquer avec OLM (fourni par OLM) :

    Bloc de code
    libmgs.smsuapi.https.keystore=/an/example/certificat.ks
    
  • Mot de passe du certificat (fourni par OLM) :

    Bloc de code
    libmgs.smsuapi.https.passwd=xxxxxxx
    
  • Type de logger :

    Bloc de code
    libmgs.smsuapi.log.type=file
    

    Défini le type de logger utilisé par la librairie.

  • Fichier de log :

    Bloc de code
    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.

  • Timeout de notification :

    Bloc de code
    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.

...

Voici la liste des paramètres disponibles dans le fichier propertiessrc/main/brokerresources/smsenvoiproperties/smsenvoiconfig.properties :

  • Utilisateur et mot de passe de connexion à smsenvoi.com (fourni par smsenvoi.com) :

    Bloc de code
    sms.connector.smsenvoi.account.email = smsu@univ-paris1.fr
    sms.connector.smsenvoi.account.apikey = xxx
  • Pour configurer le champ expéditeur d'un SMS. Attention, ce champ est limité : 10 caractères max et caractères alphanumériques+espace 

    Bloc de code
    sms.connector.smsenvoi.from.mapJSON = { "": "Univ Xxxxxx", "compte1": "Foo" }
  • Intervalle en secondes de connection à smsenvoi.com pour obtenir les statuts

    Bloc de code
    sms.connector.smsenvoi.acknoledgeStatus.repeatInterval=20

    Pour obtenir le statut d'un SMS (En cours, Délivré, Numéro invalide...), le back office doit se connecter à smsenvoi.com à intervalle régulier.

...

  • URL de back office SMS-U proxy

    Bloc de code
    sms.connector.proxy.ws.address=https://sms.univ-xxx.fr/xfire
    
    
  • Utilisateur et mot de passe de connexion à smsenvoi.com (fourni par smsenvoi.com) :

    Bloc de code
    sms.connector.proxy.ws.username = xxx
    sms.connector.proxy.ws.password = xxx
  • Intervalle en secondes de connection au proxy pour obtenir les statuts

    Bloc de code
    sms.connector.proxy.acknoledgeStatus.repeatInterval=20
    

    Pour obtenir le statut d'un SMS (En cours, Délivré, Numéro invalide...), le back office doit se connecter au back office "proxy" à intervalle régulier.

...

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-datamysql -u root -p < src/main/resources/database/create_tables.sql
mysql -u root -p < src/main/resources/database/create_qrtz_tables_esup-smsuapi.sql 

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.

...

Bloc de code
+--------------------------+
| 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

Bloc de code
mvn package

puis copiez le war dans webapps.

ou si vous préférez vous pouvez utiliser ant en configurant préalablement le chemin de déploiement dans build.propertiesL'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

...

Lancement de l'application

en

...

test

L'application se lance par la tache

Bloc de code
ant jetty.start

# or
mvn jetty:run

en production

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

...