Page MenuHomePhabricator

Convert WMF Deployed Extensions to Abstract Schema
Open, Needs TriagePublic

Description

As a Goal of the abstract schema project, tracking that all WMF deployed extensions (which is a superset of T261911: Convert Bundled Extensions to Abstract Schema) have been converted to abstract schema. This obviously makes little difference for WMF deployment purposes, but serves the goal of marking a milestone of a reasonable selection of WMF maintained (and deployed) extensions implementing DB schemas in the preferred method for longer term maintainability and support


Done/no DB tables:

  • CheckUser - T268540
  • CentralAuth - T259376
  • CodeReview - T268541
  • Cognate - T268542
  • Translate - T268576
  • BounceHandler - T268538
  • EntitySchema - T268546
  • GlobalBlocking - T268551
  • GlobalPreferences - T268552
  • GlobalUsage - T268553
  • Jade - T268555
  • LdapAuthentication - T268556
  • Math - T268561
  • PropertySuggester - T268570
  • UploadWizard - T268577
  • WikibaseQualityConstraints - T268579
  • 3D
  • AdvancedSearch
  • ApiFeatureUsage
  • ArticleCreationWorkflow
  • ArticlePlaceholder
  • Babel
  • BetaFeatures
  • Calendar
  • Campaigns
  • Capiunto
  • CategoryTree
  • CharInsert
  • CirrusSearch
  • Cite
  • CiteThisPage
  • Citoid
  • CodeEditor
  • CodeMirror
  • Collection
  • CommonsMetadata
  • ConfirmEdit
  • CongressLookup
  • ContactPage
  • Dashiki
  • Disambiguator
  • DiscussionTools
  • DismissableSiteNotice
  • DoubleWiki
  • DynamicSidebar
  • Elastica
  • ElectronPdfService
  • EventBus
  • EventLogging
  • EventStreamConfig
  • ExtensionDistributor
  • ExternalGuidance
  • FeaturedFeeds
  • FileExporter
  • FileImporter
  • FundraiserLandingPage
  • FundraisingTranslateWorkflow
  • Gadgets
  • GeoCrumbs
  • GettingStarted
  • GlobalCssJs
  • GlobalUserPage
  • GoogleNewsSitemap
  • Graph
  • GrowthExperiments
  • GuidedTour
  • GWToolset
  • ImageMap
  • InputBox
  • Insider
  • Interwiki
  • InterwikiSorting
  • Josa
  • JsonConfig
  • Kartographer
  • LabeledSectionTransclusion
  • LandingCheck
  • Linter
  • Listings
  • LocalisationUpdate
  • LoginNotify
  • MapSources
  • MassMessage
  • MediaModeration
  • MobileApp
  • MobileFrontend
  • MultimediaViewer
  • NavigationTiming
  • NewUserMessage
  • Nuke
  • OAuthRateLimiter
  • OpenStackManager
  • PageAssessments - T268567
  • PageImages
  • PageViewInfo
  • PagedTiffHandler
  • ParserFunctions
  • PdfHandler
  • ProofreadPage
  • Poem
  • PoolCounter
  • Popups
  • QuickSurveys
  • Quiz
  • RSS
  • RelatedArticles
  • Renameuser
  • RevisionSlider
  • SandboxLink
  • Score
  • Scribunto
  • SearchExtraNS
  • SecureLinkFixer
  • ShortUrl
  • SiteMatrix
  • SpamBlacklist
  • SubPageList3
  • SubpageSortkey
  • SyntaxHighlight_GeSHi
  • TemplateData
  • TemplateSandbox
  • TemplateStyles
  • TemplateWizard
  • TextExtracts
  • Thanks
  • TheWikipediaLibrary
  • TimedMediaHandler
  • TitleBlacklist
  • TocTree
  • TorBlock
  • TranslationNotifications
  • TrustedXFF
  • TwoColConflict
  • UniversalLanguageSelector
  • UploadsLink
  • UrlShortener
  • UserMerge
  • VipsScaler
  • VisualEditor
  • WebAuthn
  • WikiEditor
  • Wikibase - T259411/T205094
  • WikibaseCirrusSearch
  • WikibaseLexeme
  • WikibaseLexemeCirrusSearch
  • WikibaseMediaInfo
  • Wikidata.org
  • WikidataPageBanner
  • WikimediaApiPortalOAuth
  • WikimediaBadges
  • WikimediaEvents
  • WikimediaIncubator
  • WikiLove
  • WikimediaMessages
  • Wikisource
  • XAnalytics
  • cldr
  • intersection
  • timeline
  • wikihiero

