User:Daniel Kinzler (WMDE)/MCR-StorageLayerTesting
Patches to be tested
edit- PageUpdater: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/405015
- RevisionStore: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/416465 (which needs https://gerrit.wikimedia.org/r/c/mediawiki/core/+/406595)
On the mcr-full VM, there is now a branch called McrStorageLayerTest that has these patches applied. We probably want that branch on gerrit, too, so it can be deployed on testwiki.
PageUpdater test plan
editDaniel will do
edit- edit page:
- page creation works Done, updates link tables Done, updates page count Done
- page editing works Done, updates link tables Done, updates page count Done
- undoing an edit sets the undid ID Done (tag is set. The ID is not recorded anywhere at the moment.)
- minor edit sets the flag Done
- test bot edit sets the RC flag Done
- edit conflict is automerged when possible Done
- edit conflict GUI works when automerge not possible Done
- null edit works (how? use {{CURRENTTIMESTAMP}}, see https://dev-mcr-full.wmflabs.org/wiki/Time.) Done
- file upload:
- new file: Done
- existing file: Done
- rollback Done
- page move: null revision in moved page Done
- undelete
- full page Done
- revisions of an existing page Done
Gergő will do
edit- watchlist email notification Done
- edit stash works (how? using the debug log, there is a StashEdit channel + use objectcache channel with cache set to debug mode) (cache hit + cache miss, caching of AF + spam blacklist check) Done
- changing content model works (wikitext to JS and back), change to model where content is invalid is handled Done
- importing a revision works, updates page count Done
- double redirect fixer: run fixDoubleRedirects.php --async --title <title> Done
- AbuseFilter: test added link filter, test AF log Done
- ConfirmEdit: test added link captcha - not working on master either, maybe misconfigured?
- Echo:
- test reverted notification - PEBCAK, need to retest
- test talk page edit notification Done
- test Flow watched edit notification
- Flow: converted user talk page to use Flow, verify new revision saying it has been converted, verify user does not get new message notice Flow history throws exception [2]; also, archiving the old talk page fails. Probably unrelated issue with restbase not working.
- NewUserMessage: test welcome message Done
- TemplateData: save page with valid and invalid TD transcluded Done
- Translate: set wgTranslateUsePreSaveTransform to false, test there is no PST when messages are saved Done
- installer: main page is created Done
- EventBus: check events
mediawiki.page-create
,resource_change
(withnull_edit
tag),mediawiki.revision-create
Done (->/vagrant/logs/eventbus-debug.log
) - hack something up to check missing /unclear hooks (ArticleEditUpdateNewTalk, ArticleEditUpdates, ArticleEditUpdatesDeleteFromRecentchanges, NewRevisionFromEditComplete)
PageUpdater entry points
edit- EditPage (variations: undo, create vs. update, minor edit, bot edit, conflict, null, stash)
- LocalFile: upload when description page does not exist
- Installer: main page creation
- DoubleRedirectJob
- WikiPage::commitRollback
- SpecialChangeContentModel
- Translate: lots of different uses
- Flow: lots of different uses
- MassMessage
- NewUserMessage
also Wikibase, BlueSpiceFoundation, SocialProfile, SemanticMediaWiki, LiquidThreads, CentralNotice, SecurePoll, JADE, FlaggedRevs, PeriodicRelatedChanges, PageForms, PageSchemas, DynamicPageList, EtherEditor, FanBoxes, FileImporter, FirstSteps, Athena, BlueSpiceGroupManager, Form, GWToolset, BlueSpiceSMWConnector, HAWelcome, ImageRating, Babel, LinkFilter, CheckUser, MOOC, MassEditRegex, CloneDiff, MsUpload, NotebookViewer, AutoCreateCategoryPages, OfflineImportLexicon, OpenStackManager, OracleTextSearch, CollaborationKit, CommentStreams, Patroller, PhabTaskGraph, PollNY, PrivateDomains, ReplaceText, ConfirmAccount, SemanticImageAnnotator, SpamBlacklist, SpamDiffTool, CreateUserPage, TranslateSvg, UploadWizard, Video, VisualEditor, WikiLexicalData, DataTransfer, WikimediaMaintenance, ZeroPortal, BlogPage, Lud, Nimiarkisto, Sanat, WordNet, BlueSpiceChecklist, CreateWiki
- MovePage[3][4]: add redirect revision to old page, null revision to new page
- ImportableOldRevisionImporter
- PageArchive
also Duplicator, MsUpload, Wikibase, Termbank
- ApiStashEdit stash a content with cache miss
- WikiImporter stats update after import
- AbuseFilter: [5][6]: get tracking info + parsed HTML for the edit
- ConfirmEdit: trigger early parse for link check
- SpamBlacklist: trigger early parse in EditFilterMergedContent for link check
- TemplateData: trigger early parse in PageContentSave for syntax check
also: SemanticMediaWiki, AkismetKlikApprovedRevs, BlueSpicePageAccess, FlaggedRevs
(as above) usage: Flow, LiquidThreads
- Flow: prevent new message notification when the edit is done by the Flow system user (?)
(called in DerivedPageDataUpdater::doUpdates, which is called in WikiPage::doEditContent and WikiPage::doEditUpdates) usage: ApprovedRevs, FlaggedRevs
(as above) usage: CheckUser, Premoderation
- CheckUser: every 50th edit, prune the checkuser changes table
(called in DerivedPageDataUpdater::prepareContent, which is called in WikiPage::doEditContent and WikiPage::prepareContentForEdit) usage: Translate
- Translate: disable PST when wgTranslateUsePreSaveTransform is unset and the page is a non-qqq message
(called in PageUpdater::doCreate/doModify, which is called in WikiPage::doEditContent) usage: SemanticMediaWiki, SummaryCards, FlaggedRevs, PageTriage, PubSubHubbub, DataTable2, EducationProgram, SemanticInterlanguageLinks, Transliterator, Wikibase, TimedMediaHandler, SemanticBundle, SocialProfile
(called in PageUpdater::doCreate, which is called in WikiPage::doEditContent) usage: CirrusSearch, EventBus, Gadgets, GlobalUserPage, EditNotify, PageCreationNotif, PageTriage, SharedHelpPages, TweetANew, IndexFunction, TitleKey, MiniInvite
- EventBus: forward events to the bus
(called in PageUpdater::saveRevision, which is called in WikiPage::doEditContent) usage: Translate, BlogPage, BlueSpiceEditNotifyConnector, TemplateData, AutoCategoriseUploads, EditNotify, reCaptcha, GraphViz, Lingo, MOOC, PageForms, Checkpoint, PureWikiDeletion, SemanticTasks, BlueSpicePageAccess, Premoderation, BlueSpiceEmoticons, BlueSpiceAuthors, WikiCategoryTagCloud, Awesomeness
- Translate: syntax check
- TemplateData: triggers early parse to validate templatedata
(as above) usage: Translate, BlueSpiceFoundation, Cognate, Cargo, ConfirmEdit, ApprovedRevs, AbuseFilter, BlogPage, WikimediaEvents, UploadWizard, PeriodicRelatedChanges, TitleBlacklist, SemanticMediaWiki, TheWikipediaLibrary, BlueSpicePageAssignments, BlueSpiceSMWConnector, SpamBlacklist, Athena, ProofreadPage, AutoCreateCategoryPages, Contributors, Drafts, Echo, EditSimilar, EditcountAdditions, EducationProgram, EtherEditor, EventBus, FlaggedRevs, Gadgets, HAWelcome, JsonConfig, LiquidThreads, LiveTranslate, MathSearch, MiniInvite, PageTriage, BlueSpiceExtendedSearch, OfflineImportLexicon, PureWikiDeletion, SemanticTasks, BlueSpiceSmartList, BlueSpiceSaferEdit, TweetANew, BlueSpiceArticleInfo, FeaturedFeeds
- Translate:
- ConfirmEdit: clear cache when updating MediaWiki:Captcha-ip-whitelist
- AbuseFilter: record AF variables into the AF log
- TitleBlacklist: clear cache when editing MediaWiki:Titleblacklist
- SpamBlacklist: clear cache when editing blacklist
- Echo: trigger some notifications (reverted, 10^n edit)
- EventBus: send null edit notifications to the bus
- AbuseFilter: cache AF check results when stashing the edit?
- SpamBlacklist: cache spam filter check
(used to be called on edits, not used in the current version of the patch) usage: EventBus, Translate, WikimediaEvents, HAWelcome
- EventBus: send revision-create events to the bus
- Translate: forces updates on null revisions. (nb. needs extra query to detect a null revision, probably could be handled better)
mcr-full deployed extensions
edit- AbuseFilter
- AntiSpoof
- Babel
- BetaFeatures
- CentralAuth
- Cite
- Citoid
- cldr
- CodeEditor
- ConfirmEdit
- Echo
- EventBus
- EventLogging
- Flow
- GeoData
- GlobalCssJs
- GlobalUsage
- MobileFrontend
- NewUserMessage
- PageImages
- ParserFunctions
- README
- Renameuser
- Scribunto
- SpamBlacklist
- SyntaxHighlight_GeSHi
- TemplateData
- TemplateSandbox
- TextExtracts
- Thanks
- TitleBlacklist
- Translate
- UniversalLanguageSelector
- UserMerge
- VisualEditor
- WikiEditor
- WikiLove
WMF deployed extensions
edit- 3D
- AbuseFilter
- AdvancedSearch
- AntiSpoof
- ApiFeatureUsage
- ArticleCreationWorkflow
- ArticlePlaceholder
- Babel
- BetaFeatures
- BounceHandler
- Calendar
- Campaigns
- Capiunto
- CategoryTree
- CentralAuth
- CentralNotice
- CharInsert
- CheckUser
- CirrusSearch
- Cite
- CiteThisPage
- Citoid
- cldr
- CodeEditor
- CodeMirror
- CodeReview
- Cognate
- CollaborationKit
- Collection
- CommonsMetadata
- ConfirmEdit
- ConfirmEdit/FancyCaptcha
- CongressLookup
- ContactPage
- ContentTranslation
- ContributionTracking
- CreditsSource
- Dashiki
- DisableAccount
- Disambiguator
- DismissableSiteNotice
- DonationInterface
- DoubleWiki
- DynamicSidebar
- Echo
- EducationProgram
- Elastica
- ElectronPdfService
- EventBus
- EventLogging
- ExtensionDistributor
- FeaturedFeeds
- FileExporter
- FileImporter
- FlaggedRevs
- Flow
- FundraiserLandingPage
- FundraisingTranslateWorkflow
- Gadgets
- GeoCrumbs
- GeoData
- GettingStarted
- GlobalBlocking
- GlobalCssJs
- GlobalPreferences
- GlobalUsage
- GlobalUserPage
- GoogleNewsSitemap
- Graph
- GuidedTour
- GWToolset
- ImageMap
- InputBox
- Insider
- intersection
- Interwiki
- InterwikiSorting
- JADE
- Josa
- JsonConfig
- Kartographer
- LabeledSectionTransclusion
- LandingCheck
- LdapAuthentication
- Linter
- LiquidThreads
- Listings
- LocalisationUpdate
- LoginNotify
- MapSources
- MassMessage
- Math
- MobileApp
- MobileFrontend
- MultimediaViewer
- MwEmbedSupport
- NavigationTiming
- Newsletter
- NewUserMessage
- Nuke
- OATHAuth
- OAuth
- ORES
- OpenStackManager
- PageAssessments
- PagedTiffHandler
- PageImages
- PageTriage
- PageViewInfo
- ParserFunctions
- ParserMigration
- ParsoidBatchAPI
- PdfHandler
- PerformanceInspector
- Petition
- Poem
- Popups
- ProofreadPage
- PropertySuggester
- PoolCounter
- QuickSurveys
- Quiz
- ReadingLists
- RelatedArticles
- RelatedSites
- Renameuser
- RevisionSlider
- RSS
- SandboxLink
- Score
- Scribunto
- SearchExtraNS
- SecurePoll
- Sentry
- ShortUrl
- SiteMatrix
- SpamBlacklist
- SubPageList3
- SubpageSortkey
- SyntaxHighlight_GeSHi
- TemplateData
- TemplateSandbox
- TemplateStyles
- TextExtracts
- Thanks
- TimedMediaHandler
- timeline
- TitleBlacklist
- TocTree
- TorBlock
- Translate
- TranslationNotifications
- TrustedXFF
- TwoColConflict
- UniversalLanguageSelector
- UploadsLink
- UploadWizard
- UrlShortener
- UserMerge
- VipsScaler
- VisualEditor
- Wikibase/client/WikibaseClient.php
- Wikibase/repo/Wikibase.php
- WikibaseLexeme
- WikibaseQuality
- WikibaseQualityConstraints
- Wikidata.org
- WikidataPageBanner
- WikiEditor
- wikihiero
- WikiLove
- WikimediaBadges
- WikimediaEvents
- WikimediaIncubator
- WikimediaMessages
- XAnalytics
- ZeroBanner
- ZeroPortal