diff --git a/README.md b/README.md index 28f0926..0495868 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,19 @@ This document template for DSW is available as open-source via GitHub Repository * **Rob Hooft** <[rob.hooft@health-ri.nl](mailto:rob.hooft@health-ri.nl)> * ORCID: [0000-0001-6825-9439](https://orcid.org/0000-0001-6825-9439) * GitHub: [@rwwh](https://github.com/rwwh) +* **Jana MartĂnková** <[jana.martinkova@ds-wizard.org]>(mailto:jana.martinkova@ds-wizard.org)> + * ORCID: [0000-0001-8575-6533](https://orcid.org/0000-0001-8575-6533/) + * GitHub: [@jmartinkova](https://github.com/jmartinkova) ## Changelog +### 1.18.0 + +- Update according to the Science Europe DMP template, including the project number, access to private data, and project costs +- Fix the question regarding data versions to allow for multiple choices +- Correct the version table and front page + ### 1.17.0 - Adjusted to template metamodel version 13 (released in DSW 4.3.0) diff --git a/src/content.html.j2 b/src/content.html.j2 index d11373e..27fa74b 100644 --- a/src/content.html.j2 +++ b/src/content.html.j2 @@ -1,49 +1,40 @@
For this dataset, we are using the following instruments: +
No instruments for this dataset have been specified.
+ {%- endif -%} + {# Quality #} + {%- set measuredDataQualityPath = [pathPrefix, uuids.measuredDataQualityQUuid]|reply_path -%} + {%- set measuredDataQualityAUuid = repliesMap[measuredDataQualityPath]|reply_str_value -%} + {%- if measuredDataQualityAUuid == uuids.measuredDataQualityNoAUuid -%} +We will not be using quality process for this dataset.
+ {%- elif measuredDataQualityAUuid == uuids.measuredDataQualityYesAUuid -%} + {# Named quality processes #} + {%- set mdqPrefix = [measuredDataQualityPath, uuids.measuredDataQualityYesAUuid]|reply_path -%} + {%- set calibratingAUuid = repliesMap[[mdqPrefix, uuids.mdQualityCalibatingQUuid]|reply_path]|reply_str_value -%} + {%- set repetitionAUuid = repliesMap[[mdqPrefix, uuids.mdQualityRepetitionQUuid]|reply_path]|reply_str_value -%} + {%- set standardizedAUuid = repliesMap[[mdqPrefix, uuids.mdQualityStandardizedQUuid]|reply_path]|reply_str_value -%} + {%- set validationAUuid = repliesMap[[mdqPrefix, uuids.mdQualityValidationQUuid]|reply_path]|reply_str_value -%} + {%- set peerReviewAUuid = repliesMap[[mdqPrefix, uuids.mdQualityPeerReviewQUuid]|reply_path]|reply_str_value -%} + {%- set vocabulariesAUuid = repliesMap[[mdqPrefix, uuids.mdQualityVocabulariesQUuid]|reply_path]|reply_str_value -%} + {%- set consistencyAUuid = repliesMap[[mdqPrefix, uuids.mdQualityConsistencyQUuid]|reply_path]|reply_str_value -%} + {%- set calibrating = calibratingAUuid == uuids.mdQualityCalibatingYesAUuid -%} + {%- set repetition = repetitionAUuid == uuids.mdQualityRepetitionYesAUuid -%} + {%- set standardized = standardizedAUuid == uuids.mdQualityStandardizedYesAUuid -%} + {%- set validation = validationAUuid == uuids.mdQualityValidationYesAUuid -%} + {%- set peerReview = peerReviewAUuid == uuids.mdQualityPeerReviewYesAUuid -%} + {%- set vocabularies = vocabulariesAUuid == uuids.mdQualityVocabulariesYesAUuid -%} + {%- set consistency = consistencyAUuid == uuids.mdQualityConsistencyYesAUuid -%} + {%- set qualityProcesses = [consistency, calibrating, repetition, standardized, validation, peerReview, vocabularies] -%} + {%- set qualityCount = qualityProcesses|select("true")|list|length -%} + {%- if qualityCount == 1 -%} ++ We will be using + {% if calibrating -%} + calibrating measurements + {%- endif -%} + {%- if repetition -%} + repeat samples/measurements + {%- endif -%} + {%- if standardized -%} + standardized data capture/recording + {%- endif -%} + {%- if validation -%} + Data Entry validation + {%- endif -%} + {%- if peerReview -%} + data peer review + {%- endif -%} + {%- if vocabularies -%} + controlled vocabularies + {%- endif %} + {%- if consistency -%} + measuring samples for which the outcome is known in order to monitor consistency + {%- endif %} + as part of the quality process. +
+ {%- elif qualityCount > 1 -%} ++ We will be using the following quality processes: +
We will be using quality processes.
+ {%- endif -%} + {# Other quality processes #} + {%- set mdQualityOtherPath = [mdqPrefix, uuids.mdQualityOtherQUuid]|reply_path -%} + {%- set mdQualityOtherAUuid = repliesMap[mdQualityOtherPath]|reply_str_value -%} + {%- if mdQualityOtherAUuid == uuids.mdQualityOtherYesAUuid -%} + {%- set mdQualityOtherYesPath = [mdQualityOtherPath, uuids.mdQualityOtherYesAUuid, uuids.mdQualityOtherWhatQUuid]|reply_path -%} + {%- set mdQualityOther = repliesMap[mdQualityOtherYesPath]|reply_str_value -%} + {%- if mdQualityOther -%} +
{{ "Additional" if qualityCount > 0 else "Our" }} quality processes are: {{ mdQualityOther|dot }}
+ {%- endif -%} + {%- endif -%} + {%- endif -%} +There will be no instrument dataset in this project.
+ {%- endif -%} + + {# Existing datasets #} + {%- set preexistingPath = [uuids.reusingCUuid, uuids.preexistingQUuid]|reply_path -%} + {%- set preexistingAUuid = repliesMap[preexistingPath]|reply_str_value -%} + {%- if preexistingAUuid == uuids.preexistingYesAUuid -%} + {%- set refDataPath = [preexistingPath, uuids.preexistingYesAUuid, uuids.refDataQUuid]|reply_path -%} + {%- set refDataItems = repliesMap[refDataPath]|reply_items -%} + {%- set nrefDataPath = [preexistingPath, uuids.preexistingYesAUuid, uuids.nrefDataQUuid]|reply_path -%} + {%- set nrefDataItems = repliesMap[nrefDataPath]|reply_items -%} + + {%- if (refDataItems|length > 0) or (nrefDataItems|length > 0) -%} +#} + + {# Reference data set will be used #} + {%- if refDataUseReply == uuids.refDataUseYesAUuid %} + + {# identification #} + {{macros.integrationValue(refDataNameReply)}} +
We will re-use this standard reference data + {%- if refDataWhere -%} + {{" "}}available via:{{" "}} + {%- if refDataWhere.startswith("http://") or refDataWhere.startswith("https://") or refDataWhere.startswith("ftp://") -%} + {{ refDataWhere }} . + {%- else -%} + {{ refDataWhere }} + {%- endif -%} + {%- endif -%} + + {# usage #} + {%- set refDataUsageQ = [ refDataUsedPrefix, uuids.refDataUsageQUuid]|reply_path -%} + {%- set refDataUsageReply = repliesMap[refDataUsageQ]|reply_str_value -%} + {%- if refDataUsageReply -%} + {{+" "}}in order to "{{ refDataUsageReply}}" + {%- endif -%} + .
+ + {# version #} + {%- set refDataVersionedPath = [refDataUsedPrefix, uuids.refDataVersionedQUuid]|reply_path -%} + {%- set refDataVersionedAUuid = repliesMap[refDataVersionedPath]|reply_str_value -%} + {%- if refDataVersionedAUuid == uuids.refDataVersionedYesAUuid -%} + {%- set refDataVersionedWhichPath = [refDataVersionedPath, uuids.refDataVersionedYesAUuid, uuids.refDataVersionedWhichQUuid]|reply_path -%} + {%- set refDataVersionedWhich = repliesMap[refDataVersionedWhichPath]|reply_str_value -%} + {%- set refDataVersionedChangePath = [refDataVersionedPath, uuids.refDataVersionedYesAUuid, uuids.refDataVersionedChangeQUuid]|reply_path -%} + {%- set refDataVersionedChangeAUuid = repliesMap[refDataVersionedChangePath]|reply_str_value -%} + {%- if refDataVersionedWhich or refDataVersionedChangeAUuid %} ++ {% if refDataVersionedWhich -%} + We will use version "{{ refDataVersionedWhich }}" of this dataset. + {%- endif -%} + {%- if refDataVersionedChangeAUuid == uuids.refDataVersionedChangeStayAUuid %} + If a new version becomes available during the project, we will stay with the old version. + {%- elif refDataVersionedChangeAUuid == uuids.refDataVersionedChangeNewAUuid %} + If a new version becomes available during the project, new analyses will be done with the new version. + {%- elif refDataVersionedChangeAUuid == uuids.refDataVersionedChangeAllAUuid %} + If a new version becomes available during the project, all analyses will be redone with the new version. + {%- endif -%} +
+ {%- endif -%} + {%- endif -%} + + {# availability of the standard referece data for future results reproduction #} + {%- set refDataReproduce = [refDataUsedPrefix, uuids.refDataReproduceQUuid]|reply_path -%} + {%- set refDataReproduceReply = repliesMap[refDataReproduce]|reply_str_value -%} ++ {%- if refDataReproduceReply == uuids.refDataReproduceProviderAUuid -%} + This standard referece data will be available for long term by the provider. + {%- elif refDataReproduceReply == uuids.refDataReproduceCopyAUuid -%} + We will keep the copy of this standard referece data and make it available with our results. + {%- elif refDataReproduceReply == uuids.refDataReproduceBothAUuid -%} + This standard referece data will be available for long term by the provider as well as we will keep the copy of this dataset and make it available with our results. + {%- endif -%} +
+ + {# licence #} + {%- set refDataConditions = [refDataUsedPrefix, uuids.refDataConditionsQUuid]|reply_path -%} + {%- set refDataConditionsReply = repliesMap[refDataConditions]|reply_str_value -%} + {%- set refDataConditionsOther = [refDataConditions, uuids.refDataConditionsOtherQUuid]|reply_path -%} + {%- set refDataConditionsOtherReply = repliesMap[refDataConditionsOther]|reply_str_value -%} + {%- if refDataConditionsReply %} +This standard referece data are{{+" "}} + {%- if refDataConditionsReply == uuids.refDataConditionsCC0AUuid -%} + freely available for any use. + {%- elif refDataConditionsReply == uuids.refDataConditionsCCBYAUuid -%} + freely available with obligation to quote the source. + {%- elif refDataConditionsReply == uuids.refDataConditionsOtherAUuid -%} + available with {{" "}} + {%- if refDataConditionsOtherRepl -%} + following restrictions: "{{refDataConditionsOtherRepl}}". + {%- else -%} + {{" "}}restrictions, that will be specified. + {%- endif -%} + {%- endif -%} +
+ {%- endif -%} + + {# format #} + {%- set refDataFormat = [refDataUsedPrefix, uuids.refDataFormatQUuid]|reply_path -%} + {%- set refDataFormatReply = repliesMap[refDataFormat]|reply_str_value -%} ++ {%- if refDataFormatReply == uuids.refDataFormatConvertAUuid -%} + The standard referece data are in the fromat that has to be transformed before using. + {%- elif refDataFormatReply == uuids.refDataFormatUseAUuid -%} + The standard referece data are in the fromat that does not have to be transformed and we can use it directly. + {% endif %} +
+ + {# Reference data set that will NOT be used #} + {%- elif refDataUseReply == uuids.refDataUseNoAUuid -%} + {%- set refDataUsedNoPrefix = [refDataUse, uuids.refDataUseNoAUuid, uuids.refDataUseNoWhyQUuid]|reply_path -%} + {%- set refDataUseNoReply = repliesMap[refDataUsedNoPrefix]|reply_str_value -%} + {%- set refDataUseNoOtherReason = [refDataUsedNoPrefix, uuids.refDataUseNoReasonAUuid ,uuids.refDataUseNoReasonQUuid]|reply_path -%} + {%- set refDataUseNoOtherReasonReply = repliesMap[refDataUseNoOtherReason]|reply_str_value %} + + {# identification #} + {{macros.integrationValue(refDataNameReply)}} +We considered reusing this standard reference data + {%- if refDataWhere -%} + {{" "}}available via:{{" "}} + {%- if refDataWhere.startswith("http://") or refDataWhere.startswith("https://") or refDataWhere.startswith("ftp://") -%} + {{ refDataWhere }} . + {%- else -%} + {{ refDataWhere}} + {%- endif -%} + {%- endif -%} + + {# no usage reason #} + {%- if refDataUseNoReply -%} + , but decided not to re-use it + {%- if refDataUseNoReply == uuids.refDataUseNoDataAUuid -%} + {{" "}}because it misses data we need + {%- elif refDataUseNoReply == uuids.refDataUseNoAspectAUuid -%} + {{" "}}because it misses required aspects + {%- elif refDataUseNoReply == uuids.refDataUseNoQualityAUuid -%} + {{" "}}because it is not sufficient quality + {%- elif refDataUseNoReply == uuids.refDataUseNoCondAUuid -%} + {{" "}}because its conditions of use do not allow us to use it + {%- elif refDataUseNoReply == uuids.refDataUseNoReasonAUuid and refDataUseNoOtherReasonReply -%} + {{" "}}because: "{{refDataUseNoOtherReasonReply}}" + {%- endif -%} + . + {%- else -%} + .
+ {%- endif -%} + + {%- endif -%} ++ + {# Non-reference data set will be used #} + {%- if nrefDataUseReply == uuids.nrefDataUseYesAUuid %} + + {# identification #} + {{-macros.integrationValue(nrefDataNameReply)}} +
We will re-use this non-referece data + {%- if nrefDataWhere -%} + {{" "}} available via:{{" "}} + {%- if nrefDataWhere.startswith("http://") or nrefDataWhere.startswith("https://") or nrefDataWhere.startswith("ftp://") -%} + {{ nrefDataWhere }} . + {%- else -%} + {{ nrefDataWhere }} + {%- endif -%} + {%- endif -%} + + {# usage #} + {%- set nrefDataUsageQ = [nrefDataUsedPrefix, uuids.nrefDataUsageQUuid]|reply_path -%} + {%- set nrefDataUsageReply = repliesMap[nrefDataUsageQ]|reply_str_value -%} + {%- if nrefDataUsageReply -%} + {{+" "}}in order to "{{ nrefDataUsageReply}}" + {%- endif -%} + .
+ + {# Which part of the non-reference data we will use #} + {%- set nrefDataComplete = [nrefDataUsedPrefix, uuids.nrefDataCompleteQUuid]|reply_path -%} + {%- set nrefDataCompleteReply = repliesMap[nrefDataComplete]|reply_str_value -%} + {%- if nrefDataCompleteReply -%} +We will use{{+" "}} + {%- if nrefDataCompleteReply == uuids.nrefDataCompleteUseAUuid -%} + the complete data set. + {%- elif nrefDataCompleteReply == uuids.nrefDataCompleteDocumentAUuid -%} + only subset of data and we will select it by filtering and/or selection (which will be documented). + {%- elif nrefDataCompleteReply == uuids.nrefDataCompleteSubsetAUuid -%} + only selected subset of data, which will be available together with our results. + {%- endif -%} +
+ {%- endif -%} + + {# Format #} + {%- set nrefDataFormat = [nrefDataUsedPrefix, uuids.nrefDataFormatQUuid]|reply_path -%} + {%- set nrefDataFormatReply = repliesMap[nrefDataFormat]|reply_str_value -%} + {%- if nrefDataFormatReply == uuids.nrefDataFormatConvertAUuid %} +The format of this data needs to be transformed before our using.
+ {%- endif -%} + + {# Versioning - will change in the future? #} + {%- set nrefDataFixed = [nrefDataUsedPrefix, uuids.nrefDataFixedQUuid]|reply_path -%} + {%- set nrefDataFixedReply = repliesMap[nrefDataFixed]|reply_str_value -%} + {%- if nrefDataFixedReply %} +This data{{+" "}} + {%- if nrefDataFixedReply == uuids.nrefDataFixedFixedAUuid -%} + are fixed, therefore will not influence reproducibility of our results. + {%- elif nrefDataFixedReply == uuids.nrefDataFixedChangeAUuid -%} + may change in the future, which might influence reproducibility of our results. + {%- endif -%} +
+ {%- endif -%} + + {# Licence #} + {%- set nrefDataConditions = [nrefDataUsedPrefix, uuids.nrefDataConditionsQUuid]|reply_path -%} + {%- set nrefDataConditionsReply = repliesMap[nrefDataConditions]|reply_str_value -%} + {%- if nrefDataConditionsReply %} +This data are{{+" "}} + {%- if nrefDataConditionsReply == uuids.nrefDataConditionsCC0AUuid -%} + freely available for any use. + {%- elif nrefDataConditionsReply == uuids.nrefDataConditionsCCBYAUuid -%} + freely available with obligation to quote the source. + {%- elif nrefDataConditionsReply == uuids.nrefDataConditionsOtherAUuid -%} + {%- set nrefDataConditionsOther = [nrefDataConditions, uuids.nrefDataConditionsOtherAUuid, uuids.nrefDataConditionsOtherQUuid]|reply_path -%} + {%- set nrefDataConditionsOtherReply = repliesMap[nrefDataConditionsOther]|reply_str_value -%} + {%- if nrefDataConditionsOtherReply -%} + available with{{" "}} + {%- if nrefDataConditionsOtherReply -%} + following restrictions: "{{nrefDataConditionsOtherReply}}". + {%- else -%} + {{" "}}restrictions, that will be specified. + {%- endif -%} + {%- endif -%} + {%- endif -%} +
+ {%- endif -%} + + {# Personal Data #} + {%- set nrefDataPersonal = [nrefDataUsedPrefix, uuids.nrefDataPersonalQUuid]|reply_path -%} + {%- set nrefDataPersonalReply = repliesMap[nrefDataPersonal]|reply_str_value -%} + {%- if nrefDataPersonalReply == uuids.nrefDataPersonalYesAUuid %} ++ This data include personal data + {%- set nrefDataPersonalLegalBasis = [nrefDataPersonal, uuids.nrefDataPersonalYesAUuid, uuids.nrefDataPersonalLegalBasisQUuid]|reply_path -%} + {%- set nrefDataPersonalLegalBasisReply = repliesMap[nrefDataPersonalLegalBasis]|reply_str_value -%} + {%- if nrefDataPersonalLegalBasisReply -%} + , legaly based on{{+" "}} + {%- if nrefDataPersonalLegalBasisReply == uuids.nrefDataPersonalLegalBasisPubInterestAUuid -%} + public interest for processing the data under GDPR. + {%- elif nrefDataPersonalLegalBasisReply == uuids.nrefDataPersonalLegalBasisConsentAUuid -%} + consent given by the research subject for processing the data under GDPR + {%- set nrefDataPersonalLegalBasisReuse = [nrefDataPersonalLegalBasis, uuids.nrefDataPersonalLegalBasisConsentAUuid, uuids.nrefDataPersonalLegalBasisConsentReuseQUuid]|reply_path -%} + {%- set nrefDataPersonalLegalBasisReuseReply = repliesMap[nrefDataPersonalLegalBasisReuse]|reply_str_value -%} + {%- if nrefDataPersonalLegalBasisReuseReply -%} + , which{{+" "}} + {%- if nrefDataPersonalLegalBasisReuseReply == uuids.nrefDataPersonalLegalBasisConsentReuseYesAUuid -%} + covers also our reuse. + {%- elif nrefDataPersonalLegalBasisReuseReply == uuids.nrefDataPersonalLegalBasisConsentReuseNoAUuid -%} + does not cover our reuse; therefore, new consent will be needed. + {%- endif -%} + {%- else -%} + . + {%- endif -%} + {%- elif nrefDataPersonalLegalBasisReply == uuids.nrefDataPersonalLebalBasisOtherAUuid -%} + {%- set nrefDataPersonalLegalBasisOther = [nrefDataPersonalLegalBasis, uuids.nrefDataPersonalLebalBasisOtherAUuid, uuids.nrefDataPersonalLegalBasisOtherQUuid]|reply_path -%} + {%- set nrefDataPersonalLegalBasisOtherReply = repliesMap[nrefDataPersonalLegalBasisOther]|reply_str_value -%} + {%- if nrefDataPersonalLegalBasisOtherReply == uuids.nrefDataPersonalLegalBasisOtherLegalAUuid -%} + a legal requirement (meaning a legal obligation to do this data processing). + {%- elif nrefDataPersonalLegalBasisOtherReply == uuids.nrefDataPersonalLegalBasisOtherVitalAUuid -%} + a vital interest (meaning it needs to be done to protect the vital interests of the data subject). + {%- elif nrefDataPersonalLegalBasisOtherReply == uuids.nrefDataPersonalLegalBasisOtherLegitAUuid -%} + a legitimate interest (meaning data subjects all expect us to do this data processing because of who we are). + {%- elif nrefDataPersonalLegalBasisOtherReply == uuids.nrefDataPersonalLegalBasisOtherContractAUuid -%} + a requirement to fulfill our contract with the data subjects. + {%- endif -%} + {%- endif -%} + {%- endif -%} +
+ {%- endif -%} + + {# Ethical Approval for Reuse #} + {%- set nrefDataEthicalApproval = [nrefDataUsedPrefix, uuids.nrefDataEthicalApprovalQUuid]|reply_path -%} + {%- set nrefDataEthicalApprovalReply = repliesMap[nrefDataEthicalApproval]|reply_str_value -%} + {%- if nrefDataEthicalApprovalReply == uuids.nrefDataEthicalApprovalCoversAUuid -%} +The existing ethical approval under research ethics laws of this non-reference data covers our reuse.
+ {%- elif nrefDataEthicalApprovalReply == uuids.nrefDataEthicalApprovalExtensionAUuid -%} +An extension of existing ethical approval under research ethics laws of this non-reference data will be needed.
+ {%- elif nrefDataEthicalApprovalReply == uuids.nrefDataEthicalApprovalNewAUuid -%} +New ethical approval under research ethics laws of this non-reference data will be needed to cover our usage of the data.
+ {%- endif -%} + + {# Non-reference data set that will NOT be used #} + {%- elif nrefDataUseReply == uuids.nrefDataUseNoAUuid -%} + {%- set nrefDataUsedNoPrefix = [nrefDataUse, uuids.nrefDataUseNoAUuid, uuids.nrefDataUseNoWhyQUuid]|reply_path -%} + {%- set nrefDataUseNoReply = repliesMap[nrefDataUsedNoPrefix]|reply_str_value -%} + {%- set nrefDataUseNoOtherReason = [nrefDataUsedNoPrefix, uuids.nrefDataUseNoReasonAUuid ,uuids.nrefDataUseNoReasonQUuid]|reply_path -%} + {# {%- set nrefDataUseNoOtherReasonReply = repliesMap[nrefDataUseNoOtherReason]|reply_str_value %} #} + + {# identification #} + {{-macros.integrationValue(nrefDataNameReply)}} +We considered reusing this non-reference data + {%- if nrefDataWhere -%} + {{+" "}}available via:{{" "}} + {%- if nrefDataWhere.startswith("http://") or nrefDataWhere.startswith("https://") or nrefDataWhere.startswith("ftp://") -%} + {{ nrefDataWhere }} . + {%- else -%} + {{ nrefDataWhere }} + {%- endif -%} + {%- endif -%} + + {# no usage reason #} + {%- if nrefDataUseNoReply -%} + , but decided not to reuse it + {%- if nrefDataUseNoReply == uuids.nrefDataUseNoDataAUuid -%} + {{" "}}because it misses data we need + {%- elif nrefDataUseNoReply == uuids.nrefDataUseNoAspectAUuid -%} + {{" "}}becauseit misses required aspects + {%- elif nrefDataUseNoReply == uuids.nrefDataUseNoQualityAUuid -%} + {{" "}}becauseit is not sufficient quality + {%- elif nrefDataUseNoReply == uuids.nrefDataUseNoCondAUuid -%} + {{" "}}because its conditions of use do not allow us to use it + {%- elif nrefDataUseNoReply == uuids.nrefDataUseNoReasonAUuid and nrefDataUseNoOtherReasonReply -%} + {{" "}}because: "{{nrefDataUseNoOtherReasonReply}}" + {%- endif -%} + . + {%- else -%} + .
+ {%- endif -%} + + {%- endif -%} + + +There are no re-used datasets.
+ {%- endif -%} + + {# Constrains - Data Harmonization #} + {%- set dataHarmo = [preexistingPath, uuids.preexistingYesAUuid, uuids.dataHarmoQUuid]|reply_path -%} + {%- set dataHarmoReply = repliesMap [dataHarmo]|reply_str_value -%} + {%- if dataHarmoReply == uuids.dataHarmoYesAUuid -%} +We need to harmonize different sources of existing data before reusing them + {%- set dataHarmonAvailable = [dataHarmo, uuids.dataHarmoYesAUuid, uuids.dataHarmoOthersQUuid]|reply_path -%} + {%- set dataHarmonAvailableReply = repliesMap[dataHarmonAvailable]|reply_str_value -%} + {%- if dataHarmonAvailableReply == uuids.dataHarmoOthersYesAUuid -%} + {{+" "}}and we will make this harmonization results available to others + {%- elif dataHarmonAvailableReply == uuids.dataHarmoOthersNoAUuid -%} + {{+" "}}but we won't make this harmonization results available to others + {%- endif -%} + .
+ {%- endif -%} + + {# Constrains - (Re)made data computer readable #} + {%- set dataCompRead = [preexistingPath, uuids.preexistingYesAUuid, uuids.dataCompReadQUuid]|reply_path -%} + {%- set dataCompReadReply = repliesMap[dataCompRead]|reply_str_value -%} + {%- if dataCompReadReply == uuids.dataCompReadYesAUuid -%} +We will need to (re-)made the data into computer readable form before their using + + {%- set dataCompReadItself = [dataCompRead, uuids.dataCompReadYesAUuid, uuids.dataCompReadItselfQUuid]|reply_path -%} + {%- set dataCompReadItselfReply = repliesMap[dataCompReadItself]|reply_str_value -%} + {%- set dataCompReadOthers = [dataCompRead, uuids.dataCompReadYesAUuid, uuids.dataCompReadOthersQUuid]|reply_path -%} + {%- set dataCompReadOthersReply = repliesMap[dataCompReadOthers]|reply_str_value -%} + + {%- if dataCompReadItselfReply -%} + {%- if dataCompReadItselfReply == uuids.dataCompReadItselfYesAUuid -%} + {{+" "}}and we will make this computer readable form available to others throught a standard repository + {%- elif dataCompReadItselfReply == uuids.dataCompReadItselfYesOtherAUuid -%} + {{+" "}}and we will make this computer readable form available to others + {%- elif dataCompReadItselfReply == uuids.dataCompReadItselfNoAUuid -%} + {{+" "}}but we won't make this computer readable form available to others + {%- endif -%} + {%- endif -%} + . + + {%- if dataCompReadOthersReply -%} + {%- if dataCompReadOthersReply == uuids.dataCompReadOthersYesAUuid %} + We will provide machine readable, standardised metadata to others + {%- set dataCompReadWhichMetadataStandardPath = [dataCompReadOthers, uuids.dataCompReadOthersYesAUuid, uuids.dataCompReadOthersYesStandardsQUuid]|reply_path -%} + {%- set dataCompReadMetadataStandardItems = repliesMap[dataCompReadWhichMetadataStandardPath]|reply_items -%} + {%- if dataCompReadMetadataStandardItems|length > 0 -%} + {{+" "}}and we will use following Metadata Standards: +
We will use lab notebooks to make sure that there is good provenance of the data analysis.
+ {%- elif provenanceAUuid == uuids.provenanceELabNotebookAUuid -%} +We will use an electronic lab notebook to make sure that there is good provenance of the data analysis.
+ {%- elif provenanceAUuid == uuids.provenanceOtherAUuid -%} + {%- set provenanceOtherPath = [provenancePath, uuids.provenanceOtherAUuid, uuids.provenanceOtherQUuid]|reply_path -%} + {%- set provenanceOther = repliesMap[provenanceOtherPath]|reply_str_value -%} +We will use other solution than (electronic) lab notebooks to make sure that there is good provenance of the data analysis{{ ": " ~ provenanceOther|dot if provenanceOther else "." }} + {%- endif -%} + {%- endif -%} +
For this dataset, we are using the following instruments: -
No instruments for this dataset have been specified.
- {%- endif -%} - {# Quality #} - {%- set measuredDataQualityPath = [pathPrefix, uuids.measuredDataQualityQUuid]|reply_path -%} - {%- set measuredDataQualityAUuid = repliesMap[measuredDataQualityPath]|reply_str_value -%} - {%- if measuredDataQualityAUuid == uuids.measuredDataQualityNoAUuid -%} -We will not be using quality process for this dataset.
- {%- elif measuredDataQualityAUuid == uuids.measuredDataQualityYesAUuid -%} - {# Named quality processes #} - {%- set mdqPrefix = [measuredDataQualityPath, uuids.measuredDataQualityYesAUuid]|reply_path -%} - {%- set calibratingAUuid = repliesMap[[mdqPrefix, uuids.mdQualityCalibatingQUuid]|reply_path]|reply_str_value -%} - {%- set repetitionAUuid = repliesMap[[mdqPrefix, uuids.mdQualityRepetitionQUuid]|reply_path]|reply_str_value -%} - {%- set standardizedAUuid = repliesMap[[mdqPrefix, uuids.mdQualityStandardizedQUuid]|reply_path]|reply_str_value -%} - {%- set validationAUuid = repliesMap[[mdqPrefix, uuids.mdQualityValidationQUuid]|reply_path]|reply_str_value -%} - {%- set peerReviewAUuid = repliesMap[[mdqPrefix, uuids.mdQualityPeerReviewQUuid]|reply_path]|reply_str_value -%} - {%- set vocabulariesAUuid = repliesMap[[mdqPrefix, uuids.mdQualityVocabulariesQUuid]|reply_path]|reply_str_value -%} - {%- set consistencyAUuid = repliesMap[[mdqPrefix, uuids.mdQualityConsistencyQUuid]|reply_path]|reply_str_value -%} - {%- set calibrating = calibratingAUuid == uuids.mdQualityCalibatingYesAUuid -%} - {%- set repetition = repetitionAUuid == uuids.mdQualityRepetitionYesAUuid -%} - {%- set standardized = standardizedAUuid == uuids.mdQualityStandardizedYesAUuid -%} - {%- set validation = validationAUuid == uuids.mdQualityValidationYesAUuid -%} - {%- set peerReview = peerReviewAUuid == uuids.mdQualityPeerReviewYesAUuid -%} - {%- set vocabularies = vocabulariesAUuid == uuids.mdQualityVocabulariesYesAUuid -%} - {%- set consistency = consistencyAUuid == uuids.mdQualityConsistencyYesAUuid -%} - {%- set qualityProcesses = [consistency, calibrating, repetition, standardized, validation, peerReview, vocabularies] -%} - {%- set qualityCount = qualityProcesses|select("true")|list|length -%} - {%- if qualityCount == 1 -%} -- We will be using - {% if calibrating -%} - calibrating measurements - {%- endif -%} - {%- if repetition -%} - repeat samples/measurements - {%- endif -%} - {%- if standardized -%} - standardized data capture/recording - {%- endif -%} - {%- if validation -%} - Data Entry validation - {%- endif -%} - {%- if peerReview -%} - data peer review - {%- endif -%} - {%- if vocabularies -%} - controlled vocabularies - {%- endif %} - {%- if consistency -%} - measuring samples for which the outcome is known in order to monitor consistency - {%- endif %} - as part of the quality process. -
- {%- elif qualityCount > 1 -%} -- We will be using the following quality processes: -
We will be using quality processes.
- {%- endif -%} - {# Other quality processes #} - {%- set mdQualityOtherPath = [mdqPrefix, uuids.mdQualityOtherQUuid]|reply_path -%} - {%- set mdQualityOtherAUuid = repliesMap[mdQualityOtherPath]|reply_str_value -%} - {%- if mdQualityOtherAUuid == uuids.mdQualityOtherYesAUuid -%} - {%- set mdQualityOtherYesPath = [mdQualityOtherPath, mdQualityOtherYesAUuid, mdQualityOtherYesQUuid]|reply_path -%} - {%- set mdQualityOther = repliesMap[mdQualityOtherYesPath]|reply_str_value -%} - {%- if mdQualityOther -%} -
{{ "Additional" if qualityCount > 0 else "Our" }} quality processes are: {{ mdQualityOther|dot }}
- {%- endif -%} - {%- endif -%} - {%- endif -%} -There will be no instrument dataset in this project.
- {%- endif -%} - - {# Storage and file conventions #} - {%- set storageConvPath = [uuids.processingCUuid, uuids.storageConvQUuid]|reply_path -%} - {%- set storageConvAUuid = repliesMap[storageConvPath]|reply_str_value -%} - {%- if storageConvAUuid == uuids.storageConvExploreAUuid -%} - {%- set stConvPrefix = [storageConvPath, uuids.storageConvExploreAUuid]|reply_path -%} - {%- set storageSpacePath = [stConvPrefix, uuids.storageSpaceQUuid]|reply_path -%} - {%- set storageSpaceAUuid = repliesMap[storageSpacePath]|reply_str_value -%} - {%- set storageConvFSysPath = [stConvPrefix, uuids.storageConvFSysQUuid]|reply_path -%} - {%- set storageConvFSysAUuid = repliesMap[storageConvFSysPath]|reply_str_value -%} - {%- set storageConvObjStorePath = [stConvPrefix, uuids.storageConvObjStoreQUuid]|reply_path -%} - {%- set storageConvObjStoreAUuid = repliesMap[storageConvObjStorePath]|reply_str_value -%} - {%- set storageConvRelDbPath = [stConvPrefix, uuids.storageConvRelDbQUuid]|reply_path -%} - {%- set storageConvRelDbAUuid = repliesMap[storageConvRelDbPath]|reply_str_value -%} - {%- if storageConvFSysAUuid or storageConvObjStoreAUuid or storageConvRelDbAUuid -%} -The project will require so little storage space for all data and software (including temporary storage) that it is not a problem.
- {%- elif storageSpaceAUuid == uuids.storageSpaceSpecifyAUuid -%} - {%- set size = repliesMap[[storageSpacePath, storageSpaceAUuid, uuids.storageSpaceSpecifyQUuid]|reply_path]|reply_str_value -%} - {%- if size -%} -We estimate the storage space that the project will require for all data and software (including temporary storage) to {{ size }} gigabytes.
- {%- endif -%} - {%- endif -%} - {# File System #} -- {%- if storageConvFSysAUuid == uuids.storageConvFSysNoAUuid -%} - We will not use a filesystem with files and folders. - {%- elif storageConvFSysAUuid == uuids.storageConvFSysYesAUuid -%} - {%- set scFSysPrefix = [storageConvFSysPath, uuids.storageConvFSysYesAUuid]|reply_path -%} - {# Folder types #} - {%- set scFSysSubjFoldersPath = [scFSysPrefix, uuids.scFSysSubjFoldersQUuid]|reply_path -%} - {%- set scFSysSubjFoldersAUuid = repliesMap[scFSysSubjFoldersPath]|reply_str_value -%} - {%- set scFSysAnalysisFoldersPath = [scFSysPrefix, uuids.scFSysAnalysisFoldersQUuid]|reply_path -%} - {%- set scFSysAnalysisFoldersAUuid = repliesMap[scFSysAnalysisFoldersPath]|reply_str_value -%} - {%- set scFSysWorkflowStepFoldersPath = [scFSysPrefix, uuids.scFSysWorkflowStepFoldersQUuid]|reply_path -%} - {%- set scFSysWorkflowStepFoldersAUuid = repliesMap[scFSysWorkflowStepFoldersPath]|reply_str_value -%} - {%- set subjectFolders = scFSysSubjFoldersAUuid == uuids.scFSysSubjFoldersYesAUuid -%} - {%- set analysisFolders = scFSysAnalysisFoldersAUuid == uuids.scFSysAnalysisFoldersYesAUuid -%} - {%- set workflowStepFolders = scFSysWorkflowStepFoldersAUuid == uuids.scFSysWorkflowStepFoldersYesAUuid -%} - {%- set folders = [subjectFolders, analysisFolders, workflowStepFolders] -%} - {%- if folders|any -%} - We will use a filesystem with files and folders with the following folder conventions: -
- {%- if storageConvObjStoreAUuid == uuids.storageConvObjStoreNoAUuid -%} - We will not be storing data in an "object/document store" system. - {%- elif storageConvObjStoreAUuid == uuids.storageConvObjStoreYesAUuid -%} - {%- set scObjStoreNamingQUuid = [storageConvObjStorePath, uuids.storageConvObjStoreYesAUuid, uuids.scObjStoreNamingQUuid]|reply_path -%} - {%- set scObjStoreNaming = repliesMap[scObjStoreNamingQUuid]|reply_str_value -%} - {%- if scObjStoreNaming -%} - We will be storing data in an "object/document store" system using following naming conventions for objects in the store: {{ scObjStoreNaming|dot }} - {%- else -%} - We will be storing data in an "object/document store" system. - {%- endif -%} - {%- endif -%} -
- {# Databases #} -- {%- if storageConvRelDbAUuid == uuids.storageConvRelDbNoAUuid -%} - We will not use a database system to store project data. - {%- elif storageConvRelDbAUuid == uuids.storageConvRelDbYesAUuid -%} - We will use a database system to store project data. - {%- set scRelDbHandleChangesPath = [storageConvRelDbPath, uuids.storageConvRelDbYesAUuid, uuids.scRelDbHandleChangesQUuid]|reply_path -%} - {%- set scRelDbHandleChangesAUuid = repliesMap[scRelDbHandleChangesPath]|reply_str_value -%} - {%- if scRelDbHandleChangesAUuid == uuids.scRelDbReadOnlyAnswerUuid %} - Data in the database will be read-only. - {%- elif scRelDbHandleChangesAUuid == uuids.scRelDbCrudAnswerUuid %} - We will be allowing Create, Update and Delete operations for data in the database. - {%- elif scRelDbHandleChangesAUuid == uuids.scRelDbExpireAnswerUuid %} - Modifications will be made by Expiring the existing data and Adding updated data. - {%- endif -%} - {%- endif -%} -
- {%- endif -%} - {%- endif -%} -- {%- if refDataWhere.startswith("http://") or refDataWhere.startswith("https://") or refDataWhere.startswith("ftp://") %} - It is available via: {{ refDataWhere }}. - {%- else %} - It is available via: {{ refDataWhere }}. - {%- endif -%} -
- {%- endif -%} - {# version #} - {%- set refDataVersionedPath = [refDataUsedPrefix, uuids.refDataVersionedQUuid]|reply_path -%} - {%- set refDataVersionedAUuid = repliesMap[refDataVersionedPath]|reply_str_value -%} - {%- if refDataVersionedAUuid == uuids.refDataVersionedYesAUuid -%} - {%- set refDataVersionedWhichPath = [refDataVersionedPath, uuids.refDataVersionedYesAUuid, uuids.refDataVersionedWhichQUuid]|reply_path -%} - {%- set refDataVersionedWhich = repliesMap[refDataVersionedWhichPath]|reply_str_value -%} - {%- set refDataVersionedChangePath = [refDataVersionedPath, uuids.refDataVersionedYesAUuid, uuids.refDataVersionedChangeQUuid]|reply_path -%} - {%- set refDataVersionedChangeAUuid = repliesMap[refDataVersionedChangePath]|reply_str_value -%} - {%- if refDataVersionedWhich or refDataVersionedChangeAUuid %} -- {% if refDataVersionedWhich -%} - We will use version "{{ refDataVersionedWhich }}" of this dataset. - {%- endif -%} - {%- if refDataVersionedChangeAUuid == uuids.refDataVersionedChangeStayAUuid %} - If a new version becomes available during the project, we will stay with the old version. - {%- elif refDataVersionedChangeAUuid == uuids.refDataVersionedChangeNewAUuid %} - If a new version becomes available during the project, new analyses will be done with the new version. - {%- elif refDataVersionedChangeAUuid == uuids.refDataVersionedChangeAllAUuid %} - If a new version becomes available during the project, all analyses will be redone with the new version. - {%- endif -%} -
- {%- endif -%} - {%- endif -%} -- {%- if nrefDataWhere.startswith("http://") or nrefDataWhere.startswith("https://") or nrefDataWhere.startswith("ftp://") %} - It is available via: {{ nrefDataWhere }}. - {%- else %} - It is available via: {{ nrefDataWhere }}. - {%- endif -%} -
- {%- endif -%} - {# version #} - {%- set refDataVersionedPath = [refDataUsedPrefix, uuids.refDataVersionedQUuid]|reply_path -%} - {%- set refDataVersionedAUuid = repliesMap[refDataVersionedPath]|reply_str_value -%} - {%- if refDataVersionedAUuid == uuids.refDataVersionedYesAUuid -%} - {%- set refDataVersionedWhichPath = [refDataVersionedPath, uuids.refDataVersionedYesAUuid, uuids.refDataVersionedWhichQUuid]|reply_path -%} - {%- set refDataVersionedWhich = repliesMap[refDataVersionedWhichPath]|reply_str_value -%} - {%- set refDataVersionedChangePath = [refDataVersionedPath, uuids.refDataVersionedYesAUuid, uuids.refDataVersionedChangeQUuid]|reply_path -%} - {%- set refDataVersionedChangeAUuid = repliesMap[refDataVersionedChangePath]|reply_str_value -%} - {%- if refDataVersionedWhich or refDataVersionedChangeAUuid %} -- {% if refDataVersionedWhich -%} - We will use version "{{ refDataVersionedWhich }}" of this dataset. - {%- endif -%} - {%- if refDataVersionedChangeAUuid == uuids.refDataVersionedChangeStayAUuid %} - If a new version becomes available during the project, we will stay with the old version. - {%- elif refDataVersionedChangeAUuid == uuids.refDataVersionedChangeNewAUuid %} - If a new version becomes available during the project, new analyses will be done with the new version. - {%- elif refDataVersionedChangeAUuid == uuids.refDataVersionedChangeAllAUuid %} - If a new version becomes available during the project, all analyses will be redone with the new version. - {%- endif -%} -
- {%- endif -%} - {%- endif -%} - {# data use #} - {%- set dataUse = repliesMap[[refDataUsedPrefix, uuids.refDataUsageQUuid]|reply_path]|reply_str_value -%} - {%- if dataUse -%} -We will use the dataset as follows: {{ dataUse|dot }}
- {%- endif -%} -- {%- if nrefDataWhere.startswith("http://") or nrefDataWhere.startswith("https://") or nrefDataWhere.startswith("ftp://") %} - It is available via: {{ nrefDataWhere }}. - {%- else %} - It is available via: {{ nrefDataWhere }}. - {%- endif -%} -
- {%- endif -%} - {# data access #} - {%- set nrefDataAccessPath = [nrefDataUsedPrefix, uuids.nrefDataAccessQUuid]|reply_path -%} - {%- set nrefDataAccessAUuid = repliesMap[nrefDataAccessPath]|reply_str_value -%} - {%- if nrefDataAccessAUuid %} -- {% if nrefDataAccessAUuid == uuids.nrefDataAccessHaveCopyAUuid -%} - We already have a copy of this dataset. - {%- elif nrefDataAccessAUuid == uuids.nrefDataAccessWillDownloadAUuid -%} - We will download or get a copy. - {%- elif nrefDataAccessAUuid == uuids.nrefDataAccessWillOnlineAUuid -%} - We will use its online version without downloading it. - {%- endif -%} -
- {%- endif -%} - {# data use #} - {%- set dataUse = repliesMap[[nrefDataUsedPrefix, uuids.nrefDataUsageQUuid]|reply_path]|reply_str_value -%} - {%- if dataUse -%} -We will use the dataset as follows: {{ dataUse|dot }}
- {%- endif -%} -Datasets considered for reuse and actually reused are described in Question 1.
List of data to be published is given in Section E, Question 9. This also includes information about catalogs where the data can be found. Information about data types used is given in Section A, Question 1.
+List of data to be published is given in Section 5, Question 10 and 11. This also includes information about catalogs where the data can be found. Information about data types used is given in Section 1, Question 2.
{# Metadata #} {%- set metadataPath = [uuids.creatingCUuid, uuids.metadataQUuid]|reply_path -%} {%- set metadataAUuid = repliesMap[metadataPath]|reply_str_value -%} {%- if metadataAUuid == uuids.metadataExploreAUuid -%} - {# Good provenance (lab notebooks) #} - {%- set provenancePath = [metadataPath, uuids.metadataExploreAUuid, uuids.provenanceQUuid]|reply_path -%} - {%- set provenanceAUuid = repliesMap[provenancePath]|reply_str_value -%} - {%- if provenanceAUuid == uuids.provenanceLabNotebooksAUuid -%} -We will use lab notebooks to make sure that there is good provenance of the data analysis.
- {%- elif provenanceAUuid == uuids.provenanceELabNotebookAUuid -%} -We will use an electronic lab notebook to make sure that there is good provenance of the data analysis.
- {%- elif provenanceAUuid == uuids.provenanceOtherAUuid -%} - {%- set provenanceOtherPath = [provenancePath, uuids.provenanceOtherAUuid, uuids.provenanceOtherQUuid]|reply_path -%} - {%- set provenanceOther = repliesMap[provenanceOtherPath]|reply_str_value -%} -We will use other solution than (electronic) lab notebooks to make sure that there is good provenance of the data analysis{{ ": " ~ provenanceOther|dot if provenanceOther else "." }} - {%- endif -%} {# Metadata standards #} {%- set metadataSentences = [] -%} @@ -101,5 +89,129 @@ {%- endif %}
{%- endif -%} + + {# Storage and file conventions #} + {%- set storageConvPath = [uuids.processingCUuid, uuids.storageConvQUuid]|reply_path -%} + {%- set storageConvAUuid = repliesMap[storageConvPath]|reply_str_value -%} + {%- if storageConvAUuid == uuids.storageConvExploreAUuid -%} + {%- set stConvPrefix = [storageConvPath, uuids.storageConvExploreAUuid]|reply_path -%} + {%- set storageSpacePath = [stConvPrefix, uuids.storageSpaceQUuid]|reply_path -%} + {%- set storageSpaceAUuid = repliesMap[storageSpacePath]|reply_str_value -%} + {%- set storageConvFSysPath = [stConvPrefix, uuids.storageConvFSysQUuid]|reply_path -%} + {%- set storageConvFSysAUuid = repliesMap[storageConvFSysPath]|reply_str_value -%} + {%- set storageConvObjStorePath = [stConvPrefix, uuids.storageConvObjStoreQUuid]|reply_path -%} + {%- set storageConvObjStoreAUuid = repliesMap[storageConvObjStorePath]|reply_str_value -%} + {%- set storageConvRelDbPath = [stConvPrefix, uuids.storageConvRelDbQUuid]|reply_path -%} + {%- set storageConvRelDbAUuid = repliesMap[storageConvRelDbPath]|reply_str_value -%} + {%- if storageConvFSysAUuid or storageConvObjStoreAUuid or storageConvRelDbAUuid -%} +The project will require so little storage space for all data and software (including temporary storage) that it is not a problem.
+ {%- elif storageSpaceAUuid == uuids.storageSpaceSpecifyAUuid -%} + {%- set size = repliesMap[[storageSpacePath, storageSpaceAUuid, uuids.storageSpaceSpecifyQUuid]|reply_path]|reply_str_value -%} + {%- if size -%} +We estimate the storage space that the project will require for all data and software (including temporary storage) to {{ size }} gigabytes.
+ {%- endif -%} + {%- endif -%} + {# File System #} ++ {%- if storageConvFSysAUuid == uuids.storageConvFSysNoAUuid -%} + We will not use a filesystem with files and folders. + {%- elif storageConvFSysAUuid == uuids.storageConvFSysYesAUuid -%} + {%- set scFSysPrefix = [storageConvFSysPath, uuids.storageConvFSysYesAUuid]|reply_path -%} + {# Folder types #} + {%- set scFSysSubjFoldersPath = [scFSysPrefix, uuids.scFSysSubjFoldersQUuid]|reply_path -%} + {%- set scFSysSubjFoldersAUuid = repliesMap[scFSysSubjFoldersPath]|reply_str_value -%} + {%- set scFSysAnalysisFoldersPath = [scFSysPrefix, uuids.scFSysAnalysisFoldersQUuid]|reply_path -%} + {%- set scFSysAnalysisFoldersAUuid = repliesMap[scFSysAnalysisFoldersPath]|reply_str_value -%} + {%- set scFSysWorkflowStepFoldersPath = [scFSysPrefix, uuids.scFSysWorkflowStepFoldersQUuid]|reply_path -%} + {%- set scFSysWorkflowStepFoldersAUuid = repliesMap[scFSysWorkflowStepFoldersPath]|reply_str_value -%} + {%- set subjectFolders = scFSysSubjFoldersAUuid == uuids.scFSysSubjFoldersYesAUuid -%} + {%- set analysisFolders = scFSysAnalysisFoldersAUuid == uuids.scFSysAnalysisFoldersYesAUuid -%} + {%- set workflowStepFolders = scFSysWorkflowStepFoldersAUuid == uuids.scFSysWorkflowStepFoldersYesAUuid -%} + {%- set folders = [subjectFolders, analysisFolders, workflowStepFolders] -%} + {%- if folders|any -%} + We will use a filesystem with files and folders with the following folder conventions: +
+ {%- if storageConvObjStoreAUuid == uuids.storageConvObjStoreNoAUuid -%} + We will not be storing data in an "object/document store" system. + {%- elif storageConvObjStoreAUuid == uuids.storageConvObjStoreYesAUuid -%} + {%- set scObjStoreNamingQUuid = [storageConvObjStorePath, uuids.storageConvObjStoreYesAUuid, uuids.scObjStoreNamingQUuid]|reply_path -%} + {%- set scObjStoreNaming = repliesMap[scObjStoreNamingQUuid]|reply_str_value -%} + {%- if scObjStoreNaming -%} + We will be storing data in an "object/document store" system using following naming conventions for objects in the store: {{ scObjStoreNaming|dot }} + {%- else -%} + We will be storing data in an "object/document store" system. + {%- endif -%} + {%- endif -%} +
+ {# Databases #} ++ {%- if storageConvRelDbAUuid == uuids.storageConvRelDbNoAUuid -%} + We will not use a database system to store project data. + {%- elif storageConvRelDbAUuid == uuids.storageConvRelDbYesAUuid -%} + We will use a database system to store project data. + {%- set scRelDbHandleChangesPath = [storageConvRelDbPath, uuids.storageConvRelDbYesAUuid, uuids.scRelDbHandleChangesQUuid]|reply_path -%} + {%- set scRelDbHandleChangesAUuid = repliesMap[scRelDbHandleChangesPath]|reply_str_value -%} + {%- if scRelDbHandleChangesAUuid == uuids.scRelDbReadOnlyAnswerUuid %} + Data in the database will be read-only. + {%- elif scRelDbHandleChangesAUuid == uuids.scRelDbCrudAnswerUuid %} + We will be allowing Create, Update and Delete operations for data in the database. + {%- elif scRelDbHandleChangesAUuid == uuids.scRelDbExpireAnswerUuid %} + Modifications will be made by Expiring the existing data and Adding updated data. + {%- endif -%} + {%- endif -%} +
+ {%- endif -%} + {%- endif -%} +For this dataset we will not be using quality process for this dataset.
+ {%- elif measuredDataQualityAUuid == uuids.measuredDataQualityYesAUuid -%} + {# Named quality processes #} + {%- set mdqPrefix = [measuredDataQualityPath, uuids.measuredDataQualityYesAUuid]|reply_path -%} + {%- set calibratingAUuid = repliesMap[[mdqPrefix, uuids.mdQualityCalibatingQUuid]|reply_path]|reply_str_value -%} + {%- set repetitionAUuid = repliesMap[[mdqPrefix, uuids.mdQualityRepetitionQUuid]|reply_path]|reply_str_value -%} + {%- set standardizedAUuid = repliesMap[[mdqPrefix, uuids.mdQualityStandardizedQUuid]|reply_path]|reply_str_value -%} + {%- set validationAUuid = repliesMap[[mdqPrefix, uuids.mdQualityValidationQUuid]|reply_path]|reply_str_value -%} + {%- set peerReviewAUuid = repliesMap[[mdqPrefix, uuids.mdQualityPeerReviewQUuid]|reply_path]|reply_str_value -%} + {%- set vocabulariesAUuid = repliesMap[[mdqPrefix, uuids.mdQualityVocabulariesQUuid]|reply_path]|reply_str_value -%} + {%- set consistencyAUuid = repliesMap[[mdqPrefix, uuids.mdQualityConsistencyQUuid]|reply_path]|reply_str_value -%} + {%- set calibrating = calibratingAUuid == uuids.mdQualityCalibatingYesAUuid -%} + {%- set repetition = repetitionAUuid == uuids.mdQualityRepetitionYesAUuid -%} + {%- set standardized = standardizedAUuid == uuids.mdQualityStandardizedYesAUuid -%} + {%- set validation = validationAUuid == uuids.mdQualityValidationYesAUuid -%} + {%- set peerReview = peerReviewAUuid == uuids.mdQualityPeerReviewYesAUuid -%} + {%- set vocabularies = vocabulariesAUuid == uuids.mdQualityVocabulariesYesAUuid -%} + {%- set consistency = consistencyAUuid == uuids.mdQualityConsistencyYesAUuid -%} + {%- set qualityProcesses = [consistency, calibrating, repetition, standardized, validation, peerReview, vocabularies] -%} + {%- set qualityCount = qualityProcesses|select("true")|list|length -%} + {%- if qualityCount == 1 -%} ++ We will be using + {% if calibrating -%} + calibrating measurements + {%- endif -%} + {%- if repetition -%} + repeat samples/measurements + {%- endif -%} + {%- if standardized -%} + standardized data capture/recording + {%- endif -%} + {%- if validation -%} + Data Entry validation + {%- endif -%} + {%- if peerReview -%} + data peer review + {%- endif -%} + {%- if vocabularies -%} + controlled vocabularies + {%- endif %} + {%- if consistency -%} + measuring samples for which the outcome is known in order to monitor consistency + {%- endif %} + as part of the quality process. +
+ {%- elif qualityCount > 1 -%} ++ We will be using the following quality processes for this dataset: +
We will be using quality processes.
+ {%- endif -%} + {# Other quality processes #} + {%- set mdQualityOtherPath = [mdqPrefix, uuids.mdQualityOtherQUuid]|reply_path -%} + {%- set mdQualityOtherAUuid = repliesMap[mdQualityOtherPath]|reply_str_value -%} + {%- if mdQualityOtherAUuid == uuids.mdQualityOtherYesAUuid -%} + {%- set mdQualityOtherYesPath = [mdQualityOtherPath, uuids.mdQualityOtherYesAUuid,uuids.mdQualityOtherWhatQUuid]|reply_path -%} + {%- set mdQualityOther = repliesMap[mdQualityOtherYesPath]|reply_str_value -%} + {%- if mdQualityOther -%} +
{{ "Additional" if qualityCount > 0 else "Our" }} quality processes are: {{ mdQualityOther|dot }}
+ {%- endif -%} + {%- endif -%} + {%- endif -%} +There will be no instrument dataset in this project.
+ {%- endif -%} + + +There is no shared workspace used during the project for working with data.
{%- set notSharedBackupPath = [sharedWorkspacePath, uuids.sharedWorkspaceNoAUuid, uuids.notSharedBackupQUuid]|reply_path -%} {%- set notSharedBackupAUuid = repliesMap[notSharedBackupPath]|reply_str_value -%} {%- if notSharedBackupAUuid == uuids.notSharedBackupYesAUuid -%} -Data that project members themselves store adequately backed up and traceable. Therefore data are protected against both equipment failure and human error.
+Data that project members themselves store are adequately backed up and traceable. Therefore data are protected against both equipment failure and human error.
{%- endif -%} {%- elif sharedWorkspaceAUuid == uuids.sharedWorkspaceYesAUuid -%} +There is a shared workspace used during the project for working with data.
{%- set sharedHowPath = [sharedWorkspacePath, uuids.sharedWorkspaceYesAUuid, uuids.sharedHowQUuid]|reply_path -%} {%- set sharedHowAUuid = repliesMap[sharedHowPath]|reply_str_value -%} {%- if sharedHowAUuid == uuids.sharedHowExploreAUuid -%} diff --git a/src/questions/07-access-security.html.j2 b/src/questions/06-access-security.html.j2 similarity index 54% rename from src/questions/07-access-security.html.j2 rename to src/questions/06-access-security.html.j2 index 32a0f8f..7a6b1cb 100644 --- a/src/questions/07-access-security.html.j2 +++ b/src/questions/06-access-security.html.j2 @@ -1,9 +1,8 @@{%- if storeLab %} - Project members will not store data or software on computers in the lab or external hard drives connected to those computers. + Project members will not store data or software on computers in the lab or external hard drives connected to those computers.{{" "}} {%- endif -%} {%- if risksCarryHomeAUuid == uuids.risksCarryHomeNoAUuid %} {%- if storeLab -%}They{%- else -%}Project members{%- endif %} will not carry data with them (e.g. on laptops, USB sticks, or other external media). @@ -104,17 +103,103 @@ {%- elif risksPersonalDataAUuid == uuids.risksPersonalDataAnonymizedAUuid -%}
All personal data will be anonymized as early as possible.
{%- endif -%} + + + {# Shared Workspace #} + {%- set sharedWorkspaceQUuid = [uuids.processingCUuid, uuids.sharedWorkspaceQUuid]|reply_path -%} + {%- set sharedWorkspaceReply = repliesMap[sharedWorkspaceQUuid]|reply_str_value -%} + {%- set sharedWorkspacePrefix = [uuids.processingCUuid, uuids.sharedWorkspaceQUuid, uuids.sharedWorkspaceYesAUuid]|reply_path -%} + {%- set sharedWorkspaceReliableAUuid = [sharedWorkspacePrefix, uuids.sharedReliableQUuid, uuids.sharedReliableExploreAUuid ]|reply_path -%} + {%- set sharedWorkspaceReliablePreventLossQUuid = [sharedWorkspaceReliableAUuid, uuids.sharedReliablePreventLossQUuid]|reply_path -%} + {%- set sharedWorkspaceReliablePreventLossReply = repliesMap[sharedWorkspaceReliablePreventLossQUuid]|reply_str_value -%} + {%- if sharedWorkspaceReply == uuids.sharedWorkspaceYesAUuid and sharedWorkspaceReliablePreventLossReply -%} +During the project we will use shared working space to work with our data{{+" "}} + {%- if sharedWorkspaceReliablePreventLossReply == uuids.sharedReliablePreventLossSufficientAUuid -%} + that ensures the prevention of complete data loss. + {%- elif sharedWorkspaceReliablePreventLossReply == uuids.sharedReliablePreventLossStoredAUuid -%} + but we will store all essential data elsewhere. + {%- endif -%} + + {%- set sharedWorkspaceReliableBackupQUuid = [sharedWorkspaceReliableAUuid, uuids.sharedReliableBackupQUuid]|reply_path -%} + {%- set sharedWorkspaceReliableBackupReply = repliesMap[sharedWorkspaceReliableBackupQUuid]|reply_str_value -%} + {%- if sharedWorkspaceReliableBackupReply == uuids.sharedReliableBackupCopyAllSomewhereAUuid -%} + {{+" "}}And all the data that are stores elsewhere is adequately backed up. + {%- elif sharedWorkspaceReliableBackupReply == uuids.sharedReliableBackupCopyBackupsAUuid -%} + {{+" "}}We make (automated) backups of all data stored outside of the working area. + {%- endif -%} +
+ + {%- endif -%} + + {# Long term preservation and recovery #} + {%- set preservingArchivedDuringQUuid = [uuids.preservingCUuid, uuids.archivedDuringQUuid]|reply_path -%} + {%- set preservingArchivedDuringReply = repliesMap[preservingArchivedDuringQUuid]|reply_str_value -%} + {%- if preservingArchivedDuringReply == uuids.archivedDuringYesAUuid -%} +We will be archiving data for long term preservation already during our project. + {%- set preservingArchivedDuringReQUuid = [preservingArchivedDuringQUuid, uuids.archivedDuringYesAUuid, uuids.archivedDuringReQUuid]|reply_path -%} + {%- set preservingArchivedDuringReReply = repliesMap[preservingArchivedDuringReQUuid]|reply_str_value -%} + + {%- if preservingArchivedDuringReReply == uuids.archivedDruingReYesAUuid -%} + {{" "}}The archived data will be changing over time and needs re-archival. + {%- set preservingArchivedDuringRelyQUuid = [preservingArchivedDuringReQUuid, uuids.archivedDruingReYesAUuid, uuids.archivedDuringRelyQUuid]|reply_path -%} + {%- set preservingArchivedDuringRelyReply = repliesMap[preservingArchivedDuringRelyQUuid]|reply_str_value -%} + {%- set archivedDuringReFrequentBackupsQUuid = [preservingArchivedDuringReQUuid, uuids.archivedDruingReYesAUuid, uuids.archivedDuringReFrequentBackupsQUuid]|reply_path-%} + {%- set preservingArchivedDuringReFrequentBackupsReply = repliesMap[archivedDuringReFrequentBackupsQUuid]|reply_str_value -%} + + {%- if (preservingArchivedDuringReFrequentBackupsReply == uuids.archivedDuringReFrequentBackupsYesAUuid ) and (preservingArchivedDuringRelyReply == uuids.archivedDuringRelyYesAUuid) -%} + {{" "}}This data needs frequent backups and we will rely on these backups in case of recovery from human errors.
+ {%- elif (preservingArchivedDuringReFrequentBackupsReply == uuids.archivedDuringReFrequentBackupsNoAUuid ) and (preservingArchivedDuringRelyReply == uuids.archivedDuringRelyYesAUuid )-%} + {{" "}}This data will be infrequently backed up and we will rely on these backups in case of recovery from human errors. + {%- endif -%} + + {%- endif -%} + {%- endif -%} + {# Access control in shared workspace #} {%- set sharedAccessControlPath = [sharedWorkspacePrefix, uuids.sharedAccessControlQUuid]|reply_path -%} {%- set sharedAccessControlAUuid = repliesMap[sharedAccessControlPath]|reply_str_value -%} - {%- if sharedAccessControlAUuid == uuids.sharedAccessControlMembersRWAUuid -%} -Only all project members have read/write access to the data.
- {%- elif sharedAccessControlAUuid == uuids.sharedAccessControlInstituteRAUuid -%} -Anyone in the institute has read access to the data; all project members have read/write access.
- {%- elif sharedAccessControlAUuid == uuids.sharedAccessControlMembersRAUuid -%} -Only project members will have read access; only selected project members will be able to write data.
- {%- elif sharedAccessControlAUuid == uuids.sharedAccessControlMembersRequestAUuid -%} -Anyone in the institute can read data, only project members can request write access.
+ {%- if sharedAccessControlAUuid -%} +Only all project members have read/write access to the data.
+ {%- elif sharedAccessControlAUuid == uuids.sharedAccessControlInstituteRAUuid -%} +Anyone in the institute has read access to the data; all project members have read/write access.
+ {%- elif sharedAccessControlAUuid == uuids.sharedAccessControlMembersRAUuid -%} +Only project members will have read access; only selected project members will be able to write data.
+ {%- elif sharedAccessControlAUuid == uuids.sharedAccessControlMembersRequestAUuid -%} +Anyone in the institute can read data, only project members can request write access.
+ {%- endif -%} + {%- endif -%} + + {# Policies and Procedures for DMP #} + {%- set policiesProceduresQUuid = [uuids.adminDetailsCUuid, uuids.policiesProceduresQUuid]|reply_path -%} + {%- set policiesProceduresItems = repliesMap [policiesProceduresQUuid]|reply_items -%} + {%- if policiesProceduresItems|length > 0 -%} +We will use following policies and procedures:
+{{policiesProcesuresItemDescriptionReply}}
+ {%- endif -%} + + {%- endif -%} +Data security protection is described in Section 3, Question 6.
+ {%- set personalDataQUuid = [uuids.creatingCUuid,uuids.collectPersonalQUuid ]|reply_path -%} + {%- set personalDataReply = repliesMap[personalDataQUuid]|reply_str_value -%} + {%- if personalDataReply == uuids.collectPersonalYesAUuid -%} + {%- set personalDataGDPRPath = [personalDataQUuid, uuids.collectPersonalYesAUuid, uuids.cpersGdprQUuid ]|reply_path -%} + {%- set personalDataGDPRPathReply = repliesMap[personalDataGDPRPath]|reply_str_value -%} + + {%- if personalDataGDPRPathReply == uuids.cpersGdprExploreAUuid -%} + {# Legal basis be4651c9-9a8c-4e10-a158-61b94ca0e139 #} + {%- set personalDataLegalBasisQUuid = [personalDataGDPRPath, uuids.cpersGdprExploreAUuid, uuids.cpersGdprLegalBasisQUuid]|reply_path -%} + {%- set personalDataLegalBasisReply = repliesMap[personalDataLegalBasisQUuid]|reply_str_value -%} + {%- if personalDataLegalBasisReply -%} +We are collecting and processing personal data{{+" "}} + {%- if personalDataLegalBasisReply == uuids.cpersGdprLegalBasisPublicAUuid -%} + based on public interest.
+ {%- elif personalDataLegalBasisReply == uuids.cpersGdprLegalBasisAskAUuid -%} + based on subject's consent. + {%- elif personalDataLegalBasisReply == uuids.cpersGdprLegalBasisOtherAUuid -%} + {%- set personalDataLegalBasisOtherQUuid = [personalDataLegalBasisQUuid, uuids.cpersGdprLegalBasisOtherAUuid, uuids. cpersGdprLegalBasisOtherWhichQUuid ]|reply_path -%} + {%- set personalDataLegalBasisOtherReply = repliesMap[personalDataLegalBasisOtherQUuid]|reply_str_value -%} + {%- if personalDataLegalBasisOtherReply == uuids.cpersGdprLegalBasisOtherWhichContractAUui -%} + in order to fulfil contract. + {%- elif personalDataLegalBasisOtherReply == uuids.cpersGdprLegalBasisOtherWhichLegitAUuid -%} + based on legitimate interest. + {%- elif personalDataLegalBasisOtherReply == uuids.cpersGdprLegalBasisOtherWhichVitalAUuid -%} + based on vital interest. + {%- elif personalDataLegalBasisOtherReply == uuids.cpersGdprLegalBasisOtherWhichLegalAUuid -%} + based on legal requirement. + {%- endif -%} + {%- endif -%} + {%- endif -%} + + {# Technical and procedural safeguards #} + {%- set personalDataSafeguardsQUuid = [personalDataGDPRPath, uuids.cpersGdprExploreAUuid, uuids.cpersGdprSafeguardsQUuid]|reply_path -%} + {%- set personalDataSafeguardReply = repliesMap[personalDataSafeguardsQUuid]|reply_str_value -%} + + {%- if personalDataSafeguardReply == uuids.cpersGdprSafeguardsAUuid -%} + +The stored data are irrevocably anonymised.
+ {%- elif personalDataSafeguardLvlIdentifReply == uuids.cpersGdprSafeguardsIdentifPseudoAUuid -%} +The stored data are psuedoanonymised.
+ {%- elif personalDataSafeguardLvlIdentifReply == uuids.cpersGdprSafeguardsIdentifIdentifableAUuid -%} +The stored data are identifiable.
+ {%- endif -%} + + {%- set personalDataSafeguardElaborateQUuid = [personalDataSafeguardsQUuid, uuids.cpersGdprSafeguardsAUuid, uuids.cpersGdprSafeguardElaborateQUuid ]|reply_path -%} + {%- set personalDataSafeguardElaborateReply = repliesMap[personalDataSafeguardElaborateQUuid]|reply_str_value -%} + {%- if personalDataSafeguardElaborateReply -%} +We will use the following technical and procesural safeguards : {{personalDataSafeguardElaborateReply|dot}}
+ {%- endif -%} + + {%- set personalDataSafeguardTransferQUuid = [personalDataSafeguardsQUuid, uuids.cpersGdprSafeguardsAUuid, uuids.cpersGdprSafeguardsTransferQUuid]|reply_path -%} + {%- set personalDataSafeguardTransferReply = repliesMap[personalDataSafeguardTransferQUuid]|reply_str_value -%} + {%- set personalDataSafeguardTransferMeasuresQUuid = [personalDataSafeguardTransferQUuid, uuids.cpersGdprSafeguardsTransferYesAUuid, uuids.cpersGdprSafeguardsTransferMeasuresQUuid]|reply_path -%} + {%- set personalDataSafeguardTransferMeasuresReply = repliesMap[personalDataSafeguardTransferMeasuresQUuid]|reply_str_value -%} + + {%- if (personalDataSafeguardTransferReply == uuids.cpersGdprSafeguardsTransferYesAUuid) and (personalDataSafeguardTransferMeasuresReply) -%} +We plan to transfer data outside the EU/EEA and these are measures we will place to protect data: + {{personalDataSafeguardTransferMeasuresReply|dot}}
+ {%- endif -%} + {%- endif -%} + {%- endif -%} + {%- elif personalDataReply == uuids.collectPersonalNoAUuid -%} +We will not collect any data connected to a person.
+ {%- endif -%} + + {# Managed access procedure to personal data #} + {%- set notOpenLeagalReasonsQUuid = [uuids.accessCUuid, uuids.openImmediatelyQUuid, uuids.openImmediatelyNoAUuid, uuids.notOpenLegalReasonsQUuid]|reply_path -%} + {%- set notOpenLegalReasonsReply = repliesMap[notOpenLeagalReasonsQUuid]|reply_str_value -%} + {%- if notOpenLegalReasonsReply == uuids.notOpenLegalReasonsYesAUuid -%} + {%- set notOpenLegalReasonsPrivacyQUuid = [notOpenLeagalReasonsQUuid, uuids.notOpenLegalReasonsYesAUuid, uuids.notOpenLegalReasonsPrivacyQUuid]|reply_path -%} + {%- set notOpenLegalReasonsPrivacyReply = repliesMap[notOpenLegalReasonsPrivacyQUuid]|reply_str_value -%} + + {%- if notOpenLegalReasonsPrivacyReply == uuids.notOpenLegalReasonsPrivacyYesAUuid -%} + + {%- set personalDataManagedAccessQUuid = [notOpenLegalReasonsPrivacyQUuid, uuids.notOpenLegalReasonsPrivacyYesAUuid, uuids.notOpenLegalReasonsPrivacyAccessQUuid ]|reply_path -%} + {%- set personalDataManagedAccessReply = repliesMap[personalDataManagedAccessQUuid]|reply_str_value -%} + + {%- if personalDataManagedAccessReply -%} +There is a procedure for users to access private data as follows: {{personalDataManagedAccessReply}}
+ {%- endif -%} + {%- endif -%} + {%- endif -%} + +The data cannot become completely open.
{%- endif -%} + {# Authentication and authorization of users #} + + {%- if notOpenLegalReasonsAUuid == uuids.notOpenLegalReasonsYesAUuid -%} + {%- set legalReasonsAuthenticatedQUuid = [notOpenLegalReasonsPath, uuids.notOpenLegalReasonsYesAUuid, uuids.legalReasonsAuthenticatedQUuid, uuids.legalReasonsAuthenticatedYesAUuid, uuids.legalReasonsAuthorizeQUuid ]|reply_path -%} + {%- set legalReasonsAuthenticatedAUuid = repliesMap[legalReasonsAuthenticatedQUuid]|reply_str_value -%} + + {%- if legalReasonsAuthenticatedAUuid -%} +One of the project memebers will authorize potential users of the data.
+ {%- elif legalReasonsAuthenticatedAUuid == uuids.legalReasonsAuthorizeNewCommitteeAUuid -%} +We will set up a data access committee for authorization of potential users of the data.
+ {%- elif legalReasonsAuthenticatedAUuid == uuids.legalReasonsAuthorizeOldCommitteeAUuid -%} + {%- set legalReasonsAuthenticatedCommitteeQUuid = [legalReasonsAuthenticatedQUuid, uuids.legalReasonsAuthorizeOldCommitteeAUuid, uuids.legalReasonsAuthorizeOldCommitteeQUuid]|reply_path -%} + {%- set legalReasonsAuthenticatedCommitteeReply = repliesMap[legalReasonsAuthenticatedCommitteeQUuid]|reply_str_value -%} + + {%- if legalReasonsAuthenticatedCommitteeReply -%} +We will make use of an existing data comittee - {{legalReasonsAuthenticatedCommitteeReply|dot}}
+ {%- else -%} +We will make use of an existing data comittee.
+ {%- endif -%} + + {%- elif legalReasonsAuthenticatedAUuid == uuids.legalReasonsAuthorizeOtherAUuid -%} + {%- set legalReasonsAuthenticatedOtherQUuid = [legalReasonsAuthenticatedQUuid, uuids.legalReasonsAuthorizeOtherAUuid, uuids.legalReasonsAuthorizeOtherQUuid]|reply_path -%} + {%- set legalReasonsAuthenticatedOtherReply = repliesMap[legalReasonsAuthenticatedOtherQUuid]|reply_str_value -%} + + {%- if legalReasonsAuthenticatedOtherReply -%} +We will have following arrangements: {{legalReasonsAuthenticatedOtherReply|dot}}
+ {%- else -%} +We will have not decided yet.
+ {%- endif -%} + {%- endif -%} + + {%- endif -%} + + {%- endif -%} + {%- set notOpenLimitedEmbargoPath = [openImmediatelyPath, uuids.openImmediatelyNoAUuid, uuids.notOpenLimitedEmbargoQUuid]|reply_path -%} {%- set notOpenLimitedEmbargoAUuid = repliesMap[notOpenLimitedEmbargoPath]|reply_str_value -%} {%- if notOpenLimitedEmbargoAUuid == uuids.notOpenLimitedEmbargoIndefinitelyAUuid -%} diff --git a/src/questions/08-which-longterm.html.j2 b/src/questions/08-which-longterm.html.j2 deleted file mode 100644 index 1d20613..0000000 --- a/src/questions/08-which-longterm.html.j2 +++ /dev/null @@ -1,50 +0,0 @@ -- We plan to produce the following datasets: -
+ We plan to produce the following datasets:
This data set will be kept available as long as technically possible.
+ {%- elif publishedDataHowLongAUuid == uuids.publishedDataHowLongDeletedAUuid -%} +This data set will be kept available until it needs to be deleted for legal, contractual or regulatory reasons.
+ {%- elif publishedDataHowLongAUuid == uuids.publishedDataHowLongFixedAUuid -%} + {%- set publishedDataHowLongFixedPath = [publishedDataHowLongPath, uuids.publishedDataHowLongFixedAUuid, uuids.publishedDataHowLongFixedQUuid]|reply_path -%} + {%- set publishedDataHowLongFixed = repliesMap[publishedDataHowLongFixedPath]|reply_str_value -%} +This data set will be kept available for a fixed period (prepaid){{ " of: " ~ publishedDataHowLongFixed|dot if publishedDataHowLongFixed else "." }}
+ {%- endif -%} + {%- if publishedDataMetadataPersistentAUuid == uuids.publishedDataMetadataPersistentYesAUuid %} +The metadata will be available even when the data no longer exists.
+ {%- endif -%} + {%- endif -%} + + {# Distributions #} {% set distrosPath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedDistrosQUuid]|reply_path -%} {%- set distrosItems = repliesMap[distrosPath]|reply_items -%} {%- if distrosItems|length > 0 -%} -The distributions will be stored in:
We have a reserved budget for the time and effort it will take to prepare the data for publication.
{%- endif -%} + {%- endif -%}Ethical and legal restrictions are documented under Section C. We have used the {{ globals.fullName }}, which made us aware of options to minimize the restrictions.
- - {%- set openImmediatelyPath = [uuids.accessCUuid, uuids.openImmediatelyQUuid]|reply_path -%} - {%- set openImmediatelyAUuid = repliesMap[openImmediatelyPath]|reply_str_value -%} - {%- if openImmediatelyAUuid == uuids.openImmediatelyYesAUuid -%} -No data sharing agreement will be required.
- {%- elif openImmediatelyAUuid == uuids.openImmediatelyNoAUuid -%} - {%- set pathPrefix = [openImmediatelyPath, uuids.openImmediatelyNoAUuid]|reply_path -%} - {%- set embargoPath = [uuids.accessCUuid, uuids.limitedEmbargoQUuid]|reply_path -%} - {%- set embargoAUuid = repliesMap[embargoPath]|reply_str_value -%} - {%- if embargoAUuid == uuids.limitedEmbargoYesAUuid -%} - {%- set embargoPeriodPath = [embargoPath, embargoAUuid, uuids.limitedEmbargoPeriodQUuid]|reply_path -%} - {%- set embargoPeriod = repliesMap[embargoPeriodPath]|reply_str_value -%} -- Data cannot be completely open due to legal reasons. But data that is not legally restrained will be released after a fixed time period. - {%- if embargoPeriod %} - The embargo period will be {{ embargoPeriod|dot }} - {%- endif %} -
- {%- endif -%} - - {%- set legalReasonsAuthenticatedPath = [pathPrefix, uuids.notOpenLegalReasonsQUuid, uuids.notOpenLegalReasonsYesAUuid, uuids.legalReasonsAuthenticatedQUuid]|reply_path -%} - {%- set legalReasonsAuthenticatedAUuid = repliesMap[legalReasonsAuthenticatedPath]|reply_str_value -%} - {%- if legalReasonsAuthenticatedAUuid == uuids.legalReasonsAuthenticatedYesAUuid -%} -- A data sharing agreement will be required. - {%- set legalReasonsAuthorizePath = [legalReasonsAuthenticatedPath, uuids.legalReasonsAuthenticatedYesAUuid, uuids.legalReasonsAuthorizeQUuid]|reply_path -%} - {%- set legalReasonsAuthorizeAUuid = repliesMap[legalReasonsAuthorizePath]|reply_str_value -%} - {%- if legalReasonsAuthorizeAUuid == uuids.legalReasonsAuthorizeMemberAUuid %} - People can apply to one of the project members. - {%- elif legalReasonsAuthorizeAUuid == uuids.legalReasonsAuthorizeNewCommitteeAUuid %} - People can apply to the data access committee that we will set up. - {%- elif legalReasonsAuthorizeAUuid == uuids.legalReasonsAuthorizeOldCommitteeAUuid %} - {%- set legalReasonsAuthorizeOldCommitteePath = [legalReasonsAuthorizePath, uuids.legalReasonsAuthorizeOldCommitteeAUuid, uuids.legalReasonsAuthorizeOldCommitteeQUuid]|reply_path -%} - {%- set legalReasonsAuthorizeOldCommittee = repliesMap[legalReasonsAuthorizeOldCommitteePath]|reply_str_value -%} - {%- if legalReasonsAuthorizeOldCommittee %} - People can apply to the {{ legalReasonsAuthorizeOldCommittee }} data access committee. - {%- else -%} - People can apply to an existing data access committee. - {%- endif -%} - {%- elif legalReasonsAuthorizeAUuid == uuids.legalReasonsAuthorizeOtherAUuid %} - {%- set legalReasonsAuthorizeOtherPath = [legalReasonsAuthorizePath, uuids.legalReasonsAuthorizeOtherAUuid, uuids.legalReasonsAuthorizeOtherQUuid]|reply_path -%} - {%- set legalReasonsAuthorizeOther = repliesMap[legalReasonsAuthorizeOtherPath]|reply_str_value %} - For the authorization of potential users, we will make special arrangements{{ ": " ~ legalReasonsAuthorizeOther|dot if legalReasonsAuthorizeOther else "." }} - {%- endif -%} -
- {%- endif -%} - {%- endif -%} - - {%- set collabPath = [uuids.creatingCUuid, uuids.collabQUuid]|reply_path -%} - {%- set collabAUuid = repliesMap[collabPath]|reply_str_value -%} - {%- if collabAUuid == uuids.collabNoAUuid -%} -We are not running the project in a collaboration between different groups nor institutes. Therefore, no collaboration agreement related to data access is needed.
- {%- elif collabAUuid == uuids.collabYesAUuid -%} - {%- set collabAgreePath = [collabPath, collabAUuid, uuids.collabAgreeQUuid]|reply_path -%} - {%- set collabAgreeAUuid = repliesMap[collabAgreePath]|reply_str_value -%} - {%- if collabAgreeAUuid == uuids.collabAgreeNoAUuid -%} -We are running the project in a collaboration between different groups and institutes. However, there is no collaboration agreement in the project that describes who can have access to what data.
- {%- elif collabAgreeAUuid == uuids.collabAgreeYesAUuid -%} -We are running the project in a collaboration between different groups and institutes. A collaboration agreement that describes who can have access to what data in the project is set.
- {%- endif -%} - {%- endif -%} -{{ swNameReply if swNameReply else "(no name given)" }} + {%- if swPIDReply -%} + , available at {{swPIDReply|dot}}
+ {%- else -%} + . + {%- endif -%} + {%- endfor -%} +There are no tools needed to access or use this data.
+ {%- endif -%} + {%- else -%} +There are no tools needed to access or use this data.
+ {%- endif -%} + {%- else -%} +There are no published data to access or use.
+ {%- endif -%} + {%- endfor -%} + {%- else -%} +There are no published data to access or use.
+ {%- endif -%} +This data will be distributed in following {{ "repositories" if publishedDistrosItems|length > 1 else "repository" }}:
+Within this repository, unique and persistent identifiers will be applied as follows:
+A project data steward or principle investigator will assign the presistent identifier.
+ + {%- elif publishedDataIdentifierAssignsAUuid == uuids.publishedDataIdentifierAssignsInstitDataStewardAUui -%} +An institutional data steward will assign the presistent identifier.
+ + {%- elif publishedDataIdentifierAssignsAUuid == uuids.publishedDataIdentifierAssignsRepositoryAUuid -%} +The repository will assign the presistent identifier.
+ {%- endif -%} + + {# Resolvable #} + {%- set publishedDataIdentifierResolvableQUuid = [publishedDataIdentifierQUuid, uuids.publishedDataIdentifierYesAUuid, uuids.publishedDataIdentifierResolvableQUuid]|reply_path -%} + {%- set publishedDataIdentifierResolvableAUuid = repliesMap[publishedDataIdentifierResolvableQUuid]|reply_str_value -%} + + {%- if publishedDataIdentifierResolvableAUuid == uuids.publishedDataIdentifierResolvableYesAUuid -%} +The repository will make sure the persistent identifier can be resolved to a digital object.
+ + {%- elif publishedDataIdentifierResolvableAUuid == uuids.publishedDataIdentifierResolvableNoAUuid -%} +The repository will not make sure the persistent identifier can be resolved to a digital object.
+ {%- endif -%} + + {# Specification #} + {%- set publishedDataIdentifierSpecifyQUuid = [publishedDataIdentifierQUuid, uuids.publishedDataIdentifierYesAUuid, uuids.publishedDataIdentifierSpecifyQUuid]|reply_path -%} + {%- set publishedDataIdentifierSpecifyReply = repliesMap[publishedDataIdentifierSpecifyQUuid]|reply_str_value -%} + + {%- if publishedDataIdentifierSpecifyReply -%} +The assigned persistent identifier is specified as follows: {{publishedDataIdentifierSpecifyReply|dot}}
+ {%- endif -%} +Within this repository, unique and persistent identifiers will not be applied.
+Only we will be interested in re-using this data.
+ + {%- elif measuredDataReuseAUuid == uuids.measuredDataReuseSameFieldAUuid -%} +Other researchers in this field will be interested in re-using this data.
+ {%- elif measuredDataReuseAUuid == uuids.measuredDataReuseOtherFieldAUuid -%} + {%- set measuredDataReuseOtherFieldHowQUuid = [measuredDataReuseQUuid, uuids.measuredDataReuseOtherFieldAUuid, uuids.measuredDataReuseOtherFieldHowQUuid]|reply_path -%} + {%- set measuredDataReuseOtherFieldHowReply = repliesMap[measuredDataReuseOtherFieldHowQUuid]|reply_str_value -%} + +Researchers working in other fields will be interested in re-using this data + + {%- if measuredDataReuseOtherFieldHowReply -%} + + {{" "}}because: {{measuredDataReuseOtherFieldHowReply|dot}}
+ {%- else -%} + . + {%- endif -%} + + {%- endif -%} +To execute the DMP, no additional specialist expertise is required.
- {%- elif expertiseAUuid == uuids.additionalExpertiseYesAvailableAUuid -%} -To execute the DMP, additional specialist expertise is required and we have such trained support staff available.
- {%- elif expertiseAUuid == uuids.additionalExpertiseYesTrainAUuid -%} -- To execute the DMP, additional specialist expertise is required. We will be training existing staff. - {%- set expertiseTrainPath = [expertisePath, uuids.additionalExpertiseYesTrainAUuid, uuids.additionalExpertiseYesTrainTrainingQUuid]|reply_path -%} - {%- set expertiseTrainText = repliesMap[expertiseTrainPath]|reply_str_value -%} - {%- if additionalExpertiseTrainText %} - The training will be: {{ expertiseTrainText|dot }} - {%- endif -%} -
- {%- elif expertiseAUuid == uuids.additionalExpertiseYesHireAUuid -%} -- To execute the DMP, additional specialist expertise is required. We will be hiring new people with additional expertise. - {%- set expertiseHirePath = [expertisePath, uuids.additionalExpertiseYesHireAUuid, uuids.additionalExpertiseYesHireExpertiseQUuid]|reply_path -%} - {%- set expertiseHireText = repliesMap[expertiseHirePath]|reply_str_value -%} - {%- if expertiseHireText %} - The required expertise from new people is: {{ expertiseHireText|dot }} - {%- endif -%} -
- {%- endif -%} - {# additional hw/sw #} - {%- set additionalHWSWPath = [uuids.adminDetailsCUuid, uuids.additionalHWSWQUuid]|reply_path -%} - {%- set additionalHWSWAUuid = repliesMap[additionalHWSWPath]|reply_str_value -%} - {%- if additionalHWSWAUuid == uuids.additionalHWSWNoAUuid -%} -We do not require any hardware or software in addition to what is usually available in the institute.
- {%- elif additionalHWSWAUuid == uuids.additionalHWSWYesAUuid -%} - {%- set additionalHWSWWhatPath = [additionalHWSWPath, uuids.additionalHWSWYesAUuid, uuids.additionalHWSWYesWhatQUuid]|reply_path -%} - {%- set additionalHWSWWhat = repliesMap[additionalHWSWWhatPath]|reply_str_value -%} - {%- if additionalHWSWWhat -%} -We require the following hardware or software in addition to what is usually available in the institute: {{ additionalHWSWWhat|dot }}
- {%- else -%} -We require hardware or software in addition to what is usually available in the institute.
- {%- endif -%} - {%- endif -%} - {# charges #} -Charges applied by data repositories (if any) are mentioned already in Section E, Question 9.
-To execute the DMP, no additional specialist expertise is required.
+ {%- elif expertiseAUuid == uuids.additionalExpertiseYesAvailableAUuid -%} +To execute the DMP, additional specialist expertise is required and we have such trained support staff available.
+ {%- elif expertiseAUuid == uuids.additionalExpertiseYesTrainAUuid -%} ++ To execute the DMP, additional specialist expertise is required. We will be training existing staff + {%- set expertiseTrainPath = [expertisePath, uuids.additionalExpertiseYesTrainAUuid, uuids.additionalExpertiseYesTrainTrainingQUuid]|reply_path -%} + {%- set expertiseTrainText = repliesMap[expertiseTrainPath]|reply_str_value -%} + {%- if expertiseTrainText %} + {{" "}}on: {{ expertiseTrainText}} + {%- endif -%} + . +
+ {%- elif expertiseAUuid == uuids.additionalExpertiseYesHireAUuid -%} ++ To execute the DMP, additional specialist expertise is required. We will be hiring new people with additional expertise + {%- set expertiseHirePath = [expertisePath, uuids.additionalExpertiseYesHireAUuid, uuids.additionalExpertiseYesHireExpertiseQUuid]|reply_path -%} + {%- set expertiseHireText = repliesMap[expertiseHirePath]|reply_str_value -%} + {%- if expertiseHireText %} + {{" "}}in: {{ expertiseHireText}} + {%- endif -%} + . +
+ {%- endif -%} + {# additional hw/sw #} + {%- set additionalHWSWPath = [uuids.adminDetailsCUuid, uuids.additionalHWSWQUuid]|reply_path -%} + {%- set additionalHWSWAUuid = repliesMap[additionalHWSWPath]|reply_str_value -%} + {%- if additionalHWSWAUuid == uuids.additionalHWSWNoAUuid -%} +We do not require any hardware or software in addition to what is usually available in the institute.
+ {%- elif additionalHWSWAUuid == uuids.additionalHWSWYesAUuid -%} + {%- set additionalHWSWWhatPath = [additionalHWSWPath, uuids.additionalHWSWYesAUuid, uuids.additionalHWSWYesWhatQUuid]|reply_path -%} + {%- set additionalHWSWWhat = repliesMap[additionalHWSWWhatPath]|reply_str_value -%} + {%- if additionalHWSWWhat -%} +We require the following hardware or software in addition to what is usually available in the institute: {{ additionalHWSWWhat|dot }}
+ {%- else -%} +We require hardware or software in addition to what is usually available in the institute.
+ {%- endif -%} + {%- endif -%} + {# charges #} +Charges applied by data repositories (if any) are mentioned already in Section 4, Question 11.
+ {# costs #} + {%- set projectPath = [uuids.adminDetailsCUuid, uuids.projectsQUuid]|reply_path -%} + {%- set projectItems = repliesMap[projectPath]|reply_items -%} + {%- if projectItems|length > 0 -%} +Following resources will be dedicated to data management and ensuring that data will be FAIR:
+The amount is {{projectCostItemAmountReply}} {{projectCostItemCurrencyReply.value.value.value.rsplit(", ")[1]}}.
+ {%- endif -%} + + {%- set projectCostItemAllocationQUuid = [projectCostItem, uuids.costAllocationQUuid]|reply_path -%} + {%- set projectCostItemAllocationItems = repliesMap[projectCostItemAllocationQUuid]|reply_items -%} + + + {%- set projectCostItemAllocations = [] -%} + {%- if uuids.costAllocationFindabilityAUuid in projectCostItemAllocationItems -%} + {%- do projectCostItemAllocations.append("ensuring findability") -%} + {%- endif -%} + {%- if uuids.costAllocationAccessibilityAUuid in projectCostItemAllocationItems -%} + {%- do projectCostItemAllocations.append("ensuring accessibility") -%} + {%- endif -%} + {%- if uuids.costAllocationInteroperabilityAUuid in projectCostItemAllocationItems -%} + {%- do projectCostItemAllocations.append("ensuring interoperability") -%} + {%- endif -%} + {%- if uuids.costAllocationReusabilityAUuid in projectCostItemAllocationItems -%} + {%- do projectCostItemAllocations.append("ensuring reusability") -%} + {%- endif -%} + {%- if uuids.costManagementAUuid in projectCostItemAllocationItems -%} + {%- do projectCostItemAllocations.append("supporting management") -%} + {%- endif -%} + + {%- if projectCostItemAllocations|length > 0 -%} ++ This resource is allocated for{{+" "}} + {%- if projectCostItemAllocations|length > 2 -%} + {{ projectCostItemAllocations[0:-1]|join(", ") }}, and {{ projectCostItemAllocations[-1] }} of data. + {%- elif projectCostItemAllocations|length == 2 -%} + {{ projectCostItemAllocations[0] }} and {{ projectCostItemAllocations[1] }} of data. + {%- else -%} + {{ projectCostItemAllocations[0] }} of data. + {%- endif %} +
+ {%- endif -%} + + + {%- set projectCostItemCoverQUuid = [projectCostItem, uuids.costCoverQUuid]|reply_path -%} + {%- set projectCostItemCoverReply = repliesMap[projectCostItemCoverQUuid]|reply_str_value -%} + + {%- if projectCostItemCoverReply == uuids.costCoverGrantAUuid -%} + {%- set costCoverGrantIdQUuid = [projectCostItemCoverQUuid, uuids.costCoverGrantAUuid, uuids.costCoverGrantIdQUuid]|reply_path -%} + {%- set costCoverGrantIdReply = repliesMap[costCoverGrantIdQUuid]|reply_str_value -%} +This cost will be covered by funding grant + {%- if costCoverGrantIdReply -%} + {{" "}}(grant number: {{costCoverGrantIdReply}}) + {%- else -%} + .
+ {%- endif -%} + {%- elif projectCostItemCoverReply == uuids.costCoverOtherAUuid -%} + {%- set costCoverOtherHowQUuid = [projectCostItemCoverQUuid,uuids.costCoverOtherAUuid, uuids.costCoverOtherHowQUuid]|reply_path -%} + {%- set costCoverOtherHowReply = repliesMap[costCoverOtherHowQUuid]|reply_str_value -%} + {%- if costCoverOtherHowReply -%} +This cost will be covered as follows: {{costCoverOtherHowReply}}.
+ {%- endif -%} + + {%- endif -%} + + +Version | +Publication date | +Changes | +
---|---|---|
{{ version.name }} | +{{ version.created_at|datetime_format("%d %b %Y") }} | +{{ version.description }} | +
There are no named versions.
+{% endif %} diff --git a/template.json b/template.json index 3d7226b..b443a85 100644 --- a/template.json +++ b/template.json @@ -1,7 +1,7 @@ { "organizationId": "dsw", "templateId": "science-europe", - "version": "1.17.0", + "version": "1.18.0", "name": "Science Europe DMP Template", "description": "Default DCC DMP Template recommended by Science Europe", "license": "Apache-2.0", @@ -10,13 +10,13 @@ { "orgId": "dsw", "kmId": "root", - "minVersion": "2.5.0", + "minVersion": "2.6.7", "maxVersion": null }, { "orgId": "dsw", "kmId": "lifesciences", - "minVersion": "2.5.0", + "minVersion": "2.6.7", "maxVersion": null } ], @@ -82,22 +82,23 @@ "name": "MS Word Document", "icon": "far fa-file-word", "steps": [ - { - "name": "jinja", - "options": { - "template": "src/index.html.j2", - "content-type": "text/html", - "extension": "html" - } - }, - { - "name": "pandoc", - "options": { - "from": "html", - "to": "docx" - } - } - ] + { + "name": "jinja", + "options": { + "template": "src/word/index.html.j2", + "content-type": "text/html", + "extension": "html" + } + }, + { + "name": "pandoc", + "options": { + "from": "html", + "to": "docx", + "args": "--filter=pandoc-docx-pagebreakpy --reference-doc=src/word/reference.docx" + } + } + ] }, { "uuid": "15e53172-bbae-4a0c-a4d9-8f3ddf60e7b6",