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
[edit]Daniel 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
- page creation works
- file upload:
- new file:
Done - existing file:
Done
- new file:
- rollback
Done - page move: null revision in moved page
Done - undelete
- full page
Done - revisions of an existing page
Done
- full page
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_edittag),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