افزونه: اکو

This page is a translated version of the page Extension:Echo and the translation is 14% complete.
Outdated translations are marked like this.
This extension comes with MediaWiki 1.40 and above. بنابراین شما مجبور نیستید آن را دوباره بارگیری کنید. با این‌حال، شما هنوز هم باید دستورالعمل‌های دیگر را دنبال کنید.
راهنمای افزونهٔ مدیاویکی
Notifications
وضعیت انتشار: پایدار
انجام Notify
توضیحات یک سیستم اطلاع رسانی درون-ویکی را ارائه می‌دهد که می‌تواند توسط افزونه‌های دیگر استفاده شود.
نویسنده(گان)
آخرین نسخه: به‌روزرسانی‌های پیوسته
سیاست سازگاری 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
بارگیری
  • $wgEchoNotificationCategories
  • $wgEchoMaxMentionsCount
  • $wgEchoPerUserWhitelistFormat
  • $wgEchoPushMaxSubscriptionsPerUser
  • $wgEchoMentionOnChanges
  • $wgEchoPollForUpdates
  • $wgEchoUseJobQueue
  • $wgEchoBundleEmailInterval
  • $wgEchoEnableApiEvents
  • $wgEchoMentionsOnMultipleSectionEdits
  • $wgDefaultNotifyTypeAvailability
  • $wgEchoSecondaryIcons
  • $wgEchoCacheVersion
  • $wgEchoMaxUpdateCount
  • $wgEchoNotifiers
  • $wgEchoAgentBlacklist
  • $wgEchoSharedTrackingCluster
  • $wgEchoEnablePush
  • $wgEchoPerUserBlacklist
  • $wgEchoEnableEmailBatch
  • $wgEchoWatchlistNotifications
  • $wgNotifyTypeAvailabilityByCategory
  • $wgEchoMaxMentionsInEditSummary
  • $wgEchoNotifications
  • $wgEchoCluster
  • $wgEchoPushServiceBaseUrl
  • $wgEchoWatchlistEmailOncePerPage
  • $wgAllowArticleReminderNotification
  • $wgEchoNotificationIcons
  • $wgEchoSharedTrackingDB
  • $wgEchoOnWikiBlacklist
  • $wgEchoSeenTimeCacheType
  • $wgEchoMentionStatusNotifications
  • $wgEchoCrossWikiNotifications
  • $wgEchoEmailFooterAddress
  • manage-all-push-subscriptions
  • echo-create
Quarterly downloads 138 (Ranked 40th)
Public wikis using 2,698 (Ranked 187th)
Translate the Echo extension if it is available at translatewiki.net
Issues Open tasks · گزارش یک مشکل

افزونهٔ اکو یک سیستم اعلان درون-ویکی را ارائه می‌دهد که می‌تواند توسط سایر افزونه‌ها استفاده شود. Thanks و ابزارهای بحث و گفتگو دو افزونهٔ مدیاویکی هستند که از پژواک استفاده می‌کنند.

راه‌اندازی

  • به کاربر پایگاه داده باید حق «مرجع» برای پایگاه داده اعطا شده باشد. 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 ).
  • Download and move the extracted Echo folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
  • کد زیر را در انتهای $LocalSettings خودتان اضافه کنید:
    wfLoadExtension( 'Echo' );
    
  • اسکریپت به‌روزرسانی اجرا کنید تا به طور خودکار جدول‌های پایگاه داده‌ها ضروری که این افزونه نیازمند دارد را ایجاد کند.
  • If necessary configure at your convenience
  •   انجام شد – به Special:Version در ویکی خودتان بروید تا مطئمن شوید که افزونه با موفقیت نصب شده است.

برای اجازه دادن به اعلان‌های خلاصه روزانه یا هفتگی برای ارسال از طریق پست (برای کاربرانی که آن را در تنظیمات برگزیده انتخاب می‌کنند)، اسکریپت زیر در فهرست برنامه افزودنی اکو باید به صورت روزانه اجرا شود، که می‌تواند در یک کار cron برنامه‌ریزی شود:

maintenance/processEchoEmailBatch.php

پیکربندی

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

پارامترها

Configuration settings (defaults defined in extension.json)
Parameter Default Comment
$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 "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:
  • 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. For that, use $wgDefaultUserOptions['echo-cross-wiki-notifications'] = true;

$wgEchoNotificationCategories See 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.

اگر یک نوع اعلان‌ها پارامتر دسته‌بندی نداشته باشد، به‌طور خودکار به دسته other اختصاص داده می‌شود که کمترین اولویت را دارد و هیچ اولویت یا رد کردنی ندارد.

$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 $wgExtensionAssetsPath.

The value of 'url' should be a URL.

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

$wgEchoNotifications See 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. Defaults to 'other'.
  • group - defaults to '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 See extension.json Configuration for EventLogging. Individual schemas can be disabled.
$wgEchoPerUserBlacklist null Boolean that enabled Per User Blacklist.


ترجیحات کاربر

Preference settings (defaults defined in extension.json)
Preference Default Comment
$wgDefaultUserOptions['echo-email-frequency'] 0 How often to send emails, by default:
  • 0 - send emails for each notification as they come in (default)
  • -1 - do not send emails
  • 1 - each day
  • 7 - each 7 days
  • ...
$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


معماری

به بخش معماری صفحه ویژگی مراجعه کنید.

استفاده

Notification negative list / positive list

There are occasionally specific users, typically bots, which perform maintenance tasks that should not generate notifications. برای رسیدگی به این موارد، کاربران می‌توانند به صورت سراسری از فایل LocalSettings.php (یا InitialiseSettings.php در مورد ویکی‌های WMF) در لیست سیاه قرار گیرند:

$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." ممکن است برای برخی از کاربران واضح نباشد، اما این اعلان خاص تنها زمانی کار می‌کند که شخصی که به صفحه کاربر دیگر پیوند می‌دهد، (~~~~) پست را نیز امضا کند.

After installation of the extension, a new tab "Notifications" is created in a user's Special:Preferences page. در قسمت «اطلاع رسانی به من در مورد این رویدادها»، در مقابل گزینه «اشاره»، هاورباکس می‌گوید: «وقتی شخصی به صفحه کاربری من لینک داد، به من اطلاع بده». اگر مدیری احساس می‌کند که شرط امضای پست در این متن راهنما واضح نیست، می‌توان آن را با تغییر متن در صفحه MediaWiki:Echo-pref-tooltip-mention ویکی اصلاح کرد.

واژه شناسی

  • 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

همچنین ببینید