User preferences UI mockups:
https://docs.google.com/presentation/d/1Ocli1ozAlyHPL8YBd2nb5_5fevLXYaFbTLmiC-YZCio/edit#slide=id.gb188dacd48_0_839
I hear there are some patches backing up behind some of the contractor work. The campaign filter features definitely needs to go out but clone campaign could be delayed if needed.
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CentralNotice/+/604279/
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CentralNotice/+/607461/
DoD:
- Review campaign filter feature
- Get patches and feature ready to release in early January.
Based on my and @AndyRussG's review of Campaign Filtering, here's what need to be done:
- additional review as it's been cursory so far
- split out schema into separate patch for deployment
- relabel fields in CampaignType manager UI "label message" and "force selection"
- rename "Campaign displaying" section header added in user preferences
-
add link to CampaignType Manager in Campaign Manager--there is a link in the upper right corner of the screen - rename db field not_campaign_type to be more clear and consistent ("not_type")
- fix tests broken by the first patch
- fix tests broken by the second patch
- fix styling issues brought up in latest comments from DannyS on campaign filter (would be mostly resolved ✱)
- add tests -- we might want more in AllocationTests but for now there's more test coverage
- ask for input from core team about changes to user preferences UI
- smoke test some on the Beta Cluster
- fix issue: in logs, changes to campaign type results in a blank detailed description of the change
- improve functionality around translatable names for campaign types (see these four comments)✱
- use null instead of magic number for no campaign type assigned to a campaign
-
fix use of magic number in CampaignType object to indicate the type is not yet saved to the DBCode removed ✱ -
use divs instead of table for add/edit campaign type form layout (optional)Code removed ✱ -
use OOUI for add/edit campaign type form (optional)Code removed ✱ - numerous miscelaneous minor code issues (variable and method names, whitespace issues, type hints, inline doc, default parameter values, etc.) (would be partly resolved ✱)
-
validate and catch duplicate campaign type names (currently you get an unfriendly DB error if you create a new type with the same name)Code removed✱ -
don't add an extra DB query to every single pageview that reaches PHP (which includes every pageview for logged-in users)Code removed ✱ - allow control over ordering of campaign types in user preferences and CN Admin UI (optional)✱
✱ These issues/tasks would be resolved (or partly resolved, where indicated) by following the simplified config-based approach mentioned here.
- convert to simplified config-based approach
Original RFP/spec that was sent to the contractor:
https://docs.google.com/document/d/1HDODIse0zhWAnUtu5Hmd7did6zofYLN9dwAew55g4RA/edit