Jump to content

Extensão: Echo

From mediawiki.org
This page is a translated version of the page Extension:Echo and the translation is 41% complete.
MediaWiki 1.44 introduz uma estrutura de notificações integrada (consulte Manual: Notificações), mas você ainda precisa desta extensão para que os utilizadores vejam as notificações.
Manual de extensões do MediaWiki
Notifications
Estado de lançamento: estável
Implementação Notificar
Descrição Fornece um sistema de notificação na wiki que pode ser utilizado por outras extensões.
Autor(es)
Última versão atualizações contínuas
Política de compatibilidade Lançamentos de capturas de ecrã em conjunto com o MediaWiki. Original não é compatível com as versões anteriores.
Alterações à base de dados Sim
Tabelas echo_email_batch
echo_event
echo_notification
echo_subscription
echo_target_page
echo_push_provider
echo_push_subscription
echo_push_topic
echo_unread_wikis
Licença Licença MIT
Transferência
  • $wgAllowArticleReminderNotification
  • $wgEchoMaxMentionsCount
  • $wgEchoPerUserWhitelistFormat
  • $wgEchoPushMaxSubscriptionsPerUser
  • $wgEchoMentionOnChanges
  • $wgEchoPollForUpdates
  • $wgEchoMentionsInEditSummaryBots
  • $wgEchoUseJobQueue
  • $wgEchoBundleEmailInterval
  • $wgEchoEnableApiEvents
  • $wgEchoMentionsOnMultipleSectionEdits
  • $wgDefaultNotifyTypeAvailability
  • $wgEchoSecondaryIcons
  • $wgEchoCacheVersion
  • $wgEchoMaxUpdateCount
  • $wgEchoNotifiers
  • $wgEchoAgentBlacklist
  • $wgEchoSharedTrackingCluster
  • $wgEchoEnablePush
  • $wgEchoPerUserBlacklist
  • $wgEchoEmailFooterAddress
  • $wgEchoWatchlistNotifications
  • $wgNotifyTypeAvailabilityByCategory
  • $wgEchoMaxMentionsInEditSummary
  • $wgEchoNotifications
  • $wgEchoCluster
  • $wgEchoPushServiceBaseUrl
  • $wgEchoNotificationCategories
  • $wgEchoWatchlistEmailOncePerPage
  • $wgEchoEnableEmailBatch
  • $wgEchoNotificationIcons
  • $wgEchoSharedTrackingDB
  • $wgEchoSeenTimeCacheType
  • $wgEchoMentionStatusNotifications
  • $wgEchoCrossWikiNotifications
  • $wgEchoOnWikiBlacklist
  • manage-all-push-subscriptions
  • echo-create
Traduza a extensão Echo se esta estiver disponível em translatewiki.net
Problemas Tarefas em aberto · Reportar um erro

A extensão Notifications, historicamente chamada de Echo no código e na documentação para administradores de sistemas e programadores, fornece um sistema de notificação na wiki que fornece ao utilizador alertas e avisos sobre atividades na wiki, tal como outro utilizador mencionando-os numa página de discussão, ou uma edição deles sendo revertida. Outras extensões do MediaWiki podem utilizar 'Notificações' para enviar as suas próprias notificações; Thanks e DiscussionTools são duas das extensões.

Instalação

This extension comes with MediaWiki 1.40 and later, so you do not need to download it. The remaining configuration instructions must still be followed.
  • O utilizador da base de dados deve ter recebido o direito de "REFERENCES" para a base de dados. 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 ).
  • Exporte e coloque o ficheiro, ou ficheiros, num diretório chamado Echo, na sua pasta extensions/.
    Developers and code contributors should install the extension from Git instead, using:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
    
  • Acrescente o seguinte código ao fundo do ficheiro $LocalSettings:
    wfLoadExtension( 'Echo' );
    
  • Execute o script de atualização que irá criar automaticamente as tabelas da base de dados necessárias para esta extensão.
  • If necessary configure at your convenience
  • Yes Pronto – Na página especial Special:Version da sua wiki verifique se a extensão foi instalada.

To allow daily or weekly summary notifications to be delivered by mail (for users that choose that in preferences), the following maintenance script inside the Echo extension directory needs to be run on a daily basis, which can be scheduled in a cron job:

$ php ./maintenance/run.php Echo:processEchoEmailBatch

Configuração

It is possible to use conditional user options to set different notification preferences for new users, without affecting existing users.

Consulte Special:DisplayNotificationsConfiguration para detalhes locais.

Parâmetros

Definições de configuração (predefine definido em extension.json)
Parâmetro Predefinição Comentário
$wgEchoEnableEmailBatch true Whether to turn on email batch function
$wgEchoUseJobQueue false
  • true - Defer web and email notification delivery via job queue.
  • false - Deliver notifications immediately
