Cette section a pour but de maîtriser le paramétrage en tâche planifiée d'une nouvelle notification Maarch.
L'administrateur fonctionnel doit vous communiquer l'identifiant de la nouvelle notification.
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>
Deux options sont possible :
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
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/
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.
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.
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.
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) |