"$schema": "http://json-schema.org/schema#",
"description": "MediaWiki extension.json schema",
"type": "object",
+ "additionalProperties": false,
"properties": {
"manifest_version": {
"type": "integer",
"requires": {
"type": "object",
"description": "Indicates what versions of MediaWiki core or extensions are required. This syntax may be extended in the future, for example to check dependencies between other services.",
+ "additionalProperties": false,
"properties": {
"MediaWiki": {
"type": "string",
}
},
{
- "description": "An arbitrary ResourceLoaderModule definition",
+ "description": "An arbitrary ResourceLoaderModule definition by class",
"properties": {
"class": {
"type": "string",
}
},
"required": ["class"]
+ },
+ {
+ "description": "An arbitrary ResourceLoaderModule definition with instantiator",
+ "properties": {
+ "factory": {
+ "type": "string",
+ "description": "A static instantiator function for creating the ResourceLoaderModule object."
+ }
+ },
+ "required": ["factory"]
}
]
}
},
"JobClasses": {
"type": "object",
- "description": "Job types this extension implements (mapping of job type to class name)"
+ "description": "Job types this extension implements (mapping of job type to class name or factory function)"
},
"LogTypes": {
"type": "array",
"description": {
"type": ["string", "array"],
"description": "A description of the config setting, mostly for documentation/developers"
+ },
+ "decriptionmsg": {
+ "type": "string",
+ "description": "The message key which should be used as a description for this configuration option in a user interface. If empty, description will be used."
+ },
+ "public": {
+ "type": "boolean",
+ "default": false,
+ "description": "Whether this configuration option and its value is allowed to be revealed in public or not."
}
}
}
"type": "array",
"description": "List of service wiring files to be loaded by the default instance of MediaWikiServices"
},
+ "attributes": {
+ "description":"Registration information for other extensions",
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": ["array", "object"]
+ }
+ }
+ }
+ }
+ },
"load_composer_autoloader": {
"type": "boolean",
"description": "Load the composer autoloader for this extension, if one is present"