Extension:Echo/zh
通知,在面向系统管理员和开发人员的代码和文档中历来称为Echo、提供了一个wiki内通知系统,为用户提供有关wiki上活动的警报和通知,例如其他用户在讨论页上提到他们,或者他们的编辑被恢复。 其他MediaWiki扩展可以利用Echo发送自己的通知,例如感谢 和讨论工具 两个扩展。
安装
- 数据库用户必须已被授予数据库的“REFERENCES”权限。 如何检查此内容取决于您首先如何设置数据库。 例如,如果您使用了控制面板应用程序,则该界面应该提供一种方法来检查和更改数据库用户的权限(LocalSettings.php 中的
$wgDBuser
)。 - 下载,并将解压后的
Echo
移动到extensions/
目录中。
开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
- 将下列放置在您的LocalSettings.php 的底部:
wfLoadExtension( 'Echo' );
- 更新脚本,它将自动此必须的数据库表。
- 在您方便的时候配置即可
完成 – 在您的wiki上至Special:Version,以验证已成功安装。
为了允许每天或每周通过邮件发送摘要通知(对于在首选项中选择的用户),Echo扩展目录中的以下脚本需要每天运行,可以在cron作业中安排:
maintenance/processEchoEmailBatch.php
|
可以使用条件用户选项 为新用户设置不同的通知首选项,而不影响现有用户。
有关更多详细信息,请参见Special:DisplayNotificationsConfiguration。
参数
备注 | ||
---|---|---|
$wgEchoEnableEmailBatch |
true |
是否打开电子邮件批处理功能 |
$wgEchoUseJobQueue |
false |
|
$wgEchoEmailFooterAddress |
'' | 组织地址(或您希望显示在电子邮件通知页脚中的任何文本)。 应在LocalSettings.php中定义 |
$wgNotificationSender |
$wgPasswordSender |
电子邮件通知中“发件人”和“回复对象”的电子邮件地址。 应在LocalSettings.php中定义 |
$wgNotificationSenderName |
消息“emailsender” (MediaWiki) | 电子邮件通知中“发件人”的名称。 应在LocalSettings.php中定义 |
$wgNotificationReplyName |
No Reply | 电子邮件通知中“回复”的名称。 应在LocalSettings.php中定义 |
$wgEchoCluster |
false |
如果设置为false,请使用主数据库;要使用特定的外部数据库,只需使用$wgExternalServers 中定义的任何键 |
$wgEchoSharedTrackingDB |
false |
用于跟踪跨wiki未读通知的共享数据库;不跟踪为false |
$wgEchoSharedTrackingCluster |
false |
共享跟踪数据库所在的群集;如果在主屏幕上,则为false。 必须是在$wgExternalServers 中定义的键 |
$wgEchoMaxUpdateCount |
2000 | 允许用户进行实时更新的最大通知数,这也是允许用户拥有的最大通知数量。 |
$wgEchoMaxMentionsCount |
50 | 允许用户一次发送的提及通知的最大数量 |
$wgEchoMentionStatusNotifications |
false |
启用提及成功/失败通知 |
$wgEchoMentionsOnMultipleSectionEdits |
true |
触发多节编辑的提及 |
$wgEchoMentionOnChanges |
true |
只要在同一节中添加了签名,就可以触发对现有评论的编辑提及 |
$wgEchoMaxMentionsInEditSummary |
0 | 将收到从编辑摘要链接的通知的最大用户数,或0表示没有通知 |
$wgEchoBundleEmailInterval |
0 | 每个捆绑电子邮件之间的时间间隔(秒);为测试Wiki设置一个小数字。 如果不支持延迟队列,则应将其设置为0以禁用电子邮件绑定 |
$wgEchoNewMsgAlert |
true |
是否为登录用户启用新的通话页面消息提醒。 |
$wgNotifyTypeAvailabilityByCategory |
[
// 否则,用户->用户电子邮件可能会触发额外的冗余通知电子邮件。
'emailuser' => [
'web' => true,
'email' => false,
],
'mention-failure' => [
'web' => true,
'email' => false,
],
'mention-success' => [
'web' => true,
'email' => false,
],
]
|
定义可用于每个通知类别的通知类型。 如果省略了任何通知类型,则默认为$wgDefaultNotifyTypeAvailability。 |
$wgEchoNotifiers |
[
'web' => [ 'EchoNotifier', 'notifyWithNotification' ],
'email' => [ 'EchoNotifier', 'notifyWithEmail' ],
]
|
可能的不同类型通知传递的定义。 每个定义都包含一个类名和一个函数名。 另请参阅EchoNotificationController类。 |
$wgEchoAgentBlacklist |
[] | 不会触发通知的用户名列表 |
$wgEchoOnWikiBlacklist |
Echo-blacklist | 社区维护的黑名单的页面位置在NS_MEDIAWIKI以内,每行包含一个用户名,不会触发通知。 设置null为禁用。 |
$wgEchoPerUserWhitelistFormat |
%s/Echo-whitelist | NS_USER命名空间中每个用户通知代理白名单的位置的sprintf格式。 %s将替换为用户名。 白名单每行必须包含一个用户名,无论黑名单中是否存在,该用户名都将始终触发通知。 设置null 为禁用。 |
$wgEchoCrossWikiNotifications |
false |
是否启用跨wiki通知功能。 要启用此功能,您需要:
|
$wgEchoUseCrossWikiBetaFeature |
false |
跨wiki通知测试版功能的功能标志
如果是 这并不控制默认情况下是否启用跨wiki通知。
为此,使用 |
$wgEchoNotificationCategories |
参见extension.json | 定义通知可以属于的类别。 可以为类别指定以下参数。 所有参数都是可选的:
如果通知类型没有类别参数,则会自动将其分配给优先级最低、没有首选项或可解雇性的 |
$wgEchoNotificationIcons |
参见extension.json | 定义图标,即30x30大小的图像。 这被传递给BeforeCreateEchoEvent,这样扩展就可以用相同的结构定义自己的图标。 建议扩展名在其图标键前面加前缀。 myextension-name就是一个例子。 这将有助于避免命名空间冲突。
您可以使用路径或url,但不能同时使用两者。 “path”的值相对于 “url”的值应为url。 您应该自定义网站图标URL,即: |
$wgEchoNotifications |
定义回显的事件类型。 事件定义的形式为“事件名称”=>[…]。
| |
$wgEchoConfig |
事件日志记录的配置。 可以禁用单个架构。 | |
$wgEchoPerUserBlacklist |
null |
启用“每用户黑名单”的布尔值。 |
用户设置
参数设置 | 备注 | |
---|---|---|
$wgDefaultUserOptions['echo-email-frequency'] |
0 | 默认情况下发送电子邮件的频率:
|
$wgDefaultUserOptions['echo-email-format'] |
取决于$wgAllowHTMLEmail |
是否使用HTML或文本电子邮件的默认用户首选项 Either html or plain-text . |
$wgDefaultUserOptions["echo-subscriptions-email-{$category}"] |
大多数类别为false ;取决于 |
是否通过电子邮件通知特定类别的默认用户首选项 |
$wgDefaultUserOptions["echo-subscriptions-web-{$category}"] |
大多数类别为true ;取决于 |
是否通过web通知特定类别的默认用户首选项 |
架构
请参阅功能页的架构部分 。
用法
通知负面清单/正面清单
偶尔会有特定的用户,通常是机器人,执行不应生成通知的维护任务。 为了处理这些情况,用户可以从LocalSettings.php文件(在WMF Wiki的情况下,则为InitialiseSettings.php)中被全局列入黑名单:
$wgEchoAgentBlacklist = [ 'SampleBot', 'SampleUser' ];
还有一个维基黑名单,可以由维基的社区维护。 全局在wiki黑名单上的位置默认为MediaWiki:Echo-blacklist。 个人用户可以通过创建白名单来覆盖黑名单。 白名单位置默认为Special:MyPage/Echo-whitelist。 维基列表上的所有人都希望每行收到一个特定于大小写的用户名,没有特殊的标记或前缀。 例如:
SampleBot SampleUser
“提及”选项
此扩展允许的通知类型之一是:“当有人链接到我的用户页面时通知我。” 对于一些用户来说,这可能并不明显,但只有当链接到另一个用户页面的人也在帖子上签名(~~~~)时,这种特定的通知才有效。
安装扩展后,将在用户的Special:Preferences页面中创建一个新选项卡“通知”。 在“通知我这些事件”一节下,在“提及”选项前,悬停框显示:“当有人链接到我的用户页面时通知我。” 如果管理员觉得在这个帮助文本中签署帖子的要求不明显,可以通过更改Wiki的MediaWiki:Echo-pref-tooltip-mention页面中的文本来修改。
术语
- notification - Echo发送的任何个人通知
- message - 关于Flow讨论中活动的通知
- alert - 除消息之外的任何通知
參見
![]() | 此用于一个或多个维基媒体项目。 这可能意味着足够稳定、运作足够良好,可以用在这样的高流量的网站上。 请在维基媒体的CommonSettings.php和InitialiseSettings.php中查找此的名称以查看哪些网站安装了该。 特定wiki上的已安装的的完整列表位于Special:Version页面。 |