administrateurs (basique)
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 Site.NotifyList. 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 Site.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 Site.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 Site.NotifyList, Alice peut facilement changer sa liste de surveillance en éditant la page Profiles.Alice sans avoir besoin d’éditer la page Site.NotifyList. Et plus particulièrement cela signifie qu’un administrateur peut restreindre l’édition de Site.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 Site.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, Site.Notify 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.
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 Site.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).
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 | »
$EnableNotify = 1; # active les notifications $EnableNotify = 0; # désactive les notifications
$NotifyFrom = ‘wiki@example.com’; $NotifyFrom = ‘Wiki server <wiki@example.com>’;
$NotifyDelay = 300; # send mail 5+ min after first post
$NotifySquelch = 43200; # attendre 12+ heures entre chaque message
# Par défaut $NotifyItemFmt = ‘ * $FullName … $PostTime by $Author’; # inclure l’URL de la page dans le messsage $NotifyItemFmt = “ * \$FullName … \$PostTime by \$Author\n \$PageUrl”;
$TimeFmt
.
$NotifyTimeFmt = ‘m-H:%M’; # 2004–03–20 17:44
"$WikiDir/.notifylist"
. Notez que généralement ce fichier doit être accessible en écriture par le processus du serveur web.
notify=
utilisées par notify.php. Par défaut à {$SiteGroup}.NotifyList
.
notify=
qui peut être spécifié à partir d’un fichier local de configuration personnelle (utilisé en plus des entrées de Site.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: 14 juin 2006 à 12h57
PmWiki.Notify: 29 septembre 2006 à 21h05