Commit graph

41 commits

Author SHA1 Message Date
Roan Kattouw 0807c3c5ad NotifUser: Refactor getNotificationCount() and friends, add caching for global counts
Previously, getNotificationCount() only looked at local notifications,
and foreign notifications were added in separately by getMessageCount()
and getAlertCount(). This didn't make any sense and resulted in
counter-intuitive things like I4d49b543.

Instead, add a $global flag to getNotificationCount(). If $global=false,
the local count is returned as before, but if $global=true, the
global count (=local+foreign) is returned. If $global is omitted,
the user's cross-wiki notification preference determines which is returned.

Update getLastUnreadNotificationCount() in the same way, since it had
the same issues.

Also add caching for global counts and timestamps, using a global
memc key.

Bug: T133623
Change-Id: If78bfc710acd91a075771b565cc99f4c302a104d
2016-05-02 16:16:57 -07:00
Stephane Bisson 9d6e6528ba Support generating sample notifications by types
Also added the force (-f) option to
bypass the confirmation. Very useful
when using the script in a loop.

Change-Id: I98c3e0408033903f8e2fb0afab773d4952a4e6d3
2016-03-02 15:04:56 -05:00
Stephane Bisson 74879c39fb Truncate secondary link labels
Bug: T121822
Change-Id: I3e36a6cd4bc8da96879158e1d7b65fd3a1d582fb
2016-02-18 06:55:36 -05:00
Stephane Bisson 467eeaf2e9 generateSampleNotifications.php: Generate OpenStackManager notifications
Change-Id: Iaddfa08e42735fd6befbe4c7b3e54b3f4e7f62d9
2016-02-15 19:55:47 +00:00
Stephane Bisson 88b16a0c81 Generate bundled page-linked notifications in test script
Change-Id: I6414c920e3a29ea5048819433aa86f41d8f54e69
2016-02-12 14:45:32 -05:00
jenkins-bot 9c7c869a29 Merge "Generate CX notifications in maintenance script" 2016-02-12 19:38:12 +00:00
Stephane Bisson 442f812774 Add subject to email notification body
Bug: T121831
Change-Id: Ib1a9212202d2c84de8d968d043f65e24b2d94fae
2016-02-10 12:34:26 -05:00
Stephane Bisson 522a79393d Generate CX notifications in maintenance script
Change-Id: Iec2f4b9d0815da1bf8ccdd5610f403133eeb4262
2016-02-08 10:37:49 -05:00
Stephane Bisson cbe602ee64 Generate sample notifications
Maintenance script that generates sample
notifications for Echo.

Change-Id: I5c88920a417a04cfd06d281f23b4c77368091776
2016-01-28 10:45:57 -05:00
Roan Kattouw 9f7fba935f Add progress markers to backfillUnreadWikis.php
Change-Id: I43fe3d9998b5ebf3ddbec9ced0394c70293b6f18
2016-01-18 19:14:34 -08:00
jenkins-bot 027e9b7431 Merge "Backfill echo_unread_wikis table" 2016-01-11 22:31:38 +00:00
Aaron Schulz 576303e03a Use Maintenance DB transaction methods
Change-Id: I0acde61f57240c95d8f2b8afd55bffbe7b5b98fb
2015-12-31 15:12:05 -08:00
Matthias Mullie ecd150888e Backfill echo_unread_wikis table
Bug: T119523
Change-Id: I13a7d349e7e3a66eb4e9ea3b26578fdd877e83a6
2015-12-16 19:52:16 +01:00
Geoffrey Mon 13948c949f Replace EchoBatchRowUpdate with BatchRowUpdate
Also removes tests for the class.

Bug: T119253
Change-Id: I4c0d7187c2b847297dd0867faecba26185cfba37
Depends-On: Iccafbbdb06711463fee0f30a11326c7771df30e2
2015-12-16 16:36:59 +00:00
Thiemo Mättig 66d5e17a25 Fix broken and incomplete PHPDoc tags
Change-Id: I0c8928a2dbf67cb15841fae6cc55c363357ec265
2015-12-14 11:03:09 +01:00
James D. Forrester 1e01328018 build: Enable phpcs rule 'MediaWiki.VariableAnalysis.UnusedGlobalVariables' and make pass
Change-Id: I1af3e34531ff9d02183a7ad0052712d9f137609c
2015-10-29 17:25:51 +00:00
James D. Forrester a49e3a592e build: Enable phpcs rule 'Squiz.Classes.ValidClassName.NotCamelCaps' and make pass
Change-Id: I3d8b9c04ef2be3fe456c2c66bb10afa11ba0cd45
2015-10-29 18:24:45 +01:00
James D. Forrester 852ddaf903 build: Enable phpcs rule 'MediaWiki.Usage.DirUsage.FunctionFound' and make pass
Change-Id: I05c9299944a5a8e215ecb2996f1a3846e257e12c
2015-10-29 12:57:40 +01:00
James D. Forrester becbea0941 build: Enable phpcs rule 'Squiz.WhiteSpace.LanguageConstructSpacing.Incorrect' and make pass
Change-Id: I9379c18263474ed13921791b920c7b06e58a84ad
2015-10-29 12:56:33 +01:00
Siebrand Mazeland 33126b69aa Update formatting
In preparation of Code Sniffer based updates.

