Commit graph

86 commits

Author SHA1 Message Date
lwelling 069249cd62 Add a hook to smoothly deal with old user preferences during migration
Catches people who have opted out of old style talk page notifications and opts them out
of equivalent new ones.
Needs $wgRecentEchoInstall = true in LocalSettings.php so it can be turned off when no
longer needed.

The migration has 1 million rows to write on enwiki so will take some time

Change-Id: Ie6201df378bf8df813b3d461ea9a8521d99b1bb9
2013-04-29 16:31:09 -04:00
jenkins-bot 0e671b1c7e Merge "Removing options that belong in other extensions" 2013-04-29 17:14:25 +00:00
jenkins-bot bd590aaab6 Merge "Changing how the enotifusertalkpages user option is handled by Echo" 2013-04-29 10:00:11 +00:00
Matthew Flaschen d3b67e2122 Change icons to use img tags, allowing easier customization:
* Icon can be defined using a path or a URL
* Extensions don't need custom CSS, but add icon through BeforeCreateEchoEvent
* Sites set their notification icon in LocalSettings.php or equivalent

Bug: 46585
Change-Id: Ifc02b653d07de19229dfb2604305e32f3bd595fe
2013-04-29 06:05:40 +00:00
kaldari 5b40cfbc58 Changing how the enotifusertalkpages user option is handled by Echo
If we're using Echo to handle user talk page post notifications,
hide the old (non-Echo) preference for this. If Echo is moved to core
we'll want to remove this old user option entirely. For now, though,
we need to keep it defined in case Echo is ever uninstalled.
Otherwise, that preference could be lost entirely. This hiding logic
is not abstracted since there is only a single preference in core
that is potentially made obsolete by Echo.

Change-Id: I6c8b2143a5fd719486f7e6cbaa3d7635f507ffca
2013-04-28 15:21:05 -07:00
kaldari 00a4bc69f4 Removing options that belong in other extensions
Bug: 47757
Change-Id: Ia8be4967d962176f1e58ee6488f4cc9bfe75b655
2013-04-26 16:28:29 -07:00
lwelling 073ef28599 Set echo preferences for new users after their account is created
Default settings for existing users are intended to be low volume and not annoying
New users need more encouragement and incentive to return

Change-Id: Id37ad8289a5c968ae8be6a8c424a19d6cbc7e071
2013-04-24 21:03:25 -04:00
ebernhardson c999480a65 Hide preference for disabling fly-out notification
Bug: 47562
Change-Id: If295d802f5210ba7493eaff55a4330b8035e506c
2013-04-23 12:16:01 -07:00
Krenair 2e9a1c5fc3 Use slave database to reset notification count on preference change
Per Bsitu's comment on I5244ef9f

Change-Id: Ibfd598fd736808e69877ffb892f3781ff742a630
2013-04-20 16:06:25 +01:00
jenkins-bot 5833846c44 Merge "Add 'Mark all as read' button to overlay" 2013-04-18 18:41:47 +00:00
jenkins-bot 5f21312587 Merge "Email digest header tweaks" 2013-04-18 18:20:57 +00:00
kaldari 9448c6cab0 Add 'Mark all as read' button to overlay
Button is only shown if there are more unread notifications than
fit in the overlay.

