From bb8d7bc8b2f5f556b60bcfc03f918dfbd5922e06 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Mon, 29 Sep 2025 10:51:01 +0200 Subject: [PATCH 1/7] Remove WebService and WebServiceVersion, replace with Service, Interface and InterfaceDependency schemas. --- schemas/products/interface.schema.tpl.json | 73 +++++++++++ .../interfaceDependency.schema.tpl.json | 21 ++++ schemas/products/service.schema.tpl.json | 118 ++++++++++++++++++ schemas/products/webService.schema.tpl.json | 27 ---- .../webServiceVersion.schema.tpl.json | 57 --------- 5 files changed, 212 insertions(+), 84 deletions(-) create mode 100644 schemas/products/interface.schema.tpl.json create mode 100644 schemas/products/interfaceDependency.schema.tpl.json create mode 100644 schemas/products/service.schema.tpl.json delete mode 100644 schemas/products/webService.schema.tpl.json delete mode 100644 schemas/products/webServiceVersion.schema.tpl.json diff --git a/schemas/products/interface.schema.tpl.json b/schemas/products/interface.schema.tpl.json new file mode 100644 index 00000000..1be7314a --- /dev/null +++ b/schemas/products/interface.schema.tpl.json @@ -0,0 +1,73 @@ +{ + "_type": "core:Interface", + "required": [ + "communicationProtocol", + "definition", + "name", + "type", + "versionIdentifier" + ], + "properties": { + "communicationProtocol": { + "_instruction": "Enter the communication protocol used by this interface.", + "_linkedTypes": [ + "controlledTerms:CommunicationProtocol" + ] + }, + "custodian": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that fulfill the role of a custodian for the definition of this interface.", + "_linkedCategories": [ + "legalPerson" + ] + }, + "definition": { + "_instruction": "Enter a web resource that defines this interface, e.g., an OpenAPI.json document.", + "_linkedTypes": [ + "core.WebResource" + ] + }, + "description": { + "type": "string", + "_instruction": "Enter a description of this interface." + }, + "developer": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that developed this interface definition.", + "_linkedCategories": [ + "legalPerson" + ] + }, + "name": { + "type": "string", + "_instruction": "Enter the name of this interface." + }, + "type": { + "_instruction": "Enter the type of this interface.", + "_linkedTypes": [ + "controlledTerms:InterfaceType" + ] + }, + "userDocumentation": { + "_instruction": "Add the publication or file that acts as the full documentation of this interface.", + "_linkedTypes": [ + "core:DOI", + "core:File", + "core:ISBN", + "core:WebResource" + ] + }, + "versionIdentifier": { + "type": "string", + "_instruction": "Enter the version identifier of this interface version." + }, + "versionInnovation": { + "type": "string", + "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this interface version in comparison to its preceding versions." + } + } +} diff --git a/schemas/products/interfaceDependency.schema.tpl.json b/schemas/products/interfaceDependency.schema.tpl.json new file mode 100644 index 00000000..d739c615 --- /dev/null +++ b/schemas/products/interfaceDependency.schema.tpl.json @@ -0,0 +1,21 @@ +{ + "_type": "core:InterfaceDependency", + "required": [ + "failureImpact", + "fulfilledBy" + ], + "properties": { + "failureImpact": { + "_instruction": "Add the impact(s) on the software if the service interface is unavailable.", + "_linkedTypes": [ + "controlledTerms.Impact" + ] + }, + "fulfilledBy": { + "_instruction": "Add the service interface that fulfills this dependency.", + "_linkedTypes": [ + "core.Interface" + ] + } + } +} diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json new file mode 100644 index 00000000..e6eb840d --- /dev/null +++ b/schemas/products/service.schema.tpl.json @@ -0,0 +1,118 @@ +{ + "_type": "core:Service", + "required": [ + "fullDocumentation", + "fullName", + "shortName", + "type" + ], + "properties": { + "custodian": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all parties that fulfill the role of a custodian for the service, typically an organization.", + "_linkedCategories": [ + "legalPerson" + ] + }, + "deploymentProtocol": { + "_instruction": "Add the protocol or workflow recipe that should be used to deploy this service.", + "_linkedTypes": [ + "core:Protocol", + "computation:WorkflowRecipe" + ] + }, + "description": { + "type": "string", + "_instruction": "Enter a description (or abstract) of this service." + }, + "feature": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add the main features of this service.", + "_linkedTypes": [ + "controlledTerms:SoftwareFeature" + ] + }, + "fullDocumentation": { + "_instruction": "Add the publication or file that acts as the full documentation of this service.", + "_linkedTypes": [ + "core:DOI", + "core:File", + "core:ISBN", + "core:WebResource" + ] + }, + "fullName": { + "type": "string", + "_instruction": "Enter a descriptive full name (or title) for this service." + }, + "funding": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all funding information of this service.", + "_linkedTypes": [ + "core:Funding" + ] + }, + "howToCite": { + "type": "string", + "_instruction": "Enter the preferred citation text for this service." + }, + "keyword": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all relevant keywords to this service, either by adding controlled terms or by suggesting new terms.", + "_linkedCategories": [ + "keyword" + ] + }, + "relatedPublication": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all further publications besides the full documentation that provide the original context for the production of this service (e.g., an original research article describing the service).", + "_linkedCategories": [ + "publicationReference" + ] + }, + "scope": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add the scope of this service, i.e., what analysis methods does it perform, what kinds of experimental data is it intended for.", + "_linkedTypes": [ + "controlledTerms:AnalysisTechnique", + "controlledTerms:ExperimentalApproach", + "controlledTerms:Technique" + ] + }, + "shortName": { + "type": "string", + "_instruction": "Enter a short name (or alias) for this service that could be used as a shortened display title." + }, + "supportChannel": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all channels through which a user can receive support for using this service.", + "items": { + "type": "string", + "_formats": [ + "email", + "iri" + ] + } + }, + "type": { + "_instruction": "Add the service type.", + "_linkedTypes": [ + "controlledTerms:ServiceType" + ] + } + } +} diff --git a/schemas/products/webService.schema.tpl.json b/schemas/products/webService.schema.tpl.json deleted file mode 100644 index 5ae96f81..00000000 --- a/schemas/products/webService.schema.tpl.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "_type": "core:WebService", - "_extends": "products/researchProduct.schema.tpl.json", - "required": [ - "developer" - ], - "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "hasVersion": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all versions of this web service.", - "_linkedTypes": [ - "core:WebServiceVersion" - ] - } - } -} diff --git a/schemas/products/webServiceVersion.schema.tpl.json b/schemas/products/webServiceVersion.schema.tpl.json deleted file mode 100644 index feb5fa8d..00000000 --- a/schemas/products/webServiceVersion.schema.tpl.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "_type": "core:WebServiceVersion", - "_extends": "products/researchProductVersion.schema.tpl.json", - "properties": { - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this web service version. Note that these developers will overwrite the developer list provided for the overarching web service.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "hasPart": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all software versions that are components of this web service version.", - "_linkedTypes": [ - "core:SoftwareVersion" - ] - }, - "inputFormat": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all content types that can be used as input by this web service version.", - "_linkedTypes": [ - "core:ContentType" - ] - }, - "isAlternativeVersionOf": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all web service versions that can be used alternatively to this web service version.", - "_linkedTypes": [ - "core:WebServiceVersion" - ] - }, - "isNewVersionOf": { - "_instruction": "Add the web service version preceding this web service version.", - "_linkedTypes": [ - "core:WebServiceVersion" - ] - }, - "outputFormat": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all content types that can be generated as output by this web service version.", - "_linkedTypes": [ - "core:ContentType" - ] - } - } -} From bcd5a599c0e6f97e20ca2d90d4160fe0768be4b0 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Mon, 29 Sep 2025 22:55:06 +0200 Subject: [PATCH 2/7] Changes to the SoftwareVersion schema : linking to Interfaces --- .../products/softwareVersion.schema.tpl.json | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 4fa6f98f..d180c958 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -23,6 +23,19 @@ "controlledTerms:SoftwareApplicationCategory" ] }, + "dependency": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all dependencies of this software version.", + "_embeddedTypes": [ + "core:InterfaceDependency" + ], + "_linkedTypes": [ + "core:Interface", + "core:SoftwareVersion" + ] + }, "developer": { "type": "array", "minItems": 1, @@ -70,6 +83,15 @@ "sands:CommonCoordinateSpaceVersion" ] }, + "implements": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all interfaces that are implemented by this software version.", + "_linkedTypes": [ + "core:Interface" + ] + }, "inputFormat": { "type": "array", "minItems": 1, @@ -138,12 +160,12 @@ "_linkedTypes": [ "controlledTerms:ProgrammingLanguage" ] - }, + }, "requirement": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Enter all requirements of this software version.", + "_instruction": "Enter any requirements of this software version that are not listed under the 'dependency' property.", "items": { "type": "string" } From 9367f0b8f713f5b1d39f3acd4b5d21a121524582 Mon Sep 17 00:00:00 2001 From: Andrew Davison Date: Wed, 28 Jan 2026 17:09:53 +0100 Subject: [PATCH 3/7] Updates to match v0.4 of the specification document https://notes.ebrains.eu/Ye6clhnMRv6y5zsIBRZx8w?view --- .../miscellaneous/dependency.schema.tpl.json | 27 ++++++ schemas/products/interface.schema.tpl.json | 57 +----------- .../interfaceDependency.schema.tpl.json | 21 ----- .../products/interfaceVersion.schema.tpl.json | 34 ++++++++ schemas/products/service.schema.tpl.json | 34 ++------ .../products/softwareVersion.schema.tpl.json | 87 ++++--------------- 6 files changed, 84 insertions(+), 176 deletions(-) create mode 100644 schemas/miscellaneous/dependency.schema.tpl.json delete mode 100644 schemas/products/interfaceDependency.schema.tpl.json create mode 100644 schemas/products/interfaceVersion.schema.tpl.json diff --git a/schemas/miscellaneous/dependency.schema.tpl.json b/schemas/miscellaneous/dependency.schema.tpl.json new file mode 100644 index 00000000..37a08366 --- /dev/null +++ b/schemas/miscellaneous/dependency.schema.tpl.json @@ -0,0 +1,27 @@ +{ + "_type": "core:Dependency", + "required": [ + "fulfilledBy" + ], + "properties": { + "fulfilledBy": { + "_instruction": "Enter the resource that fulfils this dependency.", + "_linkedTypes": [ + "core:Configuration", + "core:File", + "core:InterfaceVersion", + "core:SoftwareVersion", + "core:WebResource" + ] + }, + "failureImpact": { + "_instruction": "Add the impacts that failure of this dependency would have.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_linkedTypes": [ + "controlledTerms:DependencyImpact" + ] + } + } +} diff --git a/schemas/products/interface.schema.tpl.json b/schemas/products/interface.schema.tpl.json index 1be7314a..c11c8608 100644 --- a/schemas/products/interface.schema.tpl.json +++ b/schemas/products/interface.schema.tpl.json @@ -1,11 +1,9 @@ { "_type": "core:Interface", + "_extends": "products/researchProduct.schema.tpl.json", "required": [ "communicationProtocol", - "definition", - "name", - "type", - "versionIdentifier" + "interfaceType" ], "properties": { "communicationProtocol": { @@ -14,60 +12,11 @@ "controlledTerms:CommunicationProtocol" ] }, - "custodian": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for the definition of this interface.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "definition": { - "_instruction": "Enter a web resource that defines this interface, e.g., an OpenAPI.json document.", - "_linkedTypes": [ - "core.WebResource" - ] - }, - "description": { - "type": "string", - "_instruction": "Enter a description of this interface." - }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this interface definition.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "name": { - "type": "string", - "_instruction": "Enter the name of this interface." - }, - "type": { + "interfaceType": { "_instruction": "Enter the type of this interface.", "_linkedTypes": [ "controlledTerms:InterfaceType" ] - }, - "userDocumentation": { - "_instruction": "Add the publication or file that acts as the full documentation of this interface.", - "_linkedTypes": [ - "core:DOI", - "core:File", - "core:ISBN", - "core:WebResource" - ] - }, - "versionIdentifier": { - "type": "string", - "_instruction": "Enter the version identifier of this interface version." - }, - "versionInnovation": { - "type": "string", - "_instruction": "Enter a short description (or summary) of the novelties/peculiarities of this interface version in comparison to its preceding versions." } } } diff --git a/schemas/products/interfaceDependency.schema.tpl.json b/schemas/products/interfaceDependency.schema.tpl.json deleted file mode 100644 index d739c615..00000000 --- a/schemas/products/interfaceDependency.schema.tpl.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "_type": "core:InterfaceDependency", - "required": [ - "failureImpact", - "fulfilledBy" - ], - "properties": { - "failureImpact": { - "_instruction": "Add the impact(s) on the software if the service interface is unavailable.", - "_linkedTypes": [ - "controlledTerms.Impact" - ] - }, - "fulfilledBy": { - "_instruction": "Add the service interface that fulfills this dependency.", - "_linkedTypes": [ - "core.Interface" - ] - } - } -} diff --git a/schemas/products/interfaceVersion.schema.tpl.json b/schemas/products/interfaceVersion.schema.tpl.json new file mode 100644 index 00000000..09a512ab --- /dev/null +++ b/schemas/products/interfaceVersion.schema.tpl.json @@ -0,0 +1,34 @@ +{ + "_type": "core:InterfaceVersion", + "_extends": "products/researchProductVersion.schema.tpl.json", + "properties": { + "isPrecededBy": { + "_instruction": "Add the interface version preceding this one.", + "_linkedTypes": [ + "core:InterfaceVersion" + ] + }, + "isVariantOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all interface versions that can be used alternatively to this one.", + "_linkedTypes": [ + "core:InterfaceVersion" + ] + }, + "isVersionOf": { + "_instruction": "Add the version-independent information about this interface.", + "_linkedTypes": [ + "core:Interface" + ] + }, + "specification": { + "_instruction": "Enter the specification document for this interface version.", + "_linkedTypes": [ + "core:File", + "core:WebResource" + ] + } + } +} diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index e6eb840d..49792311 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -7,35 +7,19 @@ "type" ], "properties": { - "custodian": { + "contribution": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all parties that fulfill the role of a custodian for the service, typically an organization.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "deploymentProtocol": { - "_instruction": "Add the protocol or workflow recipe that should be used to deploy this service.", - "_linkedTypes": [ - "core:Protocol", - "computation:WorkflowRecipe" + "_instruction": "Add all contributions to this service.", + "_embeddedTypes": [ + "core:Contribution" ] }, "description": { "type": "string", "_instruction": "Enter a description (or abstract) of this service." }, - "feature": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add the main features of this service.", - "_linkedTypes": [ - "controlledTerms:SoftwareFeature" - ] - }, "fullDocumentation": { "_instruction": "Add the publication or file that acts as the full documentation of this service.", "_linkedTypes": [ @@ -49,15 +33,6 @@ "type": "string", "_instruction": "Enter a descriptive full name (or title) for this service." }, - "funding": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all funding information of this service.", - "_linkedTypes": [ - "core:Funding" - ] - }, "howToCite": { "type": "string", "_instruction": "Enter the preferred citation text for this service." @@ -87,6 +62,7 @@ "_instruction": "Add the scope of this service, i.e., what analysis methods does it perform, what kinds of experimental data is it intended for.", "_linkedTypes": [ "controlledTerms:AnalysisTechnique", + "controlledTerms:DataType", "controlledTerms:ExperimentalApproach", "controlledTerms:Technique" ] diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 90b28478..8ca57079 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -4,54 +4,14 @@ "_categories": [ "setupComponent" ], - "required": [ - "applicationCategory", - "device", - "feature", - "language", - "license", - "operatingSystem", - "programmingLanguage" - ], "properties": { - "applicationCategory": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all categories to which this software version belongs.", - "_linkedTypes": [ - "controlledTerms:SoftwareApplicationCategory" - ] - }, "dependency": { "type": "array", "minItems": 1, "uniqueItems": true, "_instruction": "Add all dependencies of this software version.", "_embeddedTypes": [ - "core:InterfaceDependency" - ], - "_linkedTypes": [ - "core:Interface", - "core:SoftwareVersion" - ] - }, - "developer": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all parties that developed this software version. Note that these developers will overwrite the developer list provided for the overarching software.", - "_linkedCategories": [ - "legalPerson" - ] - }, - "device": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all operating devices compatible with this software version.", - "_linkedTypes": [ - "controlledTerms:OperatingDevice" + "core:Dependency" ] }, "digitalIdentifier": { @@ -62,34 +22,13 @@ "core:RRID" ] }, - "feature": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all distinguishing characteristics of this software version (e.g., performance, portability or functionality).", - "_linkedTypes": [ - "controlledTerms:SoftwareFeature" - ] - }, - "hasPart": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "_instruction": "Add all software versions that supplement this software version.", - "_linkedTypes": [ - "core:ModelVersion", - "core:SoftwareVersion", - "sands:AnatomicalAtlasVersion", - "sands:CommonCoordinateFrameworkVersion" - ] - }, "implements": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all interfaces that are implemented by this software version.", + "_instruction": "Add all interface versions that are implemented by this software version.", "_linkedTypes": [ - "core:Interface" + "core:InterfaceVersion" ] }, "inputFormat": { @@ -131,13 +70,13 @@ "controlledTerms:Language" ] }, - "license": { + "operatingDevice": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Add all licenses of this software version.", + "_instruction": "Add all operating devices compatible with this software version.", "_linkedTypes": [ - "core:License" + "controlledTerms:OperatingDevice" ] }, "operatingSystem": { @@ -167,14 +106,18 @@ "controlledTerms:ProgrammingLanguage" ] }, - "requirement": { + "scope": { "type": "array", "minItems": 1, "uniqueItems": true, - "_instruction": "Enter any requirements of this software version that are not listed under the 'dependency' property.", - "items": { - "type": "string" - } + "_instruction": "Add terms that describe what this software version does.", + "_linkedTypes": [ + "controlledTerms:DataType", + "controlledTerms:ExperimentalApproach", + "controlledTerms:SoftwareApplicationCategory", + "controlledTerms:SoftwareFeature", + "controlledTerms:Technique" + ] } } } From 281dfa9606f2f659e579407514099838a7b0d97d Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 09:07:31 +0100 Subject: [PATCH 4/7] Update interface.schema.tpl.json --- schemas/products/interface.schema.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/products/interface.schema.tpl.json b/schemas/products/interface.schema.tpl.json index c11c8608..17ab9913 100644 --- a/schemas/products/interface.schema.tpl.json +++ b/schemas/products/interface.schema.tpl.json @@ -15,7 +15,7 @@ "interfaceType": { "_instruction": "Enter the type of this interface.", "_linkedTypes": [ - "controlledTerms:InterfaceType" + "controlledTerms:CommunicationInterfaceType" ] } } From 182c84f272edbc48236e5fca7f1e3d10514aaa44 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 10:38:47 +0100 Subject: [PATCH 5/7] Update service.schema.tpl.json --- schemas/products/service.schema.tpl.json | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index 49792311..b7448ff6 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -60,11 +60,8 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add the scope of this service, i.e., what analysis methods does it perform, what kinds of experimental data is it intended for.", - "_linkedTypes": [ - "controlledTerms:AnalysisTechnique", - "controlledTerms:DataType", - "controlledTerms:ExperimentalApproach", - "controlledTerms:Technique" + "_linkedCategories": [ + "toolScope" ] }, "shortName": { @@ -83,12 +80,6 @@ "iri" ] } - }, - "type": { - "_instruction": "Add the service type.", - "_linkedTypes": [ - "controlledTerms:ServiceType" - ] } } } From 36b82e1b0a9bb0b326499c7f4db32b258f3b0f69 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 10:40:44 +0100 Subject: [PATCH 6/7] Update service.schema.tpl.json --- schemas/products/service.schema.tpl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/products/service.schema.tpl.json b/schemas/products/service.schema.tpl.json index b7448ff6..76cd00be 100644 --- a/schemas/products/service.schema.tpl.json +++ b/schemas/products/service.schema.tpl.json @@ -3,8 +3,8 @@ "required": [ "fullDocumentation", "fullName", - "shortName", - "type" + "scope", + "shortName" ], "properties": { "contribution": { From dc88cc8676f152c58f605f075509b91c5d7eb2c6 Mon Sep 17 00:00:00 2001 From: Lyuba Zehl Date: Thu, 19 Feb 2026 10:42:54 +0100 Subject: [PATCH 7/7] Update softwareVersion.schema.tpl.json --- schemas/products/softwareVersion.schema.tpl.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/schemas/products/softwareVersion.schema.tpl.json b/schemas/products/softwareVersion.schema.tpl.json index 8ca57079..a8126e8c 100644 --- a/schemas/products/softwareVersion.schema.tpl.json +++ b/schemas/products/softwareVersion.schema.tpl.json @@ -4,6 +4,9 @@ "_categories": [ "setupComponent" ], + "required": [ + "scope" + ], "properties": { "dependency": { "type": "array", @@ -111,12 +114,8 @@ "minItems": 1, "uniqueItems": true, "_instruction": "Add terms that describe what this software version does.", - "_linkedTypes": [ - "controlledTerms:DataType", - "controlledTerms:ExperimentalApproach", - "controlledTerms:SoftwareApplicationCategory", - "controlledTerms:SoftwareFeature", - "controlledTerms:Technique" + "_linkedCategories": [ + "toolScope" ] } }