Page MenuHomePhabricator

Update extension.json files to manifest_version 2 to use description instead of @globalname documentation
Open, Needs TriagePublic

Description

Description not fully fleshed out for Google-Code-in-2019 and good first task (not tagging as such yet) just yet

Extensions such as Page-Previews have json such as the below for various documentation

	"config": {
		"@PopupsVirtualPageViews": "@var bool: Whether the extension should log virtual pageviews.",
		"PopupsVirtualPageViews": false
	},

This is no longer needed in manifest_version: 2 as you can do

	"config": {
		"PopupsVirtualPageViews": {
			"description": "@var bool: Whether the extension should log virtual pageviews.",
			"value": false
		}
	},

Depending on what is in the extension.json file, it may need further updates

The maintenance script maintenance/updateExtensionJsonSchema.php from MediaWiki core may be able to help with this endeavour, updating the extension.json files in a semi automated fashion

CI may inform you of further modifications that are needed

Details

Related Gerrit Patches:
mediawiki/extensions/ConfirmEdit : masterUpdate extension.json files to use manifest_version 2
mediawiki/extensions/TwoColConflict : masterUpdate extension.json to manifest version 2
mediawiki/extensions/Popups : masterUpdate extension.json to use manifest_version 2
mediawiki/extensions/AntiSpoof : masterUpdate extension.json to use manifest_version 2
mediawiki/extensions/3D : masterUpdate extension.json to use manifest_version 2

Event Timeline

Reedy created this task.Sep 28 2019, 4:38 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptSep 28 2019, 4:38 AM

Change 539726 had a related patch set uploaded (by MarcoAurelio; owner: MarcoAurelio):
[mediawiki/extensions/3D@master] Update extension.json to use manifest_version 2

https://gerrit.wikimedia.org/r/539726

Change 539727 had a related patch set uploaded (by MarcoAurelio; owner: MarcoAurelio):
[mediawiki/extensions/AntiSpoof@master] [WIP] Update extension.json to use manifest_version 2

https://gerrit.wikimedia.org/r/539727

Change 539726 merged by jenkins-bot:
[mediawiki/extensions/3D@master] Update extension.json to use manifest_version 2

https://gerrit.wikimedia.org/r/539726

Change 539727 merged by jenkins-bot:
[mediawiki/extensions/AntiSpoof@master] Update extension.json to use manifest_version 2

https://gerrit.wikimedia.org/r/539727

Change 543672 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/extensions/ConfirmEdit@master] Update extension.json files to use manifest_version 2

https://gerrit.wikimedia.org/r/543672

Change 553242 had a related patch set uploaded (by Ammarpad; owner: Ammarpad):
[mediawiki/extensions/Popups@master] Update extension.json to use manifest_version 2

https://gerrit.wikimedia.org/r/553242

Ammarpad added a subscriber: Ammarpad.

I cannot find any more extension that needs this. Please add again if there's need.

Reedy added a comment.Nov 28 2019, 5:38 PM

I cannot find any more extension that needs this. Please add again if there's need.

https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector/blob/master/extension.json#L60-L107 for one...

I cannot find any more extension that needs this. Please add again if there's need.

https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector/blob/master/extension.json#L60-L107 for one...

Thanks. I cannot find it with https://codesearch.wmflabs.org/search/ :)

Reedy added a comment.Nov 28 2019, 9:37 PM
Targets
    Occurrences of '"@' in directory /Users/reedy/PhpstormProjects/mediawiki/extensions with mask 'extension.json'
