Extension:Echo

From mediawiki.org
This page is a translated version of the page Extension:Echo and the translation is 100% complete.
Manuel des extensions MediaWiki
OOjs UI icon advanced-invert.svg
Echo
État de la version : stable
Screenshot of Echo notification extension.png
Implémentation Notifier
Description Fournit un système de notification intégré au wiki et pouvant être utilisé par d'autres extensions.
Auteur(s)
Dernière version mises à jour continues
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki >= 1.40.0
Modifie la base
de données
Oui
Tables echo_email_batch
echo_event
echo_notification
echo_subscription
echo_target_page
echo_push_provider
echo_push_subscription
echo_push_topic
Licence Licence MIT
Téléchargement
Aide Help:Extension:Echo/fr
  • $wgEchoNotificationCategories
  • $wgEchoEventLoggingSchemas
  • $wgEchoMaxMentionsCount
  • $wgEchoPerUserWhitelistFormat
  • $wgEchoPushMaxSubscriptionsPerUser
  • $wgEchoMentionOnChanges
  • $wgEchoPollForUpdates
  • $wgEchoUseJobQueue
  • $wgEchoBundleEmailInterval
  • $wgEchoMentionsOnMultipleSectionEdits
  • $wgDefaultNotifyTypeAvailability
  • $wgEchoSecondaryIcons
  • $wgEchoCacheVersion
  • $wgEchoMaxUpdateCount
  • $wgEchoNotifiers
  • $wgEchoAgentBlacklist
  • $wgEchoSharedTrackingCluster
  • $wgEchoEnablePush
  • $wgEchoPerUserBlacklist
  • $wgEchoEnableEmailBatch
  • $wgEchoWatchlistNotifications
  • $wgNotifyTypeAvailabilityByCategory
  • $wgEchoMaxMentionsInEditSummary
  • $wgEchoNotifications
  • $wgEchoPushServiceBaseUrl
  • $wgEchoCluster
  • $wgEchoWatchlistEmailOncePerPage
  • $wgAllowArticleReminderNotification
  • $wgEchoEventLoggingVersion
  • $wgEchoNotificationIcons
  • $wgEchoSharedTrackingDB
  • $wgEchoOnWikiBlacklist
  • $wgEchoSeenTimeCacheType
  • $wgEchoMentionStatusNotifications
  • $wgEchoCrossWikiNotifications
  • $wgEchoEmailFooterAddress
Traduire l’extension Echo sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension Echo fournit un système de notification in-wiki qui peut être utilisé par d'autres extensions. Thanks et StructuredDiscussions sont deux extensions MediaWiki qui utilisent Echo. Voir Notifications pour une description complète de ce que fait cette extension.

Téléchargement

Cette extension peut être récupérée directement depuis Git [?]:

  • Naviguer dans le code
  • Certaines extensions étiquettent les versions stables.
  • Chaque branche correspond à une version antérieure de MediaWiki. Il y a aussi une branche master (maître) qui contient la dernière version alpha (elle peut nécessiter une version alpha de MediaWiki)

Décompressez l'instantané et placez-le dans le répertoire extensions/Echo/ de votre installation MediaWiki.

Si vous êtes familier de Git et si vous avez un accès au shell de votre serveur, vous pouvez aussi obtenir l'extension de la manière suivante:

cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo.git

La branche master de cette extension ne prend en charge que la branche master du noyau de MediaWiki (actuellement 1.39+). Pour l'utiliser avec 1.32–1.38, vous devez passer sur la branche correspondante (par exemple Echo REL1_38 avec core REL1_38).

Installation

  • L'utilisateur de la base de données doit avoir les droits « REFERENCES » sur la base.
  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé Echo dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'Echo' );
    
  • Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
  • Configurer à votre convenance si nécessaire.
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Pour permettre au résumé des notifications, qu'il soit quotidien ou hebdomadaire, d'être envoyé par courriel (pour les utilisateurs qui ont choisi cela dans leur préférences), le script suivant du répertoire de l'extension Echo doit être exécuté sur une base quotidienne, ce qui peut se faire en déclarant une tâche de cron :

maintenance/processEchoEmailBatch.php

Configuration

