# SoftwareDescriptionStandard-template.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "../Documentation/Implementation/data_model/Json/",
    "title": "SoftwareDescriptionStandard",
    "description": "SoftwareDescriptionStandard template",
    "dataTypes": [
        "software"
    ],
    "type": "object",
    "class": "SoftwareDescriptionStandard",
    "properties": {
        "title": {
            "type": "string",
            "description": "Full name of the software",
            "label@fr_FR": "Nom complet du logiciel",
            "label@en_GB": "Full name of the software",
            "tooltip": null,
            "form_label@fr_FR": "Nom complet du logiciel",
            "form_label@en_GB": "Full name of the software"
        },
        "shortName": {
            "type": "string",
            "description": "Short name of the software",
            "label@fr_FR": "Nom abrégé",
            "label@en_GB": "Short name",
            "tooltip": null,
            "hidden": true,
            "form_label@fr_FR": "Nom abrégé",
            "form_label@en_GB": "Short name"
        },
        "description": {
            "type": "string",
            "description": "Description of the software produced during the project",
            "inputType": "textarea",
            "label@fr_FR": "Description",
            "label@en_GB": "Description",
            "tooltip@fr_FR": "Préciser quel est l’objectif du logiciel et indiquer à quel public potentiel (cible) le logiciel s’adresse.",
            "tooltip@en_GB": "Specify the purpose of the software and indicate its potential target audience.",
            "form_label@fr_FR": "Description du logiciel",
            "form_label@en_GB": "Description of the software"
        },
        "type": {
            "type": "string",
            "description": "Type of the generated research output",
            "label@fr_FR": "Type",
            "label@en_GB": "Type",
            "tooltip@fr_FR": "Les types de produits de recherche sont issus du schéma DataCite 4.6.",
            "tooltip@en_GB": "The types of research outputs are based on resourceTypeGeneral property from DataCite Metadata Schema 4.6. ",
            "hidden": true,
            "form_label@fr_FR": "Type de produit de recherche",
            "form_label@en_GB": "Research output type"
        },
        "webSiteUrl": {
            "type": "string",
            "format": "url",
            "description": "URL of the software presentation site",
            "label@fr_FR": "URL du site de présentation du logiciel (ou du projet)",
            "label@en_GB": "URL of the site describing the software (or project)",
            "tooltip": null,
            "example@fr_FR": "https://www.monsite.com/fr",
            "example@en_GB": "https://www.monsite.com/fr",
            "form_label@fr_FR": "URL du site de présentation du logiciel (ou du projet)",
            "form_label@en_GB": "URL of the site describing the software (or project)"
        },
        "creationDate": {
            "type": "string",
            "format": "date",
            "description": "Date of creation: Year development began",
            "label@fr_FR": "Date de début du développement",
            "label@en_GB": "Development start date",
            "tooltip": null,
            "form_label@fr_FR": "Date de début du développement",
            "form_label@en_GB": "Development start date"
        },
        "releasedDate": {
            "type": "string",
            "format": "date",
            "description": "Year of the first version put into production",
            "label@fr_FR": "Date de première version",
            "label@en_GB": "First version release date",
            "tooltip": null,
            "form_label@fr_FR": "Date de première version",
            "form_label@en_GB": "First version release date"
        },
        "applicationField": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "minItems": 1,
            "description": "Main fields of application",
            "inputType": "dropdown",
            "label@fr_FR": "Principaux domaines d'application",
            "label@en_GB": "Principal areas of application",
            "registries": [
                "ClassificationOCDE"
            ],
            "registryCategory": "Subject",
            "tooltip": null,
            "form_label@fr_FR": "Principaux domaines d'application",
            "form_label@en_GB": "Principal areas of application"
        },
        "uncontrolledApplicationField": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "description": "Others application fields (free text)",
            "label@fr_FR": "Autres domaines d'application",
            "label@en_GB": "Others applications",
            "tooltip@fr_FR": "Préciser si votre logiciel peut s’appliquer à d’autre domaines.",
            "tooltip@en_GB": "Indicate if the software could have applications in other fields.",
            "form_label@fr_FR": "Autres domaines d'application",
            "form_label@en_GB": "Others applications"
        },
        "controlledKeyword": {
            "type": "array",
            "table_header": null,
            "items": {
                "type": "object",
                "class": "ControlledKeyword",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "template_name": "ControlledKeywordStandard",
                "required": [
                    "dbid"
                ]
            },
            "description": "Keywords from controlled vocabularies (thesauri, subject indexing schemes, ontology, taxonomies, other knowledge organization systems)",
            "label@fr_FR": "Mots-clés",
            "label@en_GB": "Keywords",
            "tooltip": null,
            "form_label@fr_FR": "Mots clés contrôlés (vocabulaire, thésaurus, lexique...)",
            "form_label@en_GB": "Keywords (incude vocabulary, thesaurus or  lexicon)"
        },
        "version": {
            "type": "string",
            "description": "Software version number",
            "label@fr_FR": "Numéro de version du logiciel",
            "label@en_GB": "Software version number",
            "tooltip@fr_FR": "Une bonne pratique pour les numéros de version est le « semantic versioning » qui est expliqué ici : https://semver.org/lang/fr/.",
            "tooltip@en_GB": "A good practice for version numbers is “semantic versioning”, which is explained here: https://semver.org/.",
            "example@fr_FR": "4.0",
            "example@en_GB": "4.0",
            "form_label@fr_FR": "Numéro de version du logiciel",
            "form_label@en_GB": "Software version number"
        },
        "typology": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "minItems": 1,
            "description": "Software categories",
            "inputType": "dropdown",
            "label@fr_FR": "Typologies du logiciel",
            "label@en_GB": "Software typologies",
            "registries": [
                "SoftwareTypologies"
            ],
            "registryCategory": "SoftwareTypology",
            "overridable": true,
            "tooltip": null,
            "form_label@fr_FR": "Quelle est la (ou les) typologie(s) du logiciel ?",
            "form_label@en_GB": "What is (or are) the software typology(ies)?"
        },
        "relatedOutput": {
            "type": "array",
            "table_header": null,
            "items": {
                "type": "object",
                "class": "ReusedData",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "template_name": "ReusedDataStandard",
                "required": [
                    "dbid"
                ]
            },
            "description": "Links to other research objects (datasets, software, ...) that  are required to test, use the software",
            "label@fr_FR": "Liens avec d’autres produits de recherche",
            "label@en_GB": "Links to other research products",
            "tooltip@fr_FR": "Relier les autres produits, par exemple des jeux de données, nécessaires pour tester et/ou utiliser le logiciel. L’usage des identifiants pérennes est recommandé. S’il agit d’un autre produit du projet, il est possible d’indiquer son titre et URL interne.",
            "tooltip@en_GB": "Provide links to any other products, such as datasets, that are needed to test and/or use the software. The use of persistent identifiers for these links is recommended. If the link is to another product of the same project, its title and internal URL can be used.",
            "form_label@fr_FR": "Votre logiciel est-il lié à d'autres produits de recherche ?",
            "form_label@en_GB": "Is your software linked to any other research products?"
        },
        "cost": {
            "type": "array",
            "table_header@fr_FR": "Type de coût : montant",
            "table_header@en_GB": "Cost type: amount",
            "items": {
                "type": "object",
                "class": "Cost",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "template_name": "CostStandard",
                "required": [
                    "dbid"
                ]
            },
            "description": "Costs associated with software development",
            "label@fr_FR": "Coûts de développement du logiciel",
            "label@en_GB": "Software development costs",
            "tooltip@fr_FR": "Indiquer, par exemple, les coûts liés à des prestations externes ou à du stockage.",
            "tooltip@en_GB": "Include, for example, costs associated with external services or storage.",
            "form_label@fr_FR": "Le développement de votre logiciel implique-t-il des coûts ?",
            "form_label@en_GB": "Does the development of this software involve costs?"
        },
        "contact": {
            "type": "array",
            "table_header@fr_FR": "Nom",
            "table_header@en_GB": "Name",
            "items": {
                "type": "object",
                "class": "Contributor",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "template_name": "ContributorConstantRole",
                "required": [
                    "dbid"
                ]
            },
            "minItems": 1,
            "description": "Contact point for the software",
            "label@fr_FR": "Personne contact",
            "label@en_GB": "Contact person",
            "tooltip@fr_FR": "Personne contact pour le logiciel. Il est important d'indiquer le courriel de la personne contact pour assurer le suivi du produit de recherche.",
            "tooltip@en_GB": "It is important to provide a contact address for someone/the team who will continue to monitor this research product.",
            "form_label@fr_FR": "Personne contact",
            "form_label@en_GB": "Contact person"
        }
    },
    "required": [
        "title",
        "description",
        "type",
        "creationDate",
        "applicationField",
        "typology",
        "contact"
    ],
    "to_string": [],
    "default": {
        "fr_FR": {
            "contact": {
                "role": "Personne contact"
            }
        },
        "en_GB": {
            "contact": {
                "role": "Contact Person"
            }
        }
    }
}