Change-Id: Id5d43332b44a37665d57dc24ef8c432bc65b2f6a
2015-10-03 23:28:54 -04:00
Alex Monk 6157c1e7bb Make processEchoEmailBatch check that Echo is actually enabled before doing anything
Like CentralAuth does in createLocalAccount.php. In large wiki clusters where
you want Echo on for some wikis and not others, but don't want to keep a list
of Echo wikis (say, you want to make it on by default), this makes it possible
to safely run the script even on wikis where Echo is not enabled, where it will
just do nothing.

See also Ibde4c0c1, I741d2485

Bug: T59375
Change-Id: I3537206fccb459eb80de9fd61d2213dfb525c5f0
2015-05-31 13:25:37 +01:00
Stephane Bisson 3bfa823922 Maintenance script sends notifications immediately
Update the "processEchoEmailBatch" to allow sending all
notifications immediately even if configured to be
daily or weekly.

Change-Id: I6ebeea86708247700d1950e0f6471c7b3d1fecd2
2015-05-27 14:02:51 +02:00
bsitu b35f27c291 Delete invalid records from echo_target_page
Remove the records:

* If a page is no longer valid

* If a notification somehow has been read

* If a notification is no longer a bundle base and has not been removed

Change-Id: I282568691d6649c6e3263aea598c3bba29119a29
2014-08-19 11:34:01 -07:00
bsitu 76d8822b84 Remove invalid maintenance scripts
These maintenance scripts have never run before and will never run in
the future.  We decided that we don't understand user_properties table
enough to mess with it, and we went with another simpler approach instead

Change-Id: Ic33375a579267aca40a54d74f839fee042afc24f
2013-07-03 12:09:45 -07:00
Erik Bernhardson f38ce97efd Database updates for respecting oversight within Echo
Provides the first step of adding and populating a new database field
for Echo oversight deployment.  The new field is populated via a
maintenance script and Event::loadFromRow will accept both new and old
results.  Everything will still run when the 2 now unused fields are
later dropped from the db.

Bug: 48059
Change-Id: I24d4b61a061f94ed9aaaa6087f33b2ab37f773cd
2013-06-10 14:52:18 -07:00
bsitu 11aa91f1a0 Fix the maintenance script
It should wait for slave during each batch update

Change-Id: Iba8b172016317236981c11b4f9af9bb1723516ec
2013-05-03 18:52:05 -07:00
bsitu 5df153591d Add extra db slave wait to digest email cron
Change-Id: Iaa5fc89750b2a4bbe5d52bb9e75c2ac90fc3304b
2013-05-02 14:12:40 -07:00
kaldari 95c9825b83 Adding maintenance file for updating user caches after CopyExistingEmailPreference
Change-Id: If938e352e4aaa44d1e9e0718cc1bece26c7a7f74
2013-04-29 18:40:12 -07:00
lwelling 7c3bd0f3a0 Maintenance script to copy the preference of existing users who have opted out
of talk page email notifications to the analogous setting in the Echo version of
talk notifications

Change-Id: I5cdaf261d042f3586d2d02fed672ee35df5a9b90
2013-04-29 16:16:19 -04:00
kaldari 1d52f9c835 A maintenance script for pre-emptively updating email notice option
This script is designed to be run prior to the Echo deployment.

Change-Id: I66f532f21183109c6c3c997fa0e666cb19bfc832
2013-04-29 11:44:44 -07:00
Reedy adffeae19d Move maintenance scripts to maintenance directory
Left fixme comment

Change-Id: I30207558d21bb73c6caa6dd722016bc51b257395
2013-04-22 22:52:21 +01:00
jenkins-bot 4ee55737e8 Merge "Let maintenance script wait for slaves on the correct cluster" 2013-04-11 17:57:34 +00:00
Matthias Mullie 836aae69d2 Let maintenance script wait for slaves on the correct cluster
Change-Id: I45872e0912ed5949586a15ae77123c8f1bb6151c
2013-04-11 10:34:20 -07:00
jenkins-bot 7049e0452b Merge "remove unused table and columns" 2013-04-11 17:17:32 +00:00
bsitu 2be8a547a0 Add external db support to Echo
Change-Id: I84b0d904795d858d88d8e52c22f00d81c0e81303
2013-04-09 17:59:17 -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 3ec54376a5 Setting up preferences for Echo, adding comments for some functions
Removing watchlist features that are now out of scope

Change-Id: Icbc35a4204ed89fe6c3bfdd1fb33c525ef5dc75c
2012-12-03 11:54:34 -08: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 4ae8929ebe Add a maintenance script to convert MediaWiki watchlists into Echo subscriptions
Change-Id: I63f5cc2fccaa43becc6b1c1f88633eb2f9ec38f1
2012-06-08 15:32:14 +10:00