Configuration des scripts de notifications

Cette section a pour but de maîtriser le paramétrage en tâche planifiée d'une nouvelle notification Maarch.

Fonctionnement des batchs de notification

Prérequis

L'administrateur fonctionnel doit vous communiquer l'identifiant de la nouvelle notification.

Configuration de l'envoi

L'envoi des notifications est configuré dans le fichier modules/notifications/batch/config/config.xml (si il n'existe pas, renommer config.xml.default en config.xml. La configuration comporte 4 parties principales :

<CONFIG> # Chemins, URL et nom de l'application
<COLLECTION> # collection pour les notifications (uniquement letterbox_coll)
<CONFIG_BASE> # Connexion à la base de données
<MAILER> # Utilitaire d'envoi d'e-mail, adresse de l'émetteur, compte SMTP, etc.

Exemple de configuration pour le serveur gmail :

<MAILER>
    <path_to_mailer>/apps/maarch_entreprise/tools/mails/htmlMimeMail.php</path_to_mailer>
    <path_to_phpmailer>PHPMailer_v5.1</path_to_phpmailer>
    <type>smtp</type><!-- mail (default), smtp, sendmail, qmail -->
    <smtp_host>ssl://smtp.gmail.com</smtp_host><!-- smtp1.example.com:25;smtp2.example.com -->
    <smtp_port>465</smtp_port><!-- smtp1.example.com:25;smtp2.example.com -->
    <smtp_user>user@gmail.com</smtp_user>
    <smtp_password>motdepasse</smtp_password>
    <smtp_auth>true</smtp_auth>
    <smtp_secure>ssl</smtp_secure><!-- tls ou ssl -->
    <charset>utf-8</charset><!-- Default : iso-8859-1 -->
    <domains>gmail.com</domains><!-- Rewrite Recipient with config->adminmail if mailfrom and mailto is out of the domains -->
    <x-mailer></x-mailer><!-- Rewrite X-Mailer header,  default : PHP/[phpversion] -->
    <mailfrom>notifications@maarch.org</mailfrom>
</MAILER>

Localisation du script

Deux options sont possible :

  1. La notification s'est générée automatiquement lors de la création de la notification, il vous suffit de la retrouver.
  2. Vous devez créer le script vous-même.

(cas 1) Génération automatique du script

Elle devrait se situer dans :

modules/notifications/batch/scripts/

Elle devrait être de la forme notification[nom du custom][identifiant de la notification].sh

ex : notification_cs_maarchcourrier_9.sh

(cas 2) Création du script

Vous pouvez créer vous même le script de notification grâce à l'identifiant qui a été communiqué par l'administrateur fonctionnel de l'application.

Rendez-vous dans le répertoire :

modules/notifications/batch/scripts/

Pour la notification des bannettes

Créez le script [nom du script].sh ou [nom du script].bat selon l'OS et ajoutez le contenu suivant :

sous linux sous windows
cd /var/www/html/maarch_courrier/ cd "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch"
php /var/www/html/maarch_courrier/modules/notifications/batch/basket_event_stack.php -c /var/www/html/maarch_courrier/modules/notifications/batch/config/config.xml -n [identifiant_notification] "C:\xampp\php\php.exe" "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\basket_event_stack.php" -c "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\config\config.xml" -n NCT
php /var/www/html/maarch_courrier/modules/notifications/batch/process_email_stack.php -c /var/www/html/maarch_courrier/modules/notifications/batch/config/config.xml "C:\xampp\php\php.exe" "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\process_email_stack.php" -c "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\config\config.xml"

Les chemins sont à adapter suivant la configuration de votre serveur.

Pour les notifications des relances

Créez le script [nom du script].sh ou [nom du script].bat selon l'OS et ajoutez le contenu suivant :

sous linux sous windows
cd /var/www/html/maarch_courrier/ cd "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch"
php /var/www/html/maarch_courrier/modules/notifications/batch/process_letterbox_alerts.php -c /var/www/html/maarch_courrier/modules/notifications/batch/config/config.xml -n [identifiant_notification] "C:\xampp\php\php.exe" "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\process_letterbox_alerts.php" -c "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\config\config.xml" -n NCT
php /var/www/html/maarch_courrier/modules/notifications/batch/process_email_stack.php -c /var/www/html/maarch_courrier/modules/notifications/batch/config/config.xml "C:\xampp\php\php.exe" "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\process_email_stack.php" -c "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\config\config.xml"

Les chemins sont à adapter suivant la configuration de votre serveur.

Pour les notifications manuelles

Créez le script [nom du script].sh ou [nom du script].bat selon l'OS et ajoutez le contenu suivant :

sous linux sous windows
cd /var/www/html/maarch_courrier/ cd "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch"
php /var/www/html/maarch_courrier/modules/notifications/batch/process_email_stack.php -c /var/www/html/maarch_courrier/modules/notifications/batch/config/config.xml "C:\xampp\php\php.exe" "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\process_event_stack.php" -c "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\config\config.xml" -n NCT
php /var/www/html/maarch_courrier/modules/notifications/batch/process_email_stack.php -c /var/www/html/maarch_courrier/modules/notifications/batch/config/config.xml "C:\xampp\php\php.exe" "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\process_email_stack.php" -c "C:\xampp\htdocs\maarch_courrier\modules\notifications\batch\config\config.xml"

Les chemins sont à adapter suivant la configuration de votre serveur.

Planification du script

Il ne reste plus qu'à planifier ce script à intervalle régulier :

sous linux sous windows
connecter vous avec l'utilisateur root puis Faites démarrer, et cherchez "Planificateur de tâches"
crontab -e Une fois ouvert, vous pourrez créer une tâche pour le script en question
ajouter la ligne suivante
0 8 * root /.../modules/notifications/batch/scripts/[nom_du_script].sh
la notification sera lancée tous les jours 8h du matin (remplacer ... par le chemin complet de l'application)

results matching ""

    No results matching ""