Found Occurrences  (128 usages found)
    Usage in string constants  (128 usages found)
        mediawiki  (128 usages found)
            extensions/AzharAuth  (8 usages found)
                extension.json  (8 usages found)
                    36 "description": "@var boolean Determines if a link to the Azhàr intranet homepage should be added."
                    40 "description": "@var boolean If true, only allows authentication through Azhàr and disables regular login/logout. Otherwise, Azhàr is an extra option to login."
                    44 "description": "@var boolean If true, creates a new account if the user doesn't exist in the database."
                    50 "@v
                    54 "description": "@var string The Azhàr login URL"
                    58 "description": "@var string The Azhàr main intranet URL"
                    62 "description": "@var string The Azhàr product name. If omitted, [[MediaWiki:defaultproductname]] is used."
                    70 "@v
            extensions/BlueSpiceArticlePreviewCapture  (3 usages found)
                extension.json  (3 usages found)
                    26 "@configDefinitions": {}
                    62 "@note": "Defaults to $wgServer",
                    66 "@note": "If you need to add command line variable before command set this to false",
            extensions/BlueSpiceBookshelfUI  (1 usage found)
                extension.json  (1 usage found)
                    43 "bs-bookshelf-navtab-icon-active": "@bs-color-tertiary",
            extensions/BlueSpiceExpiry  (1 usage found)
                extension.json  (1 usage found)
                    40 "@AlertProviderRegistry": {
            extensions/BlueSpiceFoundation  (5 usages found)
                extension.json  (5 usages found)
                    806 "@note0": "Key is the full extension attribute name, e.g. `BlueSpiceFoundationLessVarsRegistry`",
                    807 "@note1": "Value is a array that supports three keys:",
                    808 "@note2": "`set`: Contains an associative array that completely replaces the original value of the attribute.",
                    809 "@note3": "`merge`: Contains an associative array the will be merged with the original value of the attribute. Will not be evaluated if `set` is defined.",
                    810 "@note4": "`remove`: Contains a indexed array of keys that should be removed from the original value of the attribute. Will not be evaluated if `set` is defined.",
            extensions/BlueSpicePageAssignments  (1 usage found)
                extension.json  (1 usage found)
                    63 "bs-pageassignments-icon-specialeveryone-color": "@bs-color-tertiary"
            extensions/BlueSpiceSocial  (3 usages found)
                extension.json  (3 usages found)
                    77 "bs-color-header-information-link": "@bs-primary-light-subelement-border",
                    80 "bs-color-social-link-dark": "@bs-primary-light-subelement-border",
                    81 "navigation-tab-color": "@bs-color-primary",
            extensions/BlueSpiceVisualEditorConnector  (2 usages found)
                extension.json  (2 usages found)
                    348 "@note": "Usage described in docs/custom_text_colors.md",
                    368 "@note": "Usage described in docs/custom_text_colors.md",
            extensions/CentralAuth  (1 usage found)
                extension.json  (1 usage found)
                    418 "@doc": "see CentralAuth.php",
            extensions/Cognate  (4 usages found)
                extension.json  (4 usages found)
                    35 "@CognateDb": "The database to use for storing Cognate data. The default is to use the db of the current site.",
                    37 "@CognateCluster": "The cluster to use for storing Cognate data. The default is to use the cluster / server of the current site. See $wgLBFactoryConf.",
                    39 "@C
                    41 "@CognateNamespaces": "The namespace IDs to run Cognate for. For links to work between sites these IDs must be the same across sites.",
            extensions/CollaborationKit  (2 usages found)
                extension.json  (2 usages found)
                    101 "@fixme": "Does having ext.CollaborationKit.list.styles as a dependency double load from addModuleStyles?",
                    102 "@todo FIXME": "Should this actually load oojs-ui-core, or something else",
            extensions/ConfirmEdit  (1 usage found)
                extension.json  (1 usage found)
                    2 "@doc": "Please read README.md",
            extensions/ContentTranslation  (9 usages found)
                extension.json  (9 usages found)
                    140 "@C
                    142 "@ContentTranslationAsBetaFeature": "Whether to have CX available only as a beta feature and only shown to the users who have enabled the beta feature.",
                    144 "@ContentTranslationTargetNamespace": "Target namespace to publish articles. Values can be valid namespace ids. Example: 0 for Main, 2 for User namespace",
                    160 "@ContentTranslationEnableMT": "Whether Machine Translation services are enabled for this target wiki",
                    162 "@RecommendToolAPIURL": "Web API URL for translation recommendation tool",
                    165 "@C
                    167 "@C
                    181 "@C
                    182 "@DraftMaxAge": "Maximum age of unpublished drafts before they're purged from DB. Expressed in days and defaults to approximate value of 15 months.",
            extensions/DataTransfer  (1 usage found)
                extension.json  (1 usage found)
                    2 "@Note": "When updating this file please also update DataTransfer.php with the same changes.",
            extensions/DisableAccount  (1 usage found)
                extension.json  (1 usage found)
                    2 "@doc": "Written by Andrew Garrett, 2010-12-02",
            extensions/GPGMail  (1 usage found)
                extension.json  (1 usage found)
                    18 "@GpgMailUsePgpMime": "true: use PGP/MIME, false: use inline encryption",
            extensions/Ids  (1 usage found)
                extension.json  (1 usage found)
                    24 "@doc": "https://www.mediawiki.org/wiki/Extension:Ids",
            extensions/InterwikiSorting  (3 usages found)
                extension.json  (3 usages found)
                    18 "@InterwikiSortingSort": "The default sort order to use. 'code' is build in and orders alphabetically by interwiki code.",
                    20 "@InterwikiSortingSortPrepend": "Codes that should appear at the start of the list of interwiki links.",
                    22 "@I
            extensions/Lingo  (1 usage found)
                extension.json  (1 usage found)
                    10 "@descriptionmsg": "The description message is set by Lingo\\Hooks::setCredits().",
            extensions/LinkedWiki  (2 usages found)
                extension.json  (2 usages found)
                    13 "@doc": "NamespaceRelations with NS_MAIN",
                    20 "@doc": "NamespaceRelations with NS_USER",
            extensions/LocalisationUpdate  (1 usage found)
                extension.json  (1 usage found)
                    2 "@note": "This file must be kept in sync with LocalisationUpdate.php",
            extensions/NSFileRepo  (2 usages found)
                extension.json  (2 usages found)
                    79 "@note NamespaceThreshold": "This should probably be 3000 as recommended by MediaWiki. But for backwards compatibility we'll stick with this default",
                    81 "@note NamespaceBlacklist": "There are some widespread extensions that create namespaces. E.g. SemanticMediaWiki, PageForms, Widgets, Scribunto, ...",
            extensions/OAuthAuthentication  (1 usage found)
                extension.json  (1 usage found)
                    46 "@doc": "see OAuthAuthentication.php",
            extensions/OpenLayers  (1 usage found)
                extension.json  (1 usage found)
                    2 "@Note": "When updating this file please also update OpenLayers.php with the same changes.",
            extensions/PageForms  (2 usages found)
                extension.json  (2 usages found)
                    2 "@Note": "When updating this file please also update PageForms.php with the same changes.",
                    546 "@note": "See PF_DefaultInputSettings.php for allowed values",
            extensions/PageImages  (4 usages found)
                extension.json  (4 usages found)
                    42 "@doc": "Images <120px are usually from maintenace or stub templates; >600px are panoramas, less suitable.",
                    90 "@doc": "Temporary feature flag - Whether page images should be restricted to those in section id 0.",
                    91 "@fixme": "Please remove a month after it has defaulted to true on the cluster (T152115)",
                    95 "@d
            extensions/Popups  (12 usages found)
                extension.json  (12 usages found)
                    65 "@PopupsVirtualPageViews": "@var bool: Whether the extension should log virtual pageviews.",
                    67 "@PopupsHideOptInOnPreferencesPage": "@var bool: Whether the option to enable/disable Page Previews should be hidden on Preferences page. False by default",
                    69 "@PopupsOptInDefaultState": "@var string:['1'|'0'] Default Page Previews visibility for old accounts. Has to be a string as a compatibility with beta feature settings. For more info see @T191888",
                    71 "@PopupsOptInStateForNewAccounts": "@var string:['1'|'0'] Default Page Previews visibility for newly created accounts (from Q2 2018). For more info see @T191888",
                    73 "@PopupsConflictingNavPopupsGadgetName": "@var string: Navigation popups gadget name",
                    75 "@PopupsGateway": "Which gateway to use for fetching Popups data. Available options: [mwApiPlain|restbasePlain|restbaseHTML]. Full and always up to date list is available in src/gateway/index.js",
                    77 "@PopupsRestGatewayEndpoint": "Specify a REST endpoint where summaries should be sourced from. Endpoint must meet the spec at https://www.mediawiki.org/wiki/Specs/Summary/1.2.0",
                    79 "@PopupsReferencePreviews": "Temporary feature flag to disable reference previews during developement.",
                    81 "@PopupsReferencePreviewsBetaFeature": "Make Reference Previews a Beta feature.",
                    83 "@PopupsEventLogging": "Whether we should log events. Note if this is enabled without using that variable events will be logged for all users without any sampling! Be careful!",
                    85 "@PopupsStatsvSamplingRate": "Sampling rate for logging performance data to statsv.",
                    87 "@P
            extensions/QuickSurveys  (19 usages found)
                extension.json  (19 usages found)
                    123 "@name": "survey name",
                    125 "@type": "internal or external link survey",
                    127 "@question": "survey question message key",
                    129 "@description": "The message key of the description of the survey. Displayed immediately below the survey question.",
                    131 "@answers": "possible answer message keys for positive, neutral, and negative",
                    137 "@freeformTextLabel": "label for the optional free form text",
                    139 "@enabled": "whether the survey is enabled",
                    141 "@coverage": "percentage of users that will see the survey",
                    143 "@platforms": "for each platform (desktop, mobile), which version of it is targeted (stable, beta)",
                    150 "@name": "survey name",
                    152 "@type": "internal or external link survey",
                    154 "@question": "survey question message key",
                    156 "@description": "the i18n key of the description of the survey",
                    158 "@link": "external link to the survey",
                    160 "@instanceTokenParameterName": "parameter to add to link",
                    162 "@privacyPolicy": "The i18n key of the privacy policy text.",
                    164 "@enabled": "whether the survey is enabled",
                    166 "@coverage": "percentage of users that will see the survey",
                    168 "@platforms": "for each platform (desktop, mobile), which version of it is targeted (stable, beta)",
            extensions/RelatedArticles  (3 usages found)
                extension.json  (3 usages found)
                    146 "@R
                    150 "@RelatedArticlesDescriptionSource": "Source to get the page description from (string, or false to not fetch the description). Possible values: wikidata, textextracts, pagedescription.",
                    152 "@RelatedArticlesFooterWhitelistedSkins": "List of skin names (e.g. 'minerva') where related articles will be shown in the footer.",
            extensions/SiteMatrix  (5 usages found)
                extension.json  (5 usages found)
                    53 "@SiteMatrixFile": "A file with the list of language codes used by the wikifarm (one per line).",
                    55 "@S
                    59 "@SiteMatrixPrivateSites": "dbname list of private wikis.",
                    61 "@SiteMatrixFishbowlSites": "dbname list of fishbowl wikis.",
                    63 "@SiteMatrixClosedSites": "dbname list of closed wikis.",
            extensions/TinyMCE  (1 usage found)
                extension.json  (1 usage found)
                    2 "@Note": "When updating this file please also update TinyMCE.php with the same changes.",
            extensions/TwoColConflict  (1 usage found)
                extension.json  (1 usage found)
                    19 "@TwoColConflictBetaFeature": "Make the TwoColConflict feature a BetaFeature. Setting this requires the BetaFeature extension and requires each user to enable the BetaFeature.",
            extensions/UniversalLanguageSelector  (17 usages found)
                extension.json  (17 usages found)
                    61 "@U
                    63 "@U
                    65 "@ULSEnableAnon": "Equivalent to $wgULSEnable for anonymous users only. Does not have any effect if $wgULSEnable is false.",
                    67 "@U
                    69 "@U
                    71 "@ULSIMEEnabled": "Enable the input methods feature for all users by default. Can be controlled by the user.",
                    73 "@ULSWebfontsEnabled": "Enable the webfonts feature for all users by default. Can be controlled by the user. @since 2014.02",
                    75 "@ULSMobileWebfontsEnabled": "Set whether webfont support is loaded within the mobile interface (via the MobileFrontend extension).",
                    77 "@U
                    79 "@ULSEventLogging": "Whether to use EventLogging. The EventLogging extension must be installed if this option is enabled. @since 2013.06",
                    81 "@ULSImeSelectors": "Array of jQuery selectors of elements on which IME should be enabled. @since 2013.11",
                    89 "@ULSNoImeSelectors": "Array of jQuery selectors of elements on which IME must not be enabled. @since 2013.07",
                    95 "@U
                    99 "@ULSFontRepositoryBasePath": "Base path of ULS font repository. If not set, will be set to 'UniversalLanguageSelector/data/fontrepo/fonts/', relative to $wgExtensionAssetsPath. @since 2013.10",
                    102 "@ULSCompactLanguageLinksBetaFeature": "Set compact interlanguage links as beta feature or not. If set false, compact interlanguage links will be available by default to all users.",
                    104 "@ULSCompactLinksForNewAccounts": "Enable compact interlanguage links for new user accounts.",
                    106 "@ULSCompactLinksEnableAnon": "Enable compact interlanguage links for anonymous users."
            extensions/Variables  (1 usage found)
                extension.json  (1 usage found)
                    25 "@example": "$egVariablesDisabledFunctions = [ 'var_final', 'vardefineecho' ]; // to disable '#var_final' and '#vardefineecho' functions",
            extensions/WebDAV  (3 usages found)
                extension.json  (3 usages found)
                    88 "@HINT": "HINT: http://sabre.io/dav/character-encoding/",
                    92 "@HINT": "30 Minutes",
                    96 "@HINT": "24 Hours",
            extensions/WikibaseCirrusSearch  (1 usage found)
                extension.json  (1 usage found)
                    20 "@note": "The values below are mirrors of old Wikibase values. TODO: once Wikibase values are gone, put proper defaults here.",
            extensions/WikidataPageBanner  (1 usage found)
                extension.json  (1 usage found)
                    97 "@doc": "https://www.mediawiki.org/wiki/Extension:WikidataPageBanner#Configuration_parameters_for_the_extension",
            extensions/WikimediaEvents  (2 usages found)
                extension.json  (2 usages found)
                    111 "@ResourceModules": {
                    112 "@": [

SiteMatrix is another, RelatedArticles, Page-Previews, ContentTranslation...

Thank you for the list.

Change 553242 merged by jenkins-bot:
[mediawiki/extensions/Popups@master] Update extension.json to use manifest_version 2

https://gerrit.wikimedia.org/r/553242

Change 559659 had a related patch set uploaded (by Ammarpad; owner: Ammarpad):
[mediawiki/extensions/TwoColConflict@master] Update extension.json to manifest version 2

https://gerrit.wikimedia.org/r/559659

Change 559659 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Update extension.json to manifest version 2

https://gerrit.wikimedia.org/r/559659