En plus de définir les préférences utilisateur par défaut, vous pouvez également utiliser l'accroche AddNewAccount pour modifier les préférences utilisateur lors de l'inscription. Cela permet de définir différentes préférences utilisateur à l'avenir sans affecter les utilisateurs existants.

Voir Special:DisplayNotificationsConfiguration pour les détails locaux.

Paramètres

Paramètres de configuration (par défaut définis dans extension.json)
Paramètre Par défaut Commentaire
$wgEchoEnableEmailBatch true Activation ou non de la fonction de traitement par lots des courriels
$wgEchoUseJobQueue false
  • true - Différer la livraison des notifications par e-mail et par le Web via la file d'attente des travaux.
  • false - Remettre immédiatement les notifications
$wgEchoEmailFooterAddress '' L'adresse de l'organisation (ou le texte à afficher dans le pied de page des notifications par courriel). Doit être défini en LocalSettings.php
$wgNotificationSender $wgPasswordSender L'adresse e-mail pour les notifications par e-mail "de" et "réponse à". Doit être défini en LocalSettings.php
$wgNotificationSenderName Message "emailsender" (MediaWiki) Nom pour "de" sur les notifications par courriel. Doit être défini en LocalSettings.php
$wgNotificationReplyName No Reply Nom pour "répondre à" dans les notifications par courriel. Doit être défini en LocalSettings.php
$wgEchoCluster false Utilisez la base de données principale si la valeur est à false; pour utiliser une base de données externe spécifique, utilisez n'importe quelle clé définie dans $wgExternalServers
$wgEchoSharedTrackingDB false Base de données partagée à utiliser pour suivre les notifications inter wiki non lues; false pour ne pas les suivre du tout
$wgEchoSharedTrackingCluster false Cluster sur lequel se trouve la base de données de suivi partagée ; false s'il est sur le principal. Doit être une clé définie dans $wgExternalServers
$wgEchoMaxUpdateCount 2000 Nombre maximal de notifications autorisées pour un utilisateur à effectuer une mise à jour en direct, c'est également le nombre maximal de notifications autorisé pour un utilisateur.
$wgEchoMaxMentionsCount 50 Nombre maximal de notifications de mention pouvant être envoyées simultanément par un utilisateur
$wgEchoMentionStatusNotifications false Activer les notifications de réussite/échec de la mention
$wgEchoMentionsOnMultipleSectionEdits true Mentions de déclencheur pour les modifications à plusieurs sections
$wgEchoMentionOnChanges true Mentions de déclencheur pour les modifications de commentaires existants, à condition qu'une signature soit ajoutée dans la même section
$wgEchoMaxMentionsInEditSummary 0 Nombre maximal d'utilisateurs qui seront avertis qu'ils ont été liés à partir d'un récapitulatif de modification ou 0 pour l'absence de notifications
$wgEchoBundleEmailInterval 0 L'intervalle de temps entre chaque e-mail groupé en secondes ; définissez un petit nombre pour les wikis de test. La valeur 0 doit être affectée à cette option pour désactiver le groupage de messages électroniques si aucune file d'attente de retard n'est prise en charge
$wgEchoNewMsgAlert true Indique si une nouvelle alerte de message de page de conversation doit être activée pour les utilisateurs connectés.
$wgEchoShowFooterNotice false Afficher ou non l'avis d'évaluation du pied de page dans le menu contextuel des notifications
$wgEchoFooterNoticeURL '' URL de l'enquête qui apparaît dans l'avis de commentaires du pied de page dans le menu contextuel de notification
$wgNotifyTypeAvailabilityByCategory
[
	// Sinon un courriel user->user pourrait générer une notification de courriel supplémentaire et redondante.
	'emailuser' => [
		'web' => true,
		'email' => false,
	],
	'mention-failure' => [
		'web' => true,
		'email' => false,
	],
	'mention-success' => [
		'web' => true,
		'email' => false,
	],
]
Définit les types de notifications disponibles pour chaque catégorie de notification. Si des types de notifications sont omis, la valeur par défaut est $wgDefaultNotifyTypeAvailability.
$wgEchoNotifiers
[
	'web' => [ 'EchoNotifier', 'notifyWithNotification' ],
	'email' => [ 'EchoNotifier', 'notifyWithEmail' ],
]
Définitions des différents types de remise de notification possibles. Chaque définition comprend un nom de classe et un nom de fonction. Voir aussi la classe EchoNotificationController.
$wgEchoAgentBlacklist [] Liste des noms d'utilisateurs qui ne déclenchent pas les notifications
$wgEchoOnWikiBlacklist Echo-blacklist Emplacement de la page de la liste noire maintenue par la communauté dans NS_MEDIAWIKI, avec un nom d'utilisateur par ligne, qui ne déclenche pas les notifications. Mettre à null pour désactiver.
$wgEchoPerUserWhitelistFormat %s/Echo-whitelist Format sprintf de l'emplacement de la liste blanche par utilisateur, de l'agent de notification, dans l'espace de noms NS_USER. %s est remplacé par le nom des utilisateurs. Les listes blanches doivent avoit un nom d'utilisateur par ligne pour toujours déclencher les notifications et cela indépendamment du contenu de la liste noire. Mettre à null pour désactiver.
$wgEchoCrossWikiNotifications false Indique si la fonctionnalité des notifications inter-wiki doit être activée. Pour activer cette fonctionnalité, vous devez :
  • avoir un système global d'utilisateurs (tel que CentralAuth ou une table d'utilisateurs partagée)
  • avoir partagé $wgMainStash et $wgMainWANCache entre les wikis
  • configurer $wgEchoSharedTrackingDB