To avoid performance issues, this version only works for cases where
the number of unread notifications is less than the maximum count
(99 currently). Otherwise the button to mark all as read isn't
displayed (it's also limited on the server-side for good measure).

Bug: 47092
Change-Id: Ifcb0a436e2b31062741c441cca239d35ddefa0e1
2013-04-18 00:29:36 -07:00
kaldari d4a15e3ee4 New presentation of email notification settings per requirements
We have a new shorter header and add labels for the two options.

Change-Id: If63720afe35f2edfa90b2c74d93fe355abd5da61
2013-04-17 17:44:20 -07:00
bsitu c7922a366c Email digest header tweaks
Plus adding escape to some of the messages

Bug: 47095
Change-Id: I296de4e5ebe92b737837c7ddcf3f631b16a9cf8b
2013-04-17 14:43:31 -07:00
jenkins-bot d9a4bb7bb9 Merge "Pref for showing notifications" 2013-04-17 17:15:51 +00:00
Kaldari 6388779640 Pref for showing notifications
If this pref is turned off, we revert to the old orange bar talk
page notifications. Depends on core change Ifc8fbaf8.

Bug: 46550
Change-Id: If21f3aac51e484c5e077c7f4b5a2218e8b71ed2a
2013-04-17 09:55:05 -07:00
bsitu 5d32291b12 Remove the code the tries to create an invalid notification
Although invalid notification would be checked and not be created, it's better to get rid of any attempt of creating invalid notifications

Change-Id: I4bdbf7e0706b3613c7cf31ab07570fb4d1cdd045
2013-04-15 13:34:24 -07:00
kaldari f8157260ca Making sure notification counts are reset on user option changes
Bug: 47131
Change-Id: I5244ef9f7bf9d1217c0c0df6691d8cf689c47cf5
2013-04-12 15:26:25 -07:00
bsitu d44ed993a2 Add email bundling function to Echo notification
* This patch needs intensive testing on Redis delayed job queue
* This patch is -2 mainly for redis/phpredis are not ready on test/test2/mediawiki

To test this locally, you need to:
* set up Redis and phpredis locally
* add the following to localSettings.php
    $wgJobTypeConf['MWEchoNotificationEmailBundleJob'] = array(
        'class'       => 'JobQueueRedis',
        'redisServer' => '127.0.0.1',
        'redisConfig' => array( 'connectTimeout' => 1 ),
        'claimTTL'    => 3600,
        'checkDelay'  => true
    );
* set $wgMainCacheType to CACHE_DB or memcache
* set $wgEchoBundleEmailInterval to smaller number for testing purpose, 0 to disable email bundling

Change-Id: I9313e7f6ed3e13478cec294b5b8408fe8e941faf
2013-04-11 11:25:14 -07:00
jenkins-bot 20f6ca3dde Merge "Switching to new message scheme for prefs per feature requirements" 2013-04-11 18:18:41 +00:00
kaldari cca427faeb Switching to new message scheme for prefs per feature requirements
Change-Id: I84f440d29d3311c580d3ae5ac5b46c151e051e44
2013-04-11 10:22:18 -07:00
bsitu e40a243d59 remove unused table and columns
1. echo_subscription
2. echo_event.event_timestamp

Change-Id: I9f6d4041b16c6d1d0414ee8e81536a59d0aba3d4
2013-04-09 10:56:28 -07:00
bsitu 6a3624b0e4 Add web bundling function to Echo notification
* add web bundling feature
* unify event_timestamp with notification_timestamp
* remove echo_subscription
* update article_link to page_link notification with new logic
* remove duplicated function from MWDbEchoEmailBatch since it's defined in parent class

Change-Id: I2fa91c44edb020209b468fe13f894d9db3732e69
2013-04-04 10:53:46 -07:00
Kaldari 556ad065f2 Merge "Initial version of user-right notification" 2013-03-21 17:49:24 +00:00
bsitu efebd39118 (bug 45337) reverts/rollback should not trigger link notif
Change-Id: I7ca7687f271aae53a000affdc10c1ed3758dcb83
2013-03-18 14:56:56 -07:00
bsitu c4039b757b Initial version of user-right notification
Change-Id: I1b2c618df26084068edfb568de314809d8af6702
2013-03-18 11:19:26 -07:00
bsitu 345fdb81e2 (bug 46051) mentioned users should not be as object in database
Change-Id: Id96ade333d8150fdc357db47cba9a609f9e7e108
2013-03-13 12:30:20 -07:00
bsitu fd72ce7606 Fix eventlogging schema check logic
ResourceLoaderRegisterModules Hook is triggerd on HTML generation, which happens after POST action.  We should move the logic of checking if a schema is enabled out of this hook.

Change-Id: Ic5696aeca378d13d04ce901ce56a2d0e8a9ab802
2013-03-06 13:36:51 -08:00
Kaldari 8357f4bd75 Implementing new prefs system for Echo
Change-Id: Id745ed6cf1c92695569597fab6ea662bac8c76c0
2013-03-05 12:20:17 -08:00
jenkins-bot 95f1d50c18 Merge "Add first version of EventLogging schema to Echo" 2013-03-03 03:45:46 +00:00
bsitu fc5c341692 Add first version of EventLogging schema to Echo
Change-Id: I4b6033ffc2ec8d1597f2b447f100c58a8c3a7f3e
2013-03-01 15:53:07 -08:00
Reedy 62a433573f Numerous bits of method parameter documentation
Change-Id: Ie4b2657b5e010311b779aa587aa7fa9fc3f19abb
2013-03-01 10:56:58 -08:00
Andrew Garrett dc6a3cb6d0 Add a "mention" notification
Any user whose user page is linked in a comment on a talk page will get a notification of that.

Weaknesses: Currently this mention notification is additive.
We may want to restrict it to only cases where the user would not
otherwise be notified of the comment

patch set 3:
	* user + instead of array_merge for merging subscription users
	* rename $user to $agent to avoid name confilict in generateMentionEvents()
	* add check for possible null object
	* users should not receive 'mention' notification on their own talk pages

patch set 4:
	* add more descriptive comment
	* check for empty notification list before creating mention event

patch set 5:
	* Fix a parse error, change [ to {

patch set 10:
	* rebase

patch set 11:
	* adding flyout messages, updating params for other messages

Change-Id: I76b80db1f325d9569f36c506d14c8c875bba4a34
2013-02-24 20:38:11 -08:00
Kaldari af06e26de6 Adding dismiss functionality to special page
Includes new web preferences for Echo

Also adding ability to set dismissability per notification type

Still need to arrange subscription options into a friendly format

Still need to add dismiss functionality to flyout

Change-Id: I484a24b424e69be3640e63b76f82735edae6f13a
2013-02-12 11:33:50 -08:00
bsitu 78ad57d43a Abstracting MySQL in Echo so storage type can be swapped easily
Patch Set 6:
	* remove redundant JobQueueDB because it's the default
	* remove extra ;

Change-Id: I25dc0203ed5be1e4989242a87f4fde9c8799de28
2013-02-08 10:34:50 -08:00
Kaldari 6e69812e3a Merge "Redirect should not trigger 'article-linked' notification" 2013-01-17 18:40:43 +00:00
bsitu f65a3842fd Update ArticleSaved hook to use correct request object
'Revert' via the API apiEditPage.php does not trigger reverted notification, this is probably due to the fake request object swap inside this API, which is making the param wgUndidRevision with empty value inside the hook, replace $user->getRequest() with $wgRequest solves this problem.

Change-Id: I5d12d31f370f2633e85d6533242da26ece950630
2013-01-16 17:46:23 -08:00
Kaldari c3e9ad0534 Support for limiting notifications to a specific user group or groups
Change-Id: I396bb6cb540bb6e8bdc190ddb1b67e15166c6852
2013-01-16 17:22:10 -08:00
bsitu 4cf5adf25f Redirect should not trigger 'article-linked' notification
Change-Id: I2d38a804f23a0e9b9d578f8d6e69b10d20cf24a2
2013-01-15 16:13:58 -08:00
bsitu 39416e503d (bug 43701) - LinkedPage was linked by 127.0.0.1 from page
If multiple pages are transcluding a page, a link update on the page being transcluded would trigger notifications for all the transcluding pages, we only need to fire the notification for the page being transcluded.

The solution in this patch seems to work but I have not fully investigated all possible scenarios. -2 for now

Change-Id: I6932ffb2e5dba3da40db17bd37ce2cc6cb8aee17
2013-01-08 15:57:28 -08:00
Kaldari 320d044b90 Adding More Info link to Special:Notifications
Also revising some of the formatting, per Vibha.

Change-Id: Id8415c898e81f98c3eb1599ef5980d74ba509081
2013-01-08 14:23:24 -08:00
Kaldari cb45681f05 (bug 43629) inlcude all content namespaces, not just NS_MAIN
Change-Id: Ia1998a12f182805955aaab143fa6072b91cb6fd6
2013-01-07 13:48:18 -08:00
bsitu a5cc1c6836 (bug 43625) - Strange notification
pages with 0 id should be filtered out

Change-Id: Idfccc3e7c430e929f7ef312548ad92e7d9f40dfe
2013-01-04 11:58:30 -08:00
bsitu 4a1cb54b17 limit article-linked notification to main namespace only
Change-Id: I814a6e8c500e3eb761106c131d70a229ee4f0989
2013-01-03 17:36:12 -08:00
bsitu 961f86bd33 add article-linked notification
Patch Set 6:
	1. use 'linked' icron
	2. update message from cross-referenced to cross referenced

Change-Id: I8c70454e59b5f9f86f92825cfc75dcf5d9bcb336
2013-01-02 10:40:39 -08:00
Krenair 4f8bab2e67 (bug 43446) Sort event preferences by priority
Change-Id: Ib6b4745676bb3487a2ed7418446d6d80a156950b
2012-12-28 22:16:34 +00:00
Bsitu bfdd733e7c Merge "Remove redundant preference for talk page emails" 2012-12-20 00:30:13 +00:00
Kaldari ab1d910abe Remove redundant preference for talk page emails
Change-Id: I725075abef309d8626979ebd010794aafd75aada
2012-12-19 15:22:05 -08:00
bsitu ceac07b7a0 Disable standard user talk page notification
Echo would send its own notification, it is confusing to send both to the user

Change-Id: Ib9f22ec0a94fa2bc4ab3ac4ac846cec871445829
2012-12-19 14:35:45 -08:00
bsitu 2813576364 Only show email digest preference options if batch is enabled
Change-Id: I5b34ded16afad0d2bd50661bfae06dc7da7e48e9
2012-12-14 12:49:40 -08:00