Commit graph

54 commits

Author SHA1 Message Date
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
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
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 841d958bfb Merge "Disabling notification dismiss interface for now per Fabrice" 2013-04-11 17:10:43 +00:00
kaldari e641d6f7c7 Disabling notification dismiss interface for now per Fabrice
Notification categories can still be unsubscribed to in the prefs

Change-Id: I91046f840add2cd6e02b0b91078fd2ac377ca871
2013-04-10 17:22:40 -07:00
jenkins-bot 8f77e67e6f Merge "Making agent param logic consistant" 2013-04-10 17:32:47 +00:00
bsitu cbd88322f2 Add default params to avoid massive if/else block
Change-Id: I966d16525220565e805fda582c5f88a7978faa37
2013-04-05 19:33:01 +00: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
jenkins-bot e4483d8130 Merge "Some cleanup to Formatter" 2013-04-04 17:48:24 +00:00
Kaldari 002d816de1 Merge "Merge the text of the welcome message into the title." 2013-04-04 17:40:19 +00:00
bsitu 8a02df15c5 Some cleanup to Formatter
* Move dismiss checking logic to event
* Remove unnecessary variables

Change-Id: If224fe6d668788e779109ee96ac28d44faa4b41b
2013-04-02 16:51:14 -07:00
Matthew Flaschen 54af0449d8 Merge the text of the welcome message into the title.
Change-Id: I3422cabe776e84c2231b1212329067fc5b075143
2013-04-02 18:17:20 -04:00
kaldari 1ec788babf Making agent param logic consistant
It doesn't make sense to create 2 tokens for the i18n message in one
case and only 1 token in another case. The current i18n messages are
designed to handle only 1 token for agent (for both grammar and display).

Change-Id: I7ab6b5a7b6731e60d0ea6e9e590c15039fdc4459
2013-03-27 17:17:35 -07:00
kaldari a9f3e3b787 Moving basic titlelink param handling to the parent formatter class...
...since the logic for handling it is there already.

Change-Id: I7dab19caf07f770befb2969eefd0f2ab3337bd94
2013-03-27 15:47:54 -07:00
bsitu 2d0e5ee536 Consolidate messages and fix dismiss title
1. Dismiss title should be based on $event->getCategory() instead of $event->getType()
2. Remove various echo-email-batch-category-header-* messages
3. update echo-dismiss-title-* to echo-category-title-*

Change-Id: I02fc85072f3d5967668c94eb28c8ecff606023d0
2013-03-21 11:22:28 -07:00
bsitu 5c701f80ef Add getCategory() method to event object
Since every event is tied to a category, it's better for event object to have it as a member method

Change-Id: I911415284486bb11d13d91366340c5c330317c34
2013-03-18 16:30:39 -07:00
bsitu 9b1b6b09f1 Keep instance variable 'type' the same visibility as the others
1. Keep it as protected like the rest of the variables and there is an accessor method getType() for external access

2. Add some more documentation

Change-Id: I26b20e6b211a7dbfa96cf57eb87621698015646e
2013-03-14 12:14:43 -07:00
Kaldari 1c9f078ed4 Fixing bug with links in flyout caused by change I76b80db1
Flyout links were being displayed as raw URLs rather than regular links.
Likely caused by a bad rebase merge.

Change-Id: I96b1db67fa919d282ae9abfbd9c039473d400303
2013-03-12 13:53:09 -07:00
bsitu 5526c24375 extract payload from generic format method
This will allow 3rd parties to define their own payload for notification

Change-Id: If3a7c1d7d51beb96379af46617e15f76a32e6c05
2013-03-06 19:12:54 -08:00
Kaldari 1e23f03827 Merge "Add more documentation and code cleanup" 2013-03-06 01:35:12 +00:00
bsitu 85aa4a20a6 Add more documentation and code cleanup
Change-Id: I3bbdd524fdb882f5edd0a0bf5b1efe3321949253
2013-03-05 13:24:03 -08:00
Kaldari 8357f4bd75 Implementing new prefs system for Echo
Change-Id: Id745ed6cf1c92695569597fab6ea662bac8c76c0
2013-03-05 12:20:17 -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
Bsitu 567e11bb14 Merge "Fixing notification type to be 'web' in controller" 2013-02-14 20:13:01 +00:00
Kaldari 6347618db5 Fixing notification type to be 'web' in controller
Change-Id: Iab077a77aa75a6ff0cf03acecca38403595dda93
2013-02-14 12:07:23 -08:00
Kaldari 16331eab92 Adding dismiss functionality to flyout overlay.
Change-Id: Ibfbdb2a9f170e1d9b30b50e8639aee25101e71d6
2013-02-14 11:01:03 -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
Kaldari 05e186c7a3 Setting up flyout formatting as a separate formatting option
This is replacing the implementation I did for 'html-light'.
The reason html-light doesn't work is that we don't have any way
of reliably determining which parameter should be the one that is
linked to in the notification title (flyout notifications are only
supposed to have one link). With this system, the notification
definer can specify a separate message/params combination to use
specifically for the notification flyout. If they don't specify
these, it falls back to the normal title message/params.

