Page MenuHomePhabricator

Convert WMF Deployed Extensions to Abstract Schema
Closed, ResolvedPublic

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:

  • 3D
  • AbuseFilter - T259377
  • AdvancedSearch
  • AntiSpoof - T268535
  • ApiFeatureUsage
  • ArticleCreationWorkflow
  • ArticlePlaceholder
  • Babel - Linked with T259374
  • BetaFeatures - Linked with T259374
  • BounceHandler - T268538
  • Calendar
  • Campaigns
  • Capiunto
  • CategoryTree
  • CentralAuth - T259376
  • CentralNotice - T268539
  • CharInsert
  • CheckUser - T268540
  • CirrusSearch
  • Cite
  • CiteThisPage
  • Citoid
  • CodeEditor
  • CodeMirror
  • CodeReview - T268541
  • Cognate - T268542
  • Collection
  • CommonsMetadata
  • ConfirmEdit
  • CongressLookup
  • ContactPage
  • ContentTranslation - T268543
  • CreditsSource - T298496
  • Dashiki
  • Disambiguator
  • DiscussionTools - newly created extension - started with abstract schema
  • DismissableSiteNotice
  • DonationInterface - T268545
  • DoubleWiki
  • DynamicSidebar
  • Echo - T259375
  • Elastica
  • ElectronPdfService
  • EntitySchema - T268546
  • EventBus
  • EventLogging
  • EventStreamConfig
  • ExtensionDistributor
  • ExternalGuidance
  • FeaturedFeeds
  • FileExporter
  • FileImporter
  • FlaggedRevs - T268548
  • Flow - T268549
  • FundraiserLandingPage
  • FundraisingTranslateWorkflow
  • GeoData - T268550
  • GWToolset
  • Gadgets
  • GeoCrumbs
  • GettingStarted
  • GlobalBlocking - T268551
  • GlobalCssJs
  • GlobalPreferences - T268552
  • GlobalUsage - T268553
  • GlobalUserPage
  • GoogleNewsSitemap
  • Graph
  • GrowthExperiments - newly created extension - started with abstract schema
  • GuidedTour
  • ImageMap
  • InputBox
  • Insider
  • Interwiki
  • InterwikiSorting
  • Jade - T268555
  • Josa
  • JsonConfig
  • Kartographer
  • LabeledSectionTransclusion
  • LandingCheck
  • LdapAuthentication - T268556
  • Linter - Linked with T259374
  • LiquidThreads - T268559
  • Listings
  • LocalisationUpdate
  • LoginNotify
  • MachineVision - T268560
  • MapSources
  • MassMessage
  • Math - T268561
  • MediaModeration
  • MobileApp
  • MobileFrontend
  • MultimediaViewer
  • NavigationTiming
  • NewUserMessage
  • Newsletter - T268563
  • Nuke
  • OATHAuth - T268564
  • OAuth - T268565
  • OAuthRateLimiter - newly created extension - started with abstract schema
  • OpenStackManager
  • ORES - T268566
  • PageAssessments - T268567
  • PageImages
  • PageTriage - T268568
  • PageViewInfo
  • PagedTiffHandler
  • ParserFunctions
  • PdfHandler
  • Poem
  • PoolCounter
  • Popups
  • ProofreadPage - Linked with T259374
  • PropertySuggester - T268570
  • QuickSurveys
  • Quiz
  • RSS
  • ReadingLists - T268571
  • RelatedArticles
  • Renameuser
  • RevisionSlider
  • SandboxLink
  • Score
  • Scribunto
  • SearchExtraNS
  • SecureLinkFixer
  • SecurePoll - T268572
  • ShortUrl - Linked with T259374
  • SiteMatrix
  • SpamBlacklist
  • SubPageList3
  • SubpageSortkey
  • SyntaxHighlight_GeSHi
  • TemplateData
  • TemplateSandbox
  • TemplateStyles
  • TemplateWizard
  • TextExtracts
  • Thanks
  • TheWikipediaLibrary
  • TimedMediaHandler - Linked with T259374
  • TitleBlacklist
  • TocTree
  • TorBlock
  • Translate - T268576
  • TranslationNotifications
  • TrustedXFF
  • TwoColConflict
  • UniversalLanguageSelector
  • UploadWizard - T268577
  • UploadsLink
  • UrlShortener - Linked with T259374
  • UserMerge
  • VipsScaler
  • VisualEditor
  • WebAuthn
  • WikiEditor
  • WikiLove - Linked with T259374
  • Wikibase - T259411/T205094
  • WikibaseCirrusSearch
  • WikibaseLexeme
  • WikibaseLexemeCirrusSearch
  • WikibaseMediaInfo
  • WikibaseQualityConstraints - T268579
  • Wikidata.org
  • WikidataPageBanner
  • WikimediaApiPortalOAuth
  • WikimediaBadges
  • WikimediaEditorTasks - T268581
  • WikimediaEvents
  • WikimediaIncubator
  • WikimediaMessages
  • Wikisource
  • XAnalytics
  • cldr
  • intersection
  • timeline
  • wikihiero

Related Objects

StatusSubtypeAssignedTask
ResolvedLadsgroup
OpenNone
ResolvedNone
ResolvedJdforrester-WMF
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedDaimona
Resolved Marostegui
Resolved Bstorm
ResolvedDaimona
Resolved Urbanecm
Resolved Marostegui
Resolvedrook
DuplicateNone
ResolvedUmherirrender
InvalidNone
InvalidNone
ResolvedReedy
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
InvalidNone
ResolvedReedy
ResolvedReedy
InvalidNone
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedJdforrester-WMF
ResolvedReedy
ResolvedReedy
ResolvedReedy
InvalidNone
DeclinedNone
ResolvedReedy
InvalidNone
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedPhysikerwelt
InvalidNone
ResolvedUmherirrender
ResolvedReedy
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedReedy
ResolvedUmherirrender
ResolvedUmherirrender
InvalidNone
ResolvedReedy
ResolvedUmherirrender
ResolvedSTran
ResolvedUmherirrender
ResolvedTchanders
ResolvedUmherirrender
InvalidNone
InvalidNone
InvalidNone
Resolvedawight
ResolvedReedy
InvalidNone
ResolvedLadsgroup
InvalidNone
ResolvedUmherirrender
ResolvedUmherirrender

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
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)

Jdforrester-WMF updated the task description. (Show Details)

I guess we should send an e-mail to wikitech-l celebrating this milestone. @Umherirrender, would you like to do that, as you did so much of the work?

I guess we should send an e-mail to wikitech-l celebrating this milestone. @Umherirrender, would you like to do that, as you did so much of the work?

I am not the best writer of long prose text, but here we are ;-) - https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/GYE6JUPMMCF5IULDVQUSHGZDHDCVSKMO/ (in the attachment, sadly my client has not seen this as text only message ...)