# SoftwareDevelopmentStandard-template.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "../Documentation/Implementation/data_model/Json/",
    "title": "SoftwareDevelopmentStandard",
    "description": "SoftwareDevelopmentStandard template",
    "dataTypes": [
        "software"
    ],
    "type": "object",
    "class": "SoftwareDevelopmentStandard",
    "properties": {
        "codeRepository": {
            "type": "string",
            "description": "Name of the code repository",
            "inputType": "dropdown",
            "label@fr_FR": "Nom de la forge logicielle",
            "label@en_GB": "Name of the software forge",
            "registries": [
                "CodeRepositories"
            ],
            "registryCategory": "CodeRepository",
            "overridable": true,
            "tooltip@fr_FR": "Une forge logicielle est un système de gestion de rédaction, de partage et de maintenance collaborative de texte. C’est un environnement web constitué d’un ensemble d’outils, issus en particulier du génie logiciel, afin de faciliter le développement de codes sources.",
            "tooltip@en_GB": "A software forge is a web platform consisting of a set of software engineering tools that facilitates the development of source code by providing an online environment for managing the writing, sharing and collaborative maintenance of text files.",
            "form_label@fr_FR": "Utilisez-vous une forge logicielle ?",
            "form_label@en_GB": "Do you use a sofware forge?"
        },
        "codeRepositoryUrl": {
            "type": "string",
            "format": "url",
            "description": "URL of the code repository",
            "label@fr_FR": "URL de la forge logicielle",
            "label@en_GB": "URL of the software forge",
            "tooltip": null,
            "form_label@fr_FR": "Indiquer, le cas échéant, le lien vers le dépôt du code ou l'URL d'accès",
            "form_label@en_GB": "If so, provide the link to the code repository or the access URL"
        },
        "softwareAccess": {
            "type": "string",
            "description": "Conditions of access to the source code",
            "inputType": "dropdown",
            "label@fr_FR": "Mode d'accès",
            "label@en_GB": "Source code access mode",
            "registries": [
                "SoftwareAccess"
            ],
            "registryCategory": "Access",
            "tooltip": null,
            "form_label@fr_FR": "L'accès au code source est-il ?",
            "form_label@en_GB": "How to access the source code?"
        },
        "versionControlTool": {
            "type": "string",
            "description": "Using a version control tool",
            "inputType": "dropdown",
            "label@fr_FR": "Utilisez-vous un gestionnaire de version ?",
            "label@en_GB": "Do you use a version manager?",
            "registries": [
                "VersionControls"
            ],
            "registryCategory": "VersionControl",
            "overridable": true,
            "tooltip": null,
            "form_label@fr_FR": "Utilisez-vous un gestionnaire de version ?",
            "form_label@en_GB": "Do you use a version manager?"
        },
        "softwareTest": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "description": "Types of test method used to ensure the quality of the code",
            "inputType": "dropdown",
            "label@fr_FR": "Quels types de tests utilisez-vous pour vérifier la qualité du code ?",
            "label@en_GB": "What tests were used to verify the code quality?",
            "registries": [
                "SoftwareTestTypes"
            ],
            "registryCategory": "SoftwareTestType",
            "tooltip": null,
            "form_label@fr_FR": "Quels types de tests utilisez-vous pour vérifier la qualité du code ?",
            "form_label@en_GB": "What tests were used to verify the code quality?"
        },
        "continuousIntegrationTool": {
            "type": "string",
            "description": "Name of the continuous integration tool",
            "inputType": "dropdown",
            "label@fr_FR": "Utilisez-vous un framework d'intégration continue ?",
            "label@en_GB": "Do you use a continuous integration framework?",
            "registries": [
                "IntegrationTools"
            ],
            "registryCategory": "IntegrationTool",
            "overridable": true,
            "tooltip": null,
            "form_label@fr_FR": "Utilisez-vous un framework d'intégration continue ?",
            "form_label@en_GB": "Do you use a continuous integration framework?"
        },
        "continuousIntegrationUrl": {
            "type": "string",
            "format": "url",
            "description": "URL to the continuous integration service",
            "label@fr_FR": "URL du framework d'intégration continue, s'il existe ?",
            "label@en_GB": "What, if any, is the URL of the continuous integration framework?",
            "tooltip": null,
            "form_label@fr_FR": "URL du framework d'intégration continue, s'il existe ?",
            "form_label@en_GB": "What, if any, is the URL of the continuous integration framework?"
        },
        "description": {
            "type": "string",
            "description": "Additional information on the choice of development tools and methods",
            "inputType": "textarea",
            "label@fr_FR": "Informations complémentaires",
            "label@en_GB": "Additional information",
            "tooltip": null,
            "example@fr_FR": "Vous pouvez ici compléter vos intentions, justifier vos choix cités ci-dessus et ajouter tout autre commentaire ou information.",
            "example@en_GB": "Use this space to any comments about your motivations or to justify the final choices made (as described above).",
            "form_label@fr_FR": "Informations complémentaires",
            "form_label@en_GB": "Additional information"
        }
    },
    "required": [
        "softwareAccess"
    ],
    "to_string": []
}