Related Objects

StatusSubtypeAssignedTask
ResolvedLadsgroup
OpenNone
OpenNone
OpenNone
ResolvedUmherirrender
ResolvedUmherirrender
OpenUmherirrender
ResolvedDaimona
ResolvedMarostegui
ResolvedBstorm
ResolvedDaimona
ResolvedUrbanecm
ResolvedMarostegui
Resolvedrook
DuplicateNone
OpenUmherirrender
InvalidNone
InvalidNone
ResolvedReedy
OpenUmherirrender
OpenUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
OpenUmherirrender
OpenUmherirrender
OpenNone
ResolvedReedy
ResolvedReedy
InvalidNone
OpenUmherirrender
OpenUmherirrender
OpenUmherirrender
OpenUmherirrender
OpenNone
ResolvedReedy
ResolvedReedy
ResolvedReedy
InvalidNone
DeclinedNone
ResolvedReedy
InvalidNone
OpenUmherirrender
OpenUmherirrender
OpenUmherirrender
ResolvedPhysikerwelt
InvalidNone
OpenUmherirrender
ResolvedReedy
OpenUmherirrender
OpenUmherirrender
OpenUmherirrender
ResolvedReedy
OpenUmherirrender
OpenUmherirrender
InvalidNone
ResolvedReedy
OpenUmherirrender
OpenSTran
OpenUmherirrender
ResolvedTchanders
OpenUmherirrender
InvalidNone
InvalidNone
InvalidNone
Resolvedawight
ResolvedReedy
InvalidNone
ResolvedLadsgroup
InvalidNone
OpenUmherirrender
OpenUmherirrender

Event Timeline

Reedy updated the task description. (Show Details)
Reedy updated the task description. (Show Details)

Just to inform:
For every open sub task/extension now a patch set for the abstract schema migration exists.

The patch set is often part of a stack of patch sets. To explain:

  • Old patches for updates from before 1.31 are removed, because mediawiki/core does not support further releases and most extension can follow this, its very old [if any old patch set exists]
  • Sql schema files are moved to a folder /sql/ to bundle all files [if not already bundled in a folder, some folder are named /schema/ or other]
  • Timestamp fields are migrated from varying-length columns to fixed-length binary columns to make creating of postgres schema possible (and avoid later change), which require the mwtimestamp type to create timestamp columns [if timestamp columns exists and needs migration]
  • Foreign key references are removed from mysql schema [Echo only]
  • Remove duplicate index defintion [LiquidThreads only]
  • Initial insert statements are removed from schema file [PageTriage and CentralNotice only]
  • The abstract schema patch. It does not contains schema changes for mysql schema. If a postgres schema already exists, it contains schema changes for postgres to remove the schema drift

If another order is better to review for an extension, feel free to ask on patch set, some are possible to do in other order [all not marked as preparation for the abstract schema].

If sql files are moved or renamed and the file is mention in the WikimediaMaintenance extension a patch set for the extension exists as well.

The remove or rename of files are found under topic:schema (and some other changes) - https://gerrit.wikimedia.org/r/q/topic:schema+status:open
The other patches are found under topic:abstract - https://gerrit.wikimedia.org/r/q/topic:abstract+status:open

If this task and the sub tasks are resolved, the next step would be to fix the postgres and sqlite tests and make them voting on CI. Also a new (structure) tests are needed to abstract schema and the generated files are identical (T297211)