$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 Mensagem "emailsender" (MediaWiki) Nome para "de" nas notificações por e-mail. Deverá ser definido em LocalSettings.php
$wgNotificationReplyName No Reply Name for "reply to" on email notifications. Deverá ser definido em 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
$EchoMentionsInEditSummaryBots false Whether to allow mentions by bot accounts in edit summaries to trigger notifications (subject to EchoMaxMentionsInEditSummary limit)
$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. Consulte também a classe EchoNotificationController.
$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. Defina para null para desativar.
$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. Defina para null para desativar.
$wgEchoCrossWikiNotifications false Whether to enable the cross-wiki notifications feature. To enable this feature you need to:
  • have CentralAuth for a global user system (T243412)
  • have $wgMainStash and $wgMainWANCache shared between wikis
  • configure $wgEchoSharedTrackingDB
$wgEchoUseCrossWikiBetaFeature false Feature flag for the cross-wiki notifications beta feature

If this is true, the cross-wiki notifications preference will appear in the BetaFeatures section. If this is false, it'll appear in the Notifications section instead.

This does not control whether cross-wiki notifications are enabled by default. Para isso, utilize $wgDefaultUserOptions['echo-cross-wiki-notifications'] = true;

$wgEchoNotificationCategories "Consulte extension.json" Define the categories that notifications can belong to. Categories can be assigned the following parameters. All parameters are optional:
  • priority - controls the order in which notifications are displayed in preferences and batch emails. Priority ranges from 1 to 10. If the priority is not specified, it defaults to 10, which is the lowest.
  • no-dismiss - disables the dismissability of notifications in the category. It can either be set to an array of output formats (see $wgEchoNotifiers) or an array containing 'all'.
  • usergroups - specifies an array of usergroups eligible to receive the notifications in the category. If no usergroups parameter is specified, all groups are eligible.

If a notifications type doesn't have a category parameter, it is automatically assigned to the other category which is lowest priority and has no preferences or dismissibility.

$wgEchoNotificationIcons "Consulte 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. Um exemplo é 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 $wgExtensionAssetsPath.

The value of 'url' should be a URL.

You should customize the site icon URL, which is: $wgEchoNotificationIcons['site']['url']

$wgEchoNotifications Consulte extension.json Define the event types for echo. Event definitions are in the form of 'event-name' => [ ... ].
  • category - defines the category the event belongs to. Predefine para 'other'.
  • group - predefine para 'neutral'.
  • bundle - define which output formats are available for bundling.
  • presentation-model - define which class is used to render notification messages and links for notification panels, special page and emails. It must extend EchoEventPresentationModel.
$wgEchoConfig Consulte extension.json Configuração para EventLogging. Os esquemas individuais podem ser desativados.
$wgEchoPerUserBlacklist null Boolean that enabled Per User Blacklist.

Preferências do utilizador

Definições da preferência (predefine definido em extension.json)
Preferência Predefinição Comentário
$wgDefaultUserOptions['echo-email-frequency'] 0 Com que frequência enviar mensagens eletrónicas, por predefinição:
  • 0 – enviar mensagens eletrónicas para a cada notificação à medida que chegam (por predefinição)
  • -1 – não enviar mensagens eletrónicas
  • 1 – todos os dias
  • 7 – a cada 7 dias
  • ...
$wgDefaultUserOptions['echo-email-format'] Depende de $wgAllowHTMLEmail Preferência predefinida do utilizador para utilizar HTML ou e-mail de texto. Either html or plain-text.
$wgDefaultUserOptions["echo-subscriptions-email-{$category}"] false para a maioria das categorias; depende Preferência predefinida do utilizador para notificar por e-mail para uma determinada categoria
$wgDefaultUserOptions["echo-subscriptions-web-{$category}"] true para a maioria das categorias; depende Preferência predefinida do utilizador para notificar via Web sobre uma categoria específica

Beware that, since MediaWiki 1.42, some default user options may be overwritten by $wgConditionalUserOptions ]]. For instance, even if you set $wgDefaultUserOptions['echo-subscriptions-email-mention'] = false; the default value for this option is true for recent users, because it is declared as such in Echo's extension.json.

Arquitetura

Consulte a secção de arquitetura da página de funcionalidades .

Utilização

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. Por exemplo:

SampleBot
SampleUser

Opção "Menção"

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.

Terminologia

  • notificação - Qualquer aviso individual que e entregue por Echo
  • mensagem - Uma notificação sobre a atividade numa discussão de Flow
  • alerta - Qualquer notificação que não seja uma mensagem

Consultar também