$wgEchoUseCrossWikiBetaFeature false Indicateur de fonction pour la fonctionnalité bêta de notification inter wikis

Si la valeur est à true, les préférences de notification interwiki apparaîtront dans la section des fonctionalités bêta. Si elle est à false, elle apparaîtront dans la section des Notifications.

Cela ne contrôle pas si les notifications inter-wiki sont activées par défaut. Pour cela, utilisez $wgDefaultUserOptions['echo-cross-wiki-notifications'] = true;

$wgEchoNotificationCategories Voir extension.json Définit les catégories auxquelles les notifications peuvent appartenir. Les catégories peuvent être affectées aux paramètres suivants. Tous les paramètres sont facultatifs :
  • priority - Contrôle l'ordre dans lequel les notifications sont affichées dans les préférences et les courriels par lots. La priorité va de 1 à 10. Si la priorité n'est pas spécifiée, la valeur par défaut est 10, qui est la plus faible.
  • no-dismiss - Désactive la révocabilité des notifications dans la catégorie. Il peut être défini soit par un tableau de formats de sortie (voir $wgEchoNotifiers) ou par un tableau contenant 'all'.
  • usergroups - Définit un tableau de groupes utilisateurs candidat à recevoir les notifications dans la catégorie. Si aucun groupe utilisateur n'est mentionné, tous les groupes sont des candidats.

Si un type de notifications n'a pas de paramètre de catégorie, on lui assigne automatiquement la catégorie other qui est de la priorité la plus faible et ne possède pas de préférences ni d'exclusion.

$wgEchoNotificationIcons Voir extension.json Définit les icônes, qui sont des images de 30x30. Ceci est passé à BeforeCreateEchoEvent afin que les extensions puissent définir leurs propres icônes avec la même structure. Il est recommandé que les extensions préfixent la clé de leur icône. Un exemple est : monExtension-nom. Cela aide à éviter les conflits d'espaces de noms.

Vous pouvez utiliser un chemin ou une URL mais pas les deux. 'path' est un chemin relatif à $wgExtensionAssetsPath.

'url' doit être la valeur d'une URL.

Vous devez personnaliser l'URL de l'icône du site qui est : $wgEchoNotificationIcons['site']['url']

$wgEchoNotifications Voir extension.json Définit les types d'événements pour echo. La définition des événements est du type 'nom d'événement' => [ ... ].
  • category - Définit la catégorie à laquelle appartient l'événement. Par défaut 'other'.
  • group - Par défaut 'neutral'.
  • bundle - Définit les formats de sortie disponibles pour le groupage.
  • presentation-model - Définit la classe utilisée pour le rendu des messages de notification et des liens des panneaux de notification, des pages spéciales et des courriels. Il doit s'étendre sur EchoEventPresentationModel.
