diff options
author | Martin Urbanec <martin.urbanec@wikimedia.cz> | 2023-10-11 11:39:16 +0200 |
---|---|---|
committer | Martin Urbanec <martin.urbanec@wikimedia.cz> | 2023-10-11 11:39:16 +0200 |
commit | fafc8a8598901c94f9f270ddd66edb94f5340763 (patch) | |
tree | ac8456d4724ac467fe2e9567ba409933740baf95 | |
parent | d4e04bcfb17aa59fa444a41818fd8bd6874d97cd (diff) |
PoC: Add Community configuration variablessandbox/urbanecm/community-configuration
Change-Id: Ie11594d5cf20340784b5e02bd39ed2713dde90d5
-rw-r--r-- | docs/config-schema.yaml | 12 | ||||
-rw-r--r-- | docs/config-vars.php | 18 | ||||
-rw-r--r-- | docs/extension.schema.v1.json | 9 | ||||
-rw-r--r-- | docs/extension.schema.v2.json | 9 | ||||
-rw-r--r-- | includes/MainConfigNames.php | 18 | ||||
-rw-r--r-- | includes/MainConfigSchema.php | 24 | ||||
-rw-r--r-- | includes/config-schema.php | 9 | ||||
-rw-r--r-- | includes/registration/ExtensionProcessor.php | 3 |
8 files changed, 102 insertions, 0 deletions
diff --git a/docs/config-schema.yaml b/docs/config-schema.yaml index dc4450240897..e99c3cecc5c3 100644 --- a/docs/config-schema.yaml +++ b/docs/config-schema.yaml @@ -7910,3 +7910,15 @@ config-schema: description: |- Whether to enable the client-side edit recovery feature. This is a temporary feature flag. + CommunityConfigurationStorages: + default: { } + type: object + description: 'List of configured community configuration storages' + CommunityConfigurationValidators: + default: { } + type: object + description: 'List of configured community configuration validators' + CommunityConfigurationProviders: + default: { } + type: object + description: 'List of configured community configuration providers' diff --git a/docs/config-vars.php b/docs/config-vars.php index dd8016fe282b..f928279e441e 100644 --- a/docs/config-vars.php +++ b/docs/config-vars.php @@ -4438,3 +4438,21 @@ $wgSpecialContributeSkinsEnabled = null; * @see MediaWiki\MainConfigSchema::EnableEditRecovery */ $wgEnableEditRecovery = null; + +/** + * Config variable stub for the CommunityConfigurationStorages setting, for use by phpdoc and IDEs. + * @see MediaWiki\MainConfigSchema::CommunityConfigurationStorages + */ +$wgCommunityConfigurationStorages = null; + +/** + * Config variable stub for the CommunityConfigurationValidators setting, for use by phpdoc and IDEs. + * @see MediaWiki\MainConfigSchema::CommunityConfigurationValidators + */ +$wgCommunityConfigurationValidators = null; + +/** + * Config variable stub for the CommunityConfigurationProviders setting, for use by phpdoc and IDEs. + * @see MediaWiki\MainConfigSchema::CommunityConfigurationProviders + */ +$wgCommunityConfigurationProviders = null; diff --git a/docs/extension.schema.v1.json b/docs/extension.schema.v1.json index 53bd95bd1d7c..2b931f395c1d 100644 --- a/docs/extension.schema.v1.json +++ b/docs/extension.schema.v1.json @@ -1400,6 +1400,15 @@ "type": "string", "description": "The directory holding the foreign-resources.yaml file, relative to the extension root. See https://www.mediawiki.org/wiki/Foreign_resources" }, + "CommunityConfigurationStorages": { + "type": "object" + }, + "CommunityConfigurationValidators": { + "type": "object" + }, + "CommunityConfigurationProviders": { + "type": "object" + }, "load_composer_autoloader": { "type": "boolean", "description": "Load the composer autoloader for this extension, if one is present" diff --git a/docs/extension.schema.v2.json b/docs/extension.schema.v2.json index f2c4126d6cac..1bcc51dbb878 100644 --- a/docs/extension.schema.v2.json +++ b/docs/extension.schema.v2.json @@ -1596,6 +1596,15 @@ "type": "string", "description": "The directory holding the foreign-resources.yaml file, relative to the extension root. See https://www.mediawiki.org/wiki/Foreign_resources" }, + "CommunityConfigurationStorages": { + "type": "object" + }, + "CommunityConfigurationValidators": { + "type": "object" + }, + "CommunityConfigurationProviders": { + "type": "object" + }, "attributes": { "description": "Registration information for other extensions", "type": "object", diff --git a/includes/MainConfigNames.php b/includes/MainConfigNames.php index fcc7203e8267..2cbd1f97754f 100644 --- a/includes/MainConfigNames.php +++ b/includes/MainConfigNames.php @@ -4454,4 +4454,22 @@ class MainConfigNames { */ public const EnableEditRecovery = 'EnableEditRecovery'; + /** + * Name constant for the CommunityConfigurationStorages setting, for use with Config::get() + * @see MainConfigSchema::CommunityConfigurationStorages + */ + public const CommunityConfigurationStorages = 'CommunityConfigurationStorages'; + + /** + * Name constant for the CommunityConfigurationValidators setting, for use with Config::get() + * @see MainConfigSchema::CommunityConfigurationValidators + */ + public const CommunityConfigurationValidators = 'CommunityConfigurationValidators'; + + /** + * Name constant for the CommunityConfigurationProviders setting, for use with Config::get() + * @see MainConfigSchema::CommunityConfigurationProviders + */ + public const CommunityConfigurationProviders = 'CommunityConfigurationProviders'; + } diff --git a/includes/MainConfigSchema.php b/includes/MainConfigSchema.php index ef656ba74610..f517cadb5940 100644 --- a/includes/MainConfigSchema.php +++ b/includes/MainConfigSchema.php @@ -12670,6 +12670,30 @@ class MainConfigSchema { 'type' => 'boolean', ]; + /** + * List of configured community configuration storages + */ + public const CommunityConfigurationStorages = [ + 'default' => [], + 'type' => 'object', + ]; + + /** + * List of configured community configuration validators + */ + public const CommunityConfigurationValidators = [ + 'default' => [], + 'type' => 'object', + ]; + + /** + * List of configured community configuration providers + */ + public const CommunityConfigurationProviders = [ + 'default' => [], + 'type' => 'object', + ]; + // endregion -- End Miscellaneous } diff --git a/includes/config-schema.php b/includes/config-schema.php index bfbfb83b7e63..d16526822f65 100644 --- a/includes/config-schema.php +++ b/includes/config-schema.php @@ -2483,6 +2483,12 @@ return [ 'SpecialContributeSkinsEnabled' => [ ], 'EnableEditRecovery' => false, + 'CommunityConfigurationStorages' => [ + ], + 'CommunityConfigurationValidators' => [ + ], + 'CommunityConfigurationProviders' => [ + ], ], 'type' => [ 'ConfigRegistry' => 'object', @@ -2951,6 +2957,9 @@ return [ 'SkinsPreferred' => 'array', 'SpecialContributeSkinsEnabled' => 'array', 'EnableEditRecovery' => 'boolean', + 'CommunityConfigurationStorages' => 'object', + 'CommunityConfigurationValidators' => 'object', + 'CommunityConfigurationProviders' => 'object', ], 'mergeStrategy' => [ 'TiffThumbnailType' => 'replace', diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php index d258ce152f0c..ff227eb30039 100644 --- a/includes/registration/ExtensionProcessor.php +++ b/includes/registration/ExtensionProcessor.php @@ -31,6 +31,9 @@ class ExtensionProcessor implements Processor { MainConfigNames::ChangeCredentialsBlacklist, MainConfigNames::ConfigRegistry, MainConfigNames::ContentHandlers, + MainConfigNames::CommunityConfigurationStorages, + MainConfigNames::CommunityConfigurationValidators, + MainConfigNames::CommunityConfigurationProviders, MainConfigNames::DefaultUserOptions, MainConfigNames::ExtensionEntryPointListFiles, MainConfigNames::ExtensionFunctions, |