Notification par courriel
administrateurs (basique)
Depuis 2007-07-17, la page de configuration des courriels est SiteAdmin.NotifyList. Les versions de PmWiki publiées avant cette date utilisaient Site.NotifyList. (C'est une page dans votre site wiki et se modifie comme les autres pages du wiki.)
Le script notify.php permet à un administrateur de site d'envoyer des messages e-mail lorsque des changements se produisent sur les pages d'un site wiki. Les notifications par e-mail peuvent être configurées de manière à ce que de multiples changements de page sur une courte période soient regroupés en un unique message e-mail (pour éviter de saturer les boîtes à mail).
Cette fonctionnalité est utile pour les sites et les pages qui sont mis à jour peu fréquemment, ceci évite d'avoir à consulter fréquemment les pages de "changements récents" (ModifsDuGroupe ToutesLesModifs RecentChanges AllRecentChanges) juste pour voir si quelque chose a changé.
Pour faire fonctionner les notifications, le script notify.php doit être activé dans la Configuration locale. Habituellement, cela se résume simplement à placer dans local/config.php la ligne suivante :
$EnableNotify = 1;
Une fois activé, le système de notification se configure depuis la page SiteAdmin.NotifyList. (C'est une page dans votre site wiki et se modifie comme les autres pages du wiki.) Cette page contient des entrées de la forme suivante:
notify=alice@example.com
Ceci signifie que l'information des changements de page doit être envoyée périodiquement par e-mail à alice@example.com. La page SiteAdmin.NotifyList peut contenir plusieurs lignes "notify=" causant l'envoi des notifications à de multiples adresses.
Un certain nombre d'options existent pour limiter les pages prises en compte lors d'une notification. Les paramètres group=
et name=
peuvent être utilisés pour restreindre les notifications à certains groupes ou certaines pages.
# Envoie les notifications du groupe Main à alice@example.com notify=alice@example.com group=Main # Avertit bob@example.com de tous les changements de la page Home notify=bob@example.com name=Main.HomePage # Avertit charles@example.com de tous les changements de page # sauf celles de groupe Main notify=charles@example.com group=-Main
Pour maintenir des listes arbitraires de pages, c'est à dire des "listes de surveillance" ("watchlists"), il est généralement plus facile de créer un trail des pages à surveiller. L'entrée suivante dans la page SiteAdmin.NotifyList provoquera l'envoi d'un email contenant tous les changements des pages listées dans le trail situé sur la page Profiles.ALice:
# Informe Alice des changements des pages listées dans Profiles.Alice notify=alice@example.com trail=Profiles.Alice
Notez qu'une fois cette entrée ajoutée dans SiteAdmin.NotifyList, Alice peut facilement changer sa liste de surveillance en éditant la page Profiles.Alice sans avoir besoin d'éditer la page SiteAdmin.NotifyList. Et plus particulièrement cela signifie qu'un administrateur peut restreindre l'édition de SiteAdmin.NotifyList, et néanmoins autorise des individus à maintenir des listes de surveillance personnalisées dans d'autres pages.
C'est probablement le bon endroit pour signaler que l'accés en éditon à la page SiteAdmin.NotifyList devrait être vérouillée, autrement des personnes mal intentionnées pourraient utiliser la capacité des notifications pour saturer les boîtes de courrier électronique d'autres personnes. Par défaut, SiteAdmin.NotifyList est bloqué en édition excepté pour l'administrateur (admin) ( aussi est-ce le cas pour la plus part des pages du groupe Site). Il peut être utile également de mettre en place en mot de passe en lecture afin d'empêcher les spammeurs de récolter les adresses e-mail.
Contrôler la fréquence des notifications
Pour prévenir la saturation des boîtes à mail des destinataires, le scripte de notification utilise un paramètre "squelch" indiquant la durée minimum d'intervalle entre deux envois d'e-mail à une adresse donnée. La valeur par défaut du paramètre "squelch" est 10800 (trois heures), ce qui signifie qu'une fois qu'un message est envoyé à l'adresse d'un destinataire, aucun autre message ne lui sera envoyé avant au moins trois heures. Toutes les éditions qui se produisent durant l'intervalle de temps spécifié par "squelch", sont mises en attente pour le prochain message de notification.
L'administrateur peut changer l'intervalle "squelch" par défaut via le paramètre $NotifySquelch
# active les notifications $EnableNotify = 1; $NotifySquelch = 86400; # attendre au moins un jour entre notifications
De plus, chaque adresse peut individuellement spécifier un paramètre squelch personnalisé dans la page SiteAdmin.NotifyList:
# Alice reçoit au plus un mail par jour notify=alice@example.com squelch=86400 # Bob peut être averti des changements toutes les heures notify=bob@example.com trail=Profiles.Bob squelch=3600 # Charles utilise l'intervalle squelch du site par défaut notify=charles@example.com
Parcequ'une page reçoit successivement souvent plusieurs modifications rapides (par ex, une long envoi suivi de plusieurs ré-éditions mineures), un administrateur de site peut également paramètrer la valeur de $NotifyDelay qui spécifie le temps d'attente entre l'édition initiale et l'envoi de la notification:
# active les notifications $EnableNotify = 1; $NotifySquelch = 86400; # attendre au moins un jour entre notifications $NotifyDelay = 300; # attendre 5 minutes après l'édition initiale
Notez que les valeurs de $NotifySquelch et $NotifyDelay indique des minimums. Les notifications sont envoyées à la première exécution de PmWiki après que la période de délais soit expirée. Pour les sites inactifs, cette période peut être beaucoup plus longue que la durée du délais minimum. Ceci n'est pas vraiment un problème car les notifications opportunes sont moins importantes sur des sites relativement inactifs. (Les sites à forte activité reçoivent généralement les notifications au bon moment).
Note pour les installations Windows.
Les sites dont PHP fonctionne sous Windows peuvent ne pas avoir leur fontion PHP mail correctement configurée. De tels sites devront ajouter une ligne comme :
ini_set('SMTP','smtp.server.com');
à leur fichier config.php, où smtp.server.com est le nom de votre serveur de courrier sortant préféré de votre hébergement.
Variables pour les notifications
<< | Variables | >>
$EnableNotify = 1; # active les notifications $EnableNotify = 0; # désactive les notifications
$NotifyFrom = 'wiki@example.com'; $NotifyFrom = 'Wiki server <wiki@example.com>';
- $NotifyDelay
- La durée (en secondes) d'attente avant l'envoi après le premier changement détecté. Par défaut à 0, les modifications du site sont signalées dès que la période du délais "squelch" est expirée.
$NotifyDelay = 300; # send mail 5+ min after first post
- $NotifySquelch
- La durée minimum (en secondes) entre l'envoi de chaque message. Utile lorsque $NotifyDelay est configuré avec une valeur faible pour conserver un nombre bas de messages de notifications. Par défaut à 10800 (trois heures). Chaque destinataire peut écrasée cette valeur dans la page SiteAdmin.NotifyList.
$NotifySquelch = 43200; # attendre 12+ heures entre chaque message
- $NotifyItemFmt
- Le text à envoyer pour chaque modification du site. La chaîne "$PostTime" est remplacée par la date du changement (contrôlé par $NotifyTimeFmt ci-dessous).
# Par défaut $NotifyItemFmt = ' * $FullName ... $PostTime by $Author'; # inclure l'URL de la page dans le messsage $NotifyItemFmt = " * \$FullName ... \$PostTime by \$Author\n \$PageUrl";
- $NotifyTimeFmt
- Le format pour les dates/heures de $PostTime ci-dessus. Par défaut est égal à la valeur de
$TimeFmt
.
$NotifyTimeFmt = 'm-H:%M'; # 2004-03-20 17:44
- $NotifyBodyFmt
- Le corps du message à envoyer. La chaîne "$NotifyItems" est remplacé avec la liste des modifications (mises au format par $NotifyItemFmt ci-dessus).
- $NotifySubjectFmt
- La ligne de sujet du mail à envoyer.
- $NotifyHeaders
- Chaîne pour des en-têtes (hearders) de mail supplémentaires à passer à la fonction mail().
- $NotifyParameters
- Chaîne de paramètres additionnels à passer à la fonction PHP mail() [1].
- $NotifyFile
- Le fichier tampon où est conservée la trace des récentes modifications. Par défaut Ã
"$WikiDir/.notifylist"
. Notez que généralement ce fichier doit être accessible en écriture par le processus du serveur web. - $NotifyListPageFmt
- Le nom de la page contenant les lignes
notify=
utilisées par notify.php. Par défaut Ã{$SiteGroup}.NotifyList
. - $NotifyList
- Un tableau de paramètres
notify=
qui peut être spécifié à partir d'un fichier local de configuration personnelle (utilisé en plus des entrées de SiteAdmin.NotifyList).
# Avertir alice@example.com $NotifyList[] = 'notify=alice@example.com'
<< Internationalisation | IndexDocAdmin | Changer les URL PmWiki >>
Traduction de PmWiki.Notify
Page originale sur PmWikiFr.Notify - Référencé par
Dernières modifications:
PmWikiFr.Notify: 13/03/2009
PmWiki.Notify: 17/01/2010