$wgEchoConfig Voir extension.json Configuration pour EventLogging. Les schémas individuels peuvent être désactivés.
$wgEchoPerUserBlacklist null Booléen qui a activé la liste noire par utilisateur.

Préférences utilisateur

Paramètres des préférences (par défaut définis dans extension.json)
Préférences Valeur par défaut Commentaire
$wgDefaultUserOptions['echo-show-alert'] true Préférence utilisateur par défaut pour l'affichage de la barre d'alerte de la page de discussion spéciale
$wgDefaultUserOptions['echo-email-frequency'] 0 Fréquence d'envoi des courriels, par défaut :
  • 0 - envoyer des courriels pour chaque notification dès qu'elles arrivent (par défaut)
  • -1 - ne pas envoyer de courriels
  • 1 - chaque jour
  • 7 - tous les 7 jours
  • ...
$wgDefaultUserOptions['echo-dismiss-feedback-alert'] 0 S'assure que l'alerte de rétroaction est visible par défaut. Ne pas changer; pour désactiver, utilisez $wgEchoShowFooterNotice.
$wgDefaultUserOptions['echo-email-format'] Dépend de $wgAllowHTMLEmail Préférence par défaut de l'utilisateur pour l'utilisation de la messagerie HTML ou texte. Either html or plain-text.
$wgDefaultUserOptions["echo-subscriptions-email-{$category}"] false pour la plupart des catégories mais cela dépend. Préférence utilisateur par défaut pour indiquer si une notification par e-mail pour une catégorie particulière doit être faite
$wgDefaultUserOptions["echo-subscriptions-web-{$category}"] true pour la plupart des catégories mais cela dépend. Préférence utilisateur par défaut pour indiquer s'il faut notifier via le web pour une catégorie donnée

Architecture

Consultez la section architecture de la page de fonctionnalités .

Utilisation

Liste négative / positive des notifications

Il existe de temps en temps des utilisateurs spécifiques tels que les robots, qui exécutent des tâches de maintenance pour lesquelles on ne devrait pas générer de notifications. Pour résoudre ces situations, les utilisateurs peuvent être globalement bannis dans le fichier LocalSettings.php (ou InitialiseSettings.php dans le cas des wikis WMF) :

$wgEchoAgentBlacklist = [ 'SampleBot', 'SampleUser' ];

Il existe par ailleurs une liste noire au niveau du wiki, pouvant être maintenue par la communauté du wiki. La liste noire globale du wiki est par défaut MediaWiki:Echo-blacklist. Les utilisateurs peuvent redéfinir individuellement la liste noire en créant une liste blanche. La liste blanche est par défaut Special:MyPage/Echo-whitelist. Toutes les listes qui se trouvent au niveau du wiki sont construites avec un nom particulier d'utilisateur par ligne, sans aucune balise ni préfixe. Par exemple :

SampleBot
SampleUser
L'option « Mention »

Un des types de notification que cette extension autorise est quand une personne vient de faire référence à ma page utilisateur : «  Me prévenir quand un quelqu’un fait référence à ma page utilisateur ». Cela pourrait paraître obscur à certains utilisateurs mais cette notification particulière ne fonctionne que si la personne qui pointe vers la page utilisateur d'une autre, signe également (~~~~) son billet.

Après installation de l'extension, un nouvel onglet « Notifications  » apparaît dans la page Special:Preferences de l'utilisateur. Dans la section « Me prévenir de ces événements  » , pour l'option «  Mention  » , le survol de l'icône d'information indique : «  Me prévenir quand un quelqu’un fait référence à ma page utilisateur ». Si un administrateur estime, que le besoin de signer le billet n'est pas fondamentalement nécessaire dans ce texte d'aide, il peut modifier ce dernier en changeant le texte dans la page MediaWiki:Echo-pref-tooltip-mention du Wiki.

Terminologie

  • notification - Tout avis individuel qui est livré par Echo
  • message - Une notification sur l'activité dans une discussion Flow
  • alerte - Toute notification autre qu'un message

Voir aussi