Change-Id: I35394849cf99307eba4a76e079333d19514fdb5d
2013-01-08 09:53:31 -08:00
Kaldari d6ad22ed81 Separating html and html-light formatting for notifications
Change-Id: I388b8bbcce741005b34b87d7331e22d442ef1c9b
2013-01-02 17:52:07 -08:00
Kaldari 150e7078a3 Allow edit summaries to be parsed or stripped.
Change-Id: I810bee6353697c7b92aee914b4621372858834dd
2012-12-18 16:50:28 -08:00
bsitu 426c303e1f Email copy update
Change-Id: If7892289f3baf938e97b3a70b30a402468741c78
2012-12-17 17:52:24 -08:00
Kaldari 24d6ae2758 Merge "Initial check-in for email batch" 2012-12-13 17:59:17 +00:00
bsitu 6b8571403a Initial check-in for email batch
patch set 3:
	* add gender support to various messages
	* tweak variables a little bit, e.g. move class variables to function local variables
patch set 4:
	* update various email to e-mail in i18n file
	* add support to process only valid echo events
	* add global email footer
	* add the new table schema to core schema file
patch set 5:
	* remove trailing white space
	* add missing semicolon to return statement in Notifier::notifyWithEmail()
patch set 8:
	* some change based on newest feature requirement

Change-Id: I3298617dab4c04c4d6d486469120fc2d0c986b66
2012-12-12 12:00:13 -08:00
Kaldari 52ee8cd952 Adding placeholder and trashcan icons
Change-Id: I589032ae32ec67f0cfca46af98a27654b4ddd672
2012-12-11 19:27:34 +00:00
Kaldari ae7d11c40f Formatting work on overlay
Change-Id: I84a8d8e8259da65b922170b9a63150d0039dfb20
2012-12-07 12:04:19 -08:00
Kaldari 48b73cd131 Making sure the user's language is used regardless of context.
Plus a couple whitespace fixes.

Change-Id: Ifb5815874956738c29ec7cb279e0e72107a04edc
2012-12-05 20:20:28 +00:00
Kaldari 7e9a35107b Allowing notifications to support multiple predefined components in the payload.
Payload components can include edit summary, edit snippet, welcome message.

This replaces the older 'content' system which constructed a payload
from an arbitrary message + parameters (but only supported a single
message).

Change-Id: I9a5e1d69f0c8296bb2bb79cb3f26e67aa34592bb
2012-12-05 10:31:41 -08:00
Kaldari 1124538d8a Merge "Add global default email footer message" 2012-11-30 22:52:19 +00:00
bsitu 3105444b9f Add global default email footer message
patch set 3: change emails to e-mails
patch set 4: make email-footer a parameter for email-body, this gives more flexibility so the footer can be defined directly inside email body or a separate message.
patch set 5: update email copy, still waiting for legal to finalize, :(
patch set 6: update email copy, remove whitespace, update preference link, the copy is finalized, :)

Change-Id: Ia5e8336f1c142c8f040efd0174696c7952c391a9
2012-11-29 13:20:29 -08:00
Kaldari 1c2a76ae22 Adding comments and fixing some incorrect comments
Change-Id: Iab1be6ad8700630f2cf3f97b5d5edd542f1c85ec
2012-11-26 18:20:53 -08:00
bsitu b47980ca7a Fix a typo in array key
email-subject-params should be email-body-params

Change-Id: Ifdd2551a153756f5146cab074903c5822a89661d
2012-10-24 11:12:06 -07:00
Kaldari a202fd8a12 (bug 41332) syncing params between child and parent methods
Change-Id: Icaec6ad0b332a2bd2b40d849e2d377d24dab6872
2012-10-23 15:03:06 -07:00
Siebrand Mazeland 3a43ea2e05 Maintenance for Echo extension.
* Update docs.
* Remove unused local variables.
* JSLint/JSHint suggested updates.
* Merge CSS lines.

Change-Id: Ib2a2e8129d5ff8aca6c612a39d22698f078df9d5
2012-10-06 19:31:31 +00:00
Siebrand Mazeland 69d91fa1b6 Update documentation and deprecated methods.
Basically having fun with the code analyzer.

Also:
* remove unused local variable assignments
* missing return values
* CSS optimizations.
* Initialize possible unset variables.

Change-Id: I77aa08ecb48eeda08f14dc38d7f35d57ea9fa110
2012-09-02 11:30:38 +02:00
Siebrand Mazeland 950f74eba8 Follow-up I2c10cb69: Auto-formatted using IDE.
Change-Id: Iedeaca3c31195a5cf7df8dd38d6332cfabffcc67
2012-08-31 23:50:46 +02:00
Krenair 9559105b59 Use whitespace between function parameters and the brackets.
Change-Id: I2c10cb69f1f1726b63d25579c6a35c882cc1fe7e
2012-08-30 17:04:39 +01:00
Andrew Garrett 72cae969ac Merge "Echo: Change parsed() to text() for email notifications" 2012-08-02 18:47:48 +00:00
Andrew Garrett e601448b46 Echo: Change parsed() to text() for email notifications
Change-Id: I53ab07bf845808776e54a1cfb473e0d74b1a3295
2012-08-02 11:47:03 -07:00
Andrew Garrett f713fad11c Echo: Make sure timestamps are shown for entries without content
Change-Id: Ie8f1758aa24ebf8e6dfe56fde92a40b340218052
2012-08-02 11:18:25 -07:00