User:Daniel Kinzler (WMDE)/MCR-StorageLayerTesting

PageUpdater test plan

 * edit page:
 * page creation works, updates link tables
 * page editing works, updates link tables
 * undoing an edit sets the undid ID
 * minor edit sets the flag
 * test bot edit sets the RC flag
 * edit conflict is automerged when possible
 * edit conflict GUI works when automerge not possible
 * null edit works (how?)
 * edit stash works (how?)
 * file upload:
 * new file
 * existing file
 * installer: main page is created
 * double redirect fixer: run fixDoubleRedirects.php --async --title
 * rollback
 * change content model (wikitext to JS and back)
 * Flow: change talk page to use Flow, verify flow-talk-taken-over-comment
 * NewUserMessage: test welcome message

WikiPage::doEditContent
usage: 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
 * 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

(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:
 * all kinds of data updates on message edit (fuzzy, transaltion stats), update translated page
 * tag page (via Translate's custom revision tagging mechanism) as ready for translation
 * 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

(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

 * 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

 * 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