User:Harej/sandbox
Appearance
{
"$schema": "http://json-schema.org/draft-04/schema#", "id": "http://tools.wmflabs.org/toolhub/schema/1.1.0-draft05", "title": "Wikimedia Tool", "description": "A tool is a piece of software that helps facilitate contribution toward, or consumption of, Wikimedia projects and associated data, not including the core wiki software and its extensions", "version": "1.1.0-draft06", "authors": [ "Hay Kranen", "James Hare" ], "definitions": { "tool": { "type": "object", "properties": { "name": { "type": "string", "description": "Unique identifier for tools. Must be unique for every tool. It is recommended you prefix your tool names to reduce the risk of clashes." }, "title": { "type": "string", "description": "Human readable tool name. Recommended limit of 25 characters." }, "subtitle": { "type": "string", "maxLength": 250, "description": "Longer than the full title but shorter than the description. It should add some additional context to the title." }, "wikidata_item": { "type": "string", "pattern": "^Q%5Cd+$", "description": "The Wikidata item ID for this tool." }, "openhub_id": { "type": "string", "description": "The project ID on OpenHub. Given a URL https://openhub.net/p/foo, the project ID is `foo`." }, "description": { "type": "string", "description": "A longer description of the tool. The recommended length for a description is 3-5 sentences. Future versions of this schema will impose a character limit." }, "url": { "type": "string", "description": "A direct link to the tool or to instructions on how to use or install the tool." }, "keywords": { "type": "string", "@commment": "Comma-delineated list of keywords. This parameter is deprecated and will be removed in the next version." }, "author": { "type": "string", "description": "The primary tool developer." }, "repository": { "type": "string", "description": "A link to the repository where the tool code is hosted." }, "bot_username": { "type": "string", "description": "If the tool is a bot, the Wikimedia username of the bot. Do not include 'User:' or similar prefixes." }, "deprecated": { "type": "boolean", "default": false, "description": "If true, the use of this tool is officially discouraged. The `replaced_by` parameter can be used to define a replacement." }, "replaced_by": { "type": "string", "description": "If this tool is deprecated, this parameter should be used to link to the replacement tool." }, "experimental": { "type": "boolean", "default": false, "description": "If true, this tool is unstable and can change or go offline at any time." }, "for_wikis": { "oneOf": [ { "type": "array", "items": { "$ref": "#/definitions/wiki" } }, { "$ref": "#/definitions/wiki" } ], "default": "*", "description": "A string or array of strings describing the wiki(s) this tool can be used on. Use hostnames such as `zh.wiktionary.org`. Use asterisks as wildcards. For example, `*.wikisource.org` means 'this tool works on all Wikisource wikis.' `*` means 'this works on all wikis, including Wikimedia wikis.'" }, "icon": { "$ref": "#/definitions/commons_file", "description": "A link to a Wikimedia Commons file description page for an icon that depicts the tool." }, "license": { "$ref": "https://tools.wmflabs.org/spdx/schema/licenses.json#/definitions/license", "description": "The software license the tool code's is available under. Use a standard SPDX license keyword." }, "sponsor": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ], "description": "Organization that sponsored the tool's development." }, "supported_languages": { "oneOf": [ { "type": "array", "items": { "$ref": "#/definitions/language" } }, { "$ref": "#/definitions/language" } ], "default": "en", "description": "The language(s) the tool's interface has been translated into. Use ISO 639 language codes like `zh` and `scn`. If not defined it is assumed the tool is only available in English." }, "technology_used": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ], "description": "A string or array of strings listing technologies (programming languages, development frameworks, etc.) used in creating the tool." }, "tool_type": { "type": "string", "enum": [ "web app", "desktop app", "bot", "gadget", "user script", "other" ], "description": "The manner in which the tool is used. Select one from the list of options." }, "api_url": { "type": "string", "description": "A link to the tool's API, if available." }, "developer_docs_url": { "type": "string", "description": "A link to the tool's developer documentation, if available." }, "feedback_url": { "type": "string", "description": "A link to where tool users can leave feedback." }, "privacy_policy_url": { "type": "string", "description": "A link to the tool's privacy policy, if available." }, "translate_url": { "type": "string", "description": "A link to the tool translation interface." }, "bugtracker_url": { "type": "string", "description": "A link to the tool's bug tracker on GitHub, Bitbucket, Phabricator, etc." }, "toolinfo_version": { "type": "integer", "default": 1, "description": "The major version number of the Toolinfo schema used. The default value assumed is 1, referring to versions 1.0.0 and 1.1.0." }, "toolinfo_language": { "$ref": "#/definitions/language", "default": "en", "description": "The language the toolinfo record is written if, if not the default value of English. Use ISO 639 language codes." } }, "required": [ "name", "title", "description", "url" ] }, "wiki": { "type": "string", "pattern": "^(%5C*|(.*)?%5C.?(mediawiki|wiktionary|wiki(pedia|quote|books|source|news|versity|data|voyage|tech|media|mediafoundation))%5C.org)$" }, "commons_file": { "type": "string", "pattern": "^https://commons.wikimedia.org/wiki/File:.+%5C..+$" }, "language": { "type": "string", "pattern": "^(x-.*|[A-Za-z]{2,3}(-.*)?)$" } }, "oneOf": [ { "type": "array", "items": { "$ref": "#/definitions/tool" } }, { "$ref": "#/definitions/tool" } ]
}