Розширення:Echo
There is a stalled attempt to move this functionality into core MediaWiki; for more information, see Notifications and Requests for comment/Notifications in core. |
Notifications Статус релізу: стабільний |
|
---|---|
Реалізація | Сповіщення |
Опис | Provides an in-wiki notification system that can be used by other extensions. |
Автор(и) | |
Найновіша версія | continuous updates |
Compatibility policy | Snapshots releases along with MediaWiki. Master is not backward compatible. |
Зміни в БД | Так |
Таблиці | echo_email_batch echo_event echo_notification echo_subscription echo_target_page echo_push_provider echo_push_subscription echo_push_topic echo_unread_wikis |
Ліцензія | MIT License |
Завантажити | |
|
|
|
|
|
|
Quarterly downloads | 141 (Ranked 40th) |
Public wikis using | 2,698 (Ranked 187th) |
Translate the Echo extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The Notifications extension, historically called Echo in code and documentation for sysadmins and developers, provides an in-wiki notification system that provides the user with alerts and notices about activity on the wiki, such as another user mentioning them on a talk page, or an edit of theirs being reverted. Other MediaWiki extensions can make use of Notifications to send their own notifications; Подяки and DiscussionTools are two such extensions.
Installation
- The database user must have been granted the "REFERENCES" right for the database. How you check this depends on how you set up the database in the first place. For example, if you used a control panel application, then that interface should provide a way to check and change the privileges of the database user (
$wgDBuser
in LocalSettings.php ). - Завантажте і розмістіть файли в каталозі з назвою
Echo
у вашійextensions/
папці.
Розробники та автори коду повинні замість цього встановити розширення з Git, використовуючи:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo - Додайте такий код унизу вашого файлу LocalSettings.php :
wfLoadExtension( 'Echo' );
- Запустіть скрипт оновлення, який автоматично створить необхідні таблиці бази даних, які потрібні цьому розширенню.
- If necessary configure at your convenience
- Готово – Перейдіть до Special:Version вашої вікі, щоб переконатися, що розширення встановлено успішно.
To allow daily or weekly summary notifications to be delivered by mail (for users that choose that in preferences), the following script inside the Echo extension directory needs to be run on a daily basis, which can be scheduled in a cron job:
maintenance/processEchoEmailBatch.php
Configuration
It is possible to use conditional user options to set different notification preferences for new users, without affecting existing users.
See Special:DisplayNotificationsConfiguration for local details.
Parameters
Parameter | Default | Comment |
---|---|---|
$wgEchoEnableEmailBatch
|
true
|
Whether to turn on email batch function |
$wgEchoUseJobQueue
|
false
|
|
$wgEchoEmailFooterAddress
|
'' | The organization address (or whatever text you want to appear in the footer of the email notifications). Should be defined in LocalSettings.php |
$wgNotificationSender
|
$wgPasswordSender
|
The email address for both "from" and "reply to" on email notifications. Should be defined in LocalSettings.php |
$wgNotificationSenderName
|
"emailsender" message (MediaWiki) | Name for "from" on email notifications. Should be defined in LocalSettings.php |
$wgNotificationReplyName
|
No Reply | Name for "reply to" on email notifications. Should be defined in LocalSettings.php |
$wgEchoCluster
|
false
|
Use the main db if this is set to false, to use a specific external db, just use any key defined in $wgExternalServers |
$wgEchoSharedTrackingDB
|
false
|
Shared database to use for keeping track of cross-wiki unread notifications; false to not keep track of it at all |
$wgEchoSharedTrackingCluster
|
false
|
Cluster the shared tracking database is located on; false if it is on the main one. Must be a key defined in $wgExternalServers |
$wgEchoMaxUpdateCount
|
2000 | The max number of notifications allowed for a user to do a live update, this is also the number of max notifications allowed for a user to have. |
$wgEchoMaxMentionsCount
|
50 | The max number of mention notifications allowed for a user to send at once |
$wgEchoMentionStatusNotifications
|
false
|
Enable mention success/failure notifications |
$wgEchoMentionsOnMultipleSectionEdits
|
true
|
Trigger mentions for multiple-section edits |
$wgEchoMentionOnChanges
|
true
|
Trigger mentions for edits to existing comments, as long as a signature is added in the same section |
$wgEchoMaxMentionsInEditSummary
|
0 | Maximum number of users that will be notified that they were linked from an edit summary or 0 for no notifications |
$wgEchoBundleEmailInterval
|
0 | The time interval between each bundle email in seconds; set a small number for test wikis. This should be set to 0 to disable email bundling if there is no delay queue support |
$wgEchoNewMsgAlert
|
true
|
Whether or not to enable a new talk page message alert for logged in users. |
$wgNotifyTypeAvailabilityByCategory
|
[
// Otherwise, a user->user email could trigger an additional redundant notification email.
'emailuser' => [
'web' => true,
'email' => false,
],
'mention-failure' => [
'web' => true,
'email' => false,
],
'mention-success' => [
'web' => true,
'email' => false,
],
]
|
Define which notify types are available for each notification category. If any notify types are omitted, it defaults to $wgDefaultNotifyTypeAvailability. |
$wgEchoNotifiers
|
[
'web' => [ 'EchoNotifier', 'notifyWithNotification' ],
'email' => [ 'EchoNotifier', 'notifyWithEmail' ],
]
|
Definitions of the different types of notification delivery that are possible. Each definition consists of a class name and a function name. See also EchoNotificationController class. |
$wgEchoAgentBlacklist
|
[] | List of usernames which will not trigger notifications |
$wgEchoOnWikiBlacklist
|
Echo-blacklist | Page location of community maintained blacklist within NS_MEDIAWIKI containing one username per line which will not trigger notifications. Set to null to disable. |
$wgEchoPerUserWhitelistFormat
|
%s/Echo-whitelist | An sprintf format of the location of the per-user notification agent whitelist within the NS_USER namespace. %s will be replaced with the users name. The whitelists must contain one username per line which will always trigger notifications regardless of their existence in the blacklists. Set to null to disable.
|
$wgEchoCrossWikiNotifications
|
false
|
Whether to enable the cross-wiki notifications feature. To enable this feature you need to:
|
$wgEchoUseCrossWikiBetaFeature
|
false
|
Feature flag for the cross-wiki notifications beta feature
If this is This does not control whether cross-wiki notifications are enabled by default.
For that, use |
$wgEchoNotificationCategories
|
See extension.json | Define the categories that notifications can belong to. Categories can be assigned the following parameters. All parameters are optional:
If a notifications type doesn't have a category parameter, it is automatically assigned to the |
$wgEchoNotificationIcons
|
See extension.json | Defines icons, which are 30x30 images. This is passed to BeforeCreateEchoEvent so extensions can define their own icons with the same structure. It is recommended that extensions prefix their icon key. An example is myextension-name. This will help avoid namespace conflicts.
You can use either a path or a url, but not both. The value of 'path' is relative to The value of 'url' should be a URL. You should customize the site icon URL, which is: |
$wgEchoNotifications
|
See extension.json | Define the event types for echo. Event definitions are in the form of 'event-name' => [ ... ].
|
$wgEchoConfig
|
See extension.json | Configuration for EventLogging. Individual schemas can be disabled. |
$wgEchoPerUserBlacklist
|
null
|
Boolean that enabled Per User Blacklist. |
User preferences
Preference | Default | Comment |
---|---|---|
$wgDefaultUserOptions['echo-email-frequency']
|
0 | How often to send emails, by default:
|
$wgDefaultUserOptions['echo-email-format']
|
Depends on $wgAllowHTMLEmail
|
Default user preference for whether to use HTML or text email. Either html or plain-text .
|
$wgDefaultUserOptions["echo-subscriptions-email-{$category}"]
|
false for most categories; depends
|
Default user preference for whether to notify via email for a particular category |
$wgDefaultUserOptions["echo-subscriptions-web-{$category}"]
|
true for most categories; depends
|
Default user preference for whether to notify via web for a particular category |
Architecture
Usage
Notification negative list / positive list
There are occasionally specific users, typically bots, which perform maintenance tasks that should not generate notifications. To handle these cases, users can be globally blacklisted from the LocalSettings.php file (or InitialiseSettings.php in the case of WMF wikis):
$wgEchoAgentBlacklist = [ 'SampleBot', 'SampleUser' ];
There is also an on-wiki blacklist that can be maintained by the wiki's community. The location of the global on-wiki blacklist defaults to MediaWiki:Echo-blacklist. Individual users can override the blacklist by creating a whitelist. The whitelist location defaults to Special:MyPage/Echo-whitelist. All on-wiki lists expect to receive one case-specific username per line with no special markup or prefixes. For example:
SampleBot SampleUser
"Mention" option
One of the notification types that this extension allows is: "Notify me when someone links to my user page." It might not be obvious to some users, but this particular notification only works when the person linking to another user's page also signs (~~~~) the post.
After installation of the extension, a new tab "Notifications" is created in a user's Special:Preferences page. Under the section "Notify me about these events", in front of the "Mention" option, the hoverbox states: "Notify me when someone links to my user page." If an administrator feels, that the requirement for signing the post isn't obvious in this help text, it can be modified by changing the text in the Wiki's MediaWiki:Echo-pref-tooltip-mention page.
Terminology
- notification - Any individual notice that is delivered by Echo
- message - A notification about activity in a Flow discussion
- alert - Any notification other than a message
See also
- Notifications/API
- Посібник:Ехо - for details on the Mention requirements
- Extension:Echo/Creating a new notification type (current)
- Notifications/Developer_guide (outdated)
Це розширення використовується в одному або декількох проєктах Вікімедіа. Це, мабуть, означає, що розширення стабільне і працює досить добре, щоб його могли використовувати веб-сайти з великим трафіком. Шукайте назву цього розширення у файлах конфігурації Wikimedia CommonSettings.php та InitialiseSettings.php, щоб побачити, де це встановлене. Повний перелік розширень, встановлених на певній вікі, можна переглянути на сторінці Special:Version вікі. |
Це розширення включено до таких вікі-ферм/хостів та/або пакетів: Це не авторитетний список. Деякі вікі-ферми/хости та/або пакунки можуть містити це розширення, навіть якщо вони не вказані тут. Завжди звертайтеся до своїх вікі-ферм/хостів або комплекту для підтвердження. |
- Extensions bundled with MediaWiki 1.40/uk
- Stable extensions/uk
- Notification extensions/uk
- MIT licensed extensions/uk
- Extensions in Wikimedia version control/uk
- AbortTalkPageEmailNotification extensions/uk
- ApiMain::moduleManager extensions/uk
- ArticleDeleteComplete extensions/uk
- ArticleUndelete extensions/uk
- BeforePageDisplay extensions/uk
- EmailUserComplete extensions/uk
- GetNewMessagesAlert extensions/uk
- GetPreferences extensions/uk
- LinksUpdateComplete extensions/uk
- LoadExtensionSchemaUpdates extensions/uk
- LoadUserOptions extensions/uk
- LocalUserCreated extensions/uk
- LoginFormValidErrorMessages extensions/uk
- MergeAccountFromTo extensions/uk
- OutputPageCheckLastModified extensions/uk
- PageSaveComplete extensions/uk
- PreferencesGetIcon extensions/uk
- RecentChange save extensions/uk
- ResourceLoaderRegisterModules extensions/uk
- RollbackComplete extensions/uk
- SaveUserOptions extensions/uk
- SendWatchlistEmailNotification extensions/uk
- SkinTemplateNavigation::Universal extensions/uk
- SpecialMuteModifyFormFields extensions/uk
- UserClearNewTalkNotification extensions/uk
- UserGetDefaultOptions extensions/uk
- UserGroupsChanged extensions/uk
- UserMergeAccountDeleteTables extensions/uk
- UserMergeAccountFields extensions/uk
- UserSaveSettings extensions/uk
- All extensions/uk
- Extensions used on Wikimedia/uk
- Extensions included in BlueSpice/uk
- Extensions included in Canasta/uk
- Extensions included in Miraheze/uk
- Extensions included in MyWikis/uk
- Extensions included in ProWiki/uk
- Extensions included in semantic::core/uk
- Extensions included in ShoutWiki/uk
- Extensions included in Telepedia/uk
- Extensions included in wiki.gg/uk
- Extensions included in WikiForge/uk
- Echo/uk