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 @@
-

Section A: Data Collection

- - {% include "src/questions/01-what-data.html.j2" with context %} - {% include "src/questions/02-how-data.html.j2" with context %} +

Section 1: Data description and collection or re-use of existing data

+ {% include "src/questions/01-how-data.html.j2" with context %} + {% include "src/questions/02-what-data.html.j2" with context %}
-

Section B: Documentation and Meta-data

- +

Section 2: Documentation and data quality

{% include "src/questions/03-docs-metadata.html.j2" with context %} -
- -
-

Section D: Storage and Backup

- - {% include "src/questions/06-store-backup.html.j2" with context %} - {% include "src/questions/07-access-security.html.j2" with context %} +

Section 3: Storage and backup during research process

+ {% include "src/questions/05-store-backup.html.j2" with context %} + {% include "src/questions/06-access-security.html.j2" with context %}
-
-

Section E: Selection and Preservation

- - {% include "src/questions/08-which-longterm.html.j2" with context %} - {% include "src/questions/09-longterm-plan.html.j2" with context %} + - -
-

Section F: Data Sharing

- {% include "src/questions/10-how-share.html.j2" with context %} - {% include "src/questions/11-restrictions.html.j2" with context %} +
+

Section 5: Data sharing and long-term preservation

+ {% include "src/questions/10-share-restrictions.html.j2" with context %} + {% include "src/questions/11-data-preservation.html.j2" with context %} + {% include "src/questions/12-access-data.html.j2" with context %} + {% include "src/questions/13-persistent-identifier.html.j2" with context %}
-

Section G: Responsibilities and Resources

- - {% include "src/questions/12-dm-responsible.html.j2" with context %} - {% include "src/questions/13-required-resources.html.j2" with context %} +

Section 6: Data management responsibilities and resources

+ {% include "src/questions/14-dm-responsible.html.j2" with context %} + {% include "src/questions/15-required-resources.html.j2" with context %}
diff --git a/src/macros.html.j2 b/src/macros.html.j2 index 761fb3e..d43fb1c 100644 --- a/src/macros.html.j2 +++ b/src/macros.html.j2 @@ -10,7 +10,7 @@ {%- macro integrationValue(reply) -%} {%- if reply and reply.value.value.type == "IntegrationType" -%} {{ reply.value.value.value.rsplit(" ![]")[0]|markdown }} - {%- elif reply %} + {%- elif reply -%} {{ reply.value.value.value }} {%- endif -%} {%- endmacro -%} diff --git a/src/projects.html.j2 b/src/projects.html.j2 index 3b7d89a..56bcba7 100644 --- a/src/projects.html.j2 +++ b/src/projects.html.j2 @@ -15,6 +15,8 @@

(project name not given)

{%- endif -%} + {%- set projectNumberPath = [projectsPath, projectsItem, uuids.projectNumberQUuid]|reply_path -%} + {%- set projectNumber = repliesMap[projectNumberPath]|reply_str_value -%} {%- set projectStartPath = [projectsPath, projectsItem, uuids.projectStartQUuid]|reply_path -%} {%- set projectStart = repliesMap[projectStartPath]|reply_str_value -%} {%- set projectEndPath = [projectsPath, projectsItem, uuids.projectEndQUuid]|reply_path -%} @@ -22,6 +24,8 @@ {%- set fundersPath = [projectsPath, projectsItem, uuids.fundersQUuid]|reply_path -%} {%- set fundersItems = repliesMap[fundersPath]|reply_items -%}
+
Project Number
+
{{ projectNumber if projectNumber else "N/A" }}
Start date
{{ projectStart if projectStart else "N/A" }}
End date
diff --git a/src/questions/01-how-data.html.j2 b/src/questions/01-how-data.html.j2 new file mode 100644 index 0000000..b122302 --- /dev/null +++ b/src/questions/01-how-data.html.j2 @@ -0,0 +1,584 @@ +
+

1. How will new data be collected or produced and/or how will existing data be re-used?

+ +
+ + + {%- set measuredPath = [uuids.creatingCUuid, uuids.measuredQUuid]|reply_path -%} + {%- set measuredAUuid = repliesMap[measuredPath]|reply_str_value -%} + {%- if measuredAUuid == uuids.measuredYesAUuid -%} + {# Measured datasets #} + {%- set measuredDataPath = [measuredPath, uuids.measuredYesAUuid, uuids.measuredDataQUuid]|reply_path -%} + {%- set measuredDataItems = repliesMap[measuredDataPath]|reply_items -%} + {%- if measuredDataItems|length > 0 -%} +

Instrument datasets

+
    + {%- for datasetItem in measuredDataItems -%} + {%- set pathPrefix = [measuredDataPath, datasetItem]|reply_path -%} +
  • + {%- set measuredDataNamePath = [pathPrefix, uuids.measuredDataNameQUuid]|reply_path -%} + {%- set measuredDataName = repliesMap[measuredDataNamePath]|reply_str_value -%} + {{ measuredDataName if measuredDataName else "(no name given)" }} + {# Instruments #} + {%- set measuredDataInstrPath = [pathPrefix, uuids.measuredDataInstrQUuid]|reply_path -%} + {%- set measuredDataInstrItems = repliesMap[measuredDataInstrPath]|reply_items -%} + {%- if measuredDataInstrItems|length > 0 -%} +

    For this dataset, we are using the following instruments: +

      + {%- for instrItem in measuredDataInstrItems -%} + {%- set instrPathPrefix = [measuredDataInstrPath, instrItem]|reply_path -%} +
    • + {%- set measuredDataInstrNamePath = [instrPathPrefix, uuids.measuredDataInstrNameQUuid]|reply_path -%} + {%- set measuredDataInstrName = repliesMap[measuredDataInstrNamePath]|reply_str_value -%} + {%- set measuredDataInstrDescPath = [instrPathPrefix, uuids.measuredDataInstrDescQUuid]|reply_path -%} + {%- set measuredDataInstrDesc = repliesMap[measuredDataInstrDescPath]|reply_str_value -%} + {{ measuredDataInstrName }} + {% if measuredDataInstrName and measuredDataInstrDesc -%}{%- endif %} + {{ measuredDataInstrDesc }} +
    • + {%- endfor -%} +
    +

    + {%- else -%} +

    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: +

      + {%- 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 with known outcome (to monitor consistency)
    • + {%- endif %} +
    +

    + {%- else -%} +

    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 -%} +
  • + {%- endfor -%} +
+ {%- endif -%} + {%- else -%} +

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) -%} +
+

Re-used datasets

+
    + {# Reference Data #} + {%- for refDataItem in refDataItems -%} +
  • + {%- set refDataPrefix = [refDataPath, refDataItem]|reply_path -%} + {%- set refDataUse = [refDataPrefix, uuids.refDataUseQUuid]|reply_path -%} + {%- set refDataUseReply = repliesMap[refDataUse]|reply_str_value -%} + {%- set refDataUsedPrefix = [refDataUse, uuids.refDataUseYesAUuid]|reply_path -%} + {%- set refDataNameReply = repliesMap[[refDataPrefix, uuids.refDataNameQUuid]|reply_path]-%} + {%- set refDataWhere = repliesMap[[refDataPrefix, uuids.refDataWhereQUuid]|reply_path]|reply_str_value -%} + {#

    #} + + {# 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 -%} +
  • + {%- endfor -%} +
+ + {# Non-reference Data #} +
    + {%- for nrefDataItem in nrefDataItems -%} +
  • + {%- set nrefDataPrefix = [nrefDataPath, nrefDataItem]|reply_path -%} + {%- set nrefDataUse = [nrefDataPrefix, uuids.nrefDataUseQUuid]|reply_path -%} + {%- set nrefDataUseReply = repliesMap[nrefDataUse]|reply_str_value -%} + {%- set nrefDataUsedPrefix = [nrefDataUse, uuids.nrefDataUseYesAUuid]|reply_path -%} + {%- set nrefDataNameReply = repliesMap[[nrefDataPrefix, uuids.nrefDataNameQUuid]|reply_path]-%} + {%- set nrefDataWhere = repliesMap[[nrefDataPrefix, uuids.nrefDataWhereQUuid]|reply_path]|reply_str_value -%} +

    + + {# 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 -%} + +

    +
  • + {%- endfor -%} +
+
+ {%- else -%} +

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: +

    + {%- for dataCompReadMetadataStandardItem in dataCompReadMetadataStandardItems -%} + {%- set dataCompReadMetadataStandardPrefix = [dataCompReadWhichMetadataStandardPath,dataCompReadMetadataStandardItem ]|reply_path -%} + {%- set dataCompReadMetadataStandard = [dataCompReadMetadataStandardPrefix, uuids.dataCompReadOthersYesStandardQUuid]|reply_path -%} + {%- set dataCompReadMetadataStandardReply = repliesMap[dataCompReadMetadataStandard] -%} + {{macros.integrationValue(dataCompReadMetadataStandardReply)}} + {%- endfor -%} +
+ {%- else -%} + . + {%- endif -%} + + {%- endif -%} + + {%- endif -%} +

+ {%- endif -%} + + + {%- endif -%} + + {# Provenance (lab notebooks)#} + {%- set metadataPath = [uuids.creatingCUuid, uuids.metadataQUuid]|reply_path -%} + {%- set metadataAUuid = repliesMap[metadataPath]|reply_str_value -%} + {%- if metadataAUuid == uuids.metadataExploreAUuid -%} +

Provenance

+ {%- 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 -%} + {%- endif -%} +

+
diff --git a/src/questions/02-how-data.html.j2 b/src/questions/02-how-data.html.j2 deleted file mode 100644 index f147b9c..0000000 --- a/src/questions/02-how-data.html.j2 +++ /dev/null @@ -1,267 +0,0 @@ -
-

2. How will the data be collected or created?

- -
- - - {%- set measuredPath = [uuids.creatingCUuid, uuids.measuredQUuid]|reply_path -%} - {%- set measuredAUuid = repliesMap[measuredPath]|reply_str_value -%} - {%- if measuredAUuid == uuids.measuredYesAUuid -%} - {# Measured datasets #} - {%- set measuredDataPath = [measuredPath, uuids.measuredYesAUuid, uuids.measuredDataQUuid]|reply_path -%} - {%- set measuredDataItems = repliesMap[measuredDataPath]|reply_items -%} - {%- if measuredDataItems|length > 0 -%} -

Instrument datasets

-
    - {%- for datasetItem in measuredDataItems -%} - {%- set pathPrefix = [measuredDataPath, datasetItem]|reply_path -%} -
  • - {%- set measuredDataNamePath = [pathPrefix, uuids.measuredDataNameQUuid]|reply_path -%} - {%- set measuredDataName = repliesMap[measuredDataNamePath]|reply_str_value -%} - {{ measuredDataName if measuredDataName else "(no name given)" }} - {# Instruments #} - {%- set measuredDataInstrPath = [pathPrefix, uuids.measuredDataInstrQUuid]|reply_path -%} - {%- set measuredDataInstrItems = repliesMap[measuredDataInstrPath]|reply_items -%} - {%- if measuredDataInstrItems|length > 0 -%} -

    For this dataset, we are using the following instruments: -

      - {%- for instrItem in measuredDataInstrItems -%} - {%- set instrPathPrefix = [measuredDataInstrPath, instrItem]|reply_path -%} -
    • - {%- set measuredDataInstrNamePath = [instrPathPrefix, uuids.measuredDataInstrNameQUuid]|reply_path -%} - {%- set measuredDataInstrName = repliesMap[measuredDataInstrNamePath]|reply_str_value -%} - {%- set measuredDataInstrDescPath = [instrPathPrefix, uuids.measuredDataInstrDescQUuid]|reply_path -%} - {%- set measuredDataInstrDesc = repliesMap[measuredDataInstrDescPath]|reply_str_value -%} - {{ measuredDataInstrName }} - {% if measuredDataInstrName and measuredDataInstrDesc -%}{%- endif %} - {{ measuredDataInstrDesc }} -
    • - {%- endfor -%} -
    -

    - {%- else -%} -

    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: -

      - {%- 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 with known outcome (to monitor consistency)
    • - {%- endif %} -
    -

    - {%- else -%} -

    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 -%} -
  • - {%- endfor -%} -
- {%- endif -%} - {%- else -%} -

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 -%} -

Data storage and file conventions

- {# Storage space #} - {%- if storageSpaceAUuid == uuids.storageSpaceLittleAUuid -%} -

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 subjectFolders -%} - {%- set scFSysSubjFoldersConvs = repliesMap[[scFSysSubjFoldersPath, uuids.scFSysSubjFoldersYesAUuid, uuids.scFSysSubjFoldersConvsQUuid]|reply_path]|reply_str_value -%} -
  • - There will be a folder for each sample/subject. - {% if scFSysSubjFoldersConvs %} - Each of those will use the following conventions: {{ scFSysSubjFoldersConvs|dot }} - {%- endif -%} -
  • - {%- endif -%} - {%- if analysisFolders -%} - {%- set scFSysAnalysisFoldersConvs = repliesMap[[scFSysAnalysisFoldersPath, uuids.scFSysAnalysisFoldersYesAUuid, uuids.scFSysAnalysisFoldersConvsQUuid]|reply_path]|reply_str_value -%} -
  • - There will be a (sub)folder for each (repeated) analysis. - {% if scFSysAnalysisFoldersConvs %} - Each of those will use the following conventions: {{ scFSysAnalysisFoldersConvs|dot }} - {%- endif -%} -
  • - {%- endif -%} - {%- if workflowStepFolders -%} - {%- set scFSysWorkflowStepFoldersConvs = repliesMap[[scFSysWorkflowStepFoldersPath, uuids.scFSysWorkflowStepFoldersYesAUuid, uuids.scFSysWorkflowStepFoldersConvsQUuid]|reply_path]|reply_str_value -%} -
  • - There will be a (sub)folder for each step in the analysis workflow. - {% if scFSysWorkflowStepFoldersConvs %} - Each of those will use the following conventions: {{ scFSysWorkflowStepFoldersConvs|dot }} - {%- endif -%} -
  • - {%- endif -%} -
- {%- else -%} - We will use a filesystem with files and folders. - {%- endif -%} - {# Versioning #} - {%- set scDocumentVersioningPath = [scFSysPrefix, uuids.scDocumentVersioningQUuid]|reply_path -%} - {%- set scDocumentVersioningAUuid = repliesMap[scDocumentVersioningPath]|reply_str_value -%} - {%- if scDocumentVersioningAUuid == uuids.scDocumentVersioningYesAUuid %} - We document how we manage file versioning for files and folders. - {%- endif -%} - {# Other appointments #} - {%- set scFSysAppointmentsPath = [scFSysPrefix, uuids.scFSysAppointmentsQUuid]|reply_path -%} - {%- set scFSysAppointments = repliesMap[scFSysAppointmentsPath]|reply_str_value -%} - {%- if scFSysAppointments %} - {{ "Moreover, we" if folders|any else "We" }} have made appointments about naming the files. {{ appointmentsText|capitalize|dot }} - {%- endif -%} - {%- endif -%} -

- {# Object and Document Store #} -

- {%- 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 -%} -
-
diff --git a/src/questions/01-what-data.html.j2 b/src/questions/02-what-data.html.j2 similarity index 56% rename from src/questions/01-what-data.html.j2 rename to src/questions/02-what-data.html.j2 index 4b48222..a9fac21 100644 --- a/src/questions/01-what-data.html.j2 +++ b/src/questions/02-what-data.html.j2 @@ -1,5 +1,5 @@
-

1. What data will you collect or create?

+

2. What data (kind, format, volume) will be collected or produced?

{%- set measuredPath = [uuids.creatingCUuid, uuids.measuredQUuid]|reply_path -%} @@ -126,154 +126,11 @@ {%- if (refDataItems|length + nrefDataItems|length) > 0 -%}

Re-used datasets

- {%- if refDataItems|length > 0 -%} -
We have found the following reference datasets that we have considered for re-use: -
    - {%- for refDataItem in refDataItems -%} - {%- set refDataPrefix = [refDataPath, refDataItem]|reply_path -%} - {%- set refDataUsedPrefix = [refDataPrefix, uuids.refDataUseQUuid, uuids.refDataUseYesAUuid]|reply_path -%} - {%- set refDataNameReply = repliesMap[[refDataPrefix, uuids.refDataNameQUuid]|reply_path] -%} - {%- set refDataWhere = repliesMap[[refDataPrefix, uuids.refDataWhereQUuid]|reply_path]|reply_str_value -%} -
  • - {# identification #} -
    {{ macros.integrationValue(refDataNameReply) }}
    - {%- if refDataWhere -%} -

    - {%- 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 -%} -
  • - {%- endfor -%} -
-
- {%- endif -%} - {%- if nrefDataItems|length > 0 -%} -
We have found the following non-reference datasets that we have considered for re-use: -
    - {%- for nrefDataItem in nrefDataItems -%} - {%- set nrefDataNamePath = [nrefDataPath, nrefDataItem, uuids.nrefDataNameQUuid]|reply_path -%} - {%- set nrefDataNameReply = repliesMap[nrefDataNamePath] -%} - {%- set nrefDataWhere = repliesMap[[nrefDataPrefix, uuids.nrefDataWhereQUuid]|reply_path]|reply_str_value -%} -
  • - {# identification #} -
    {{ macros.integrationValue(nrefDataNameReply) }}
    - {%- if nrefDataWhere -%} -

    - {%- 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 -%} -
  • - {%- endfor -%} -
-
- {%- endif -%} - {%- if usedNRefDataItems|length > 0 -%} -
We will use the following already existing non-reference datasets: -
    - {%- for nrefDataItem in usedNRefDataItems -%} - {%- set nrefDataPrefix = [nrefDataPath, nrefDataItem]|reply_path -%} - {%- set nrefDataUsedPrefix = [nrefDataPrefix, uuids.nrefDataUseQUuid, uuids.nrefDataUseYesAUuid]|reply_path -%} - {%- set nrefDataNamePath = [nrefDataPrefix, uuids.nrefDataNameQUuid]|reply_path -%} - {%- set nrefDataNameReply = repliesMap[nrefDataNamePath] -%} - {%- set nrefDataWhere = repliesMap[[nrefDataPrefix, uuids.nrefDataWhereQUuid]|reply_path]|reply_str_value -%} -
  • - {# identification #} -
    {{ macros.integrationValue(nrefDataNameReply) }}
    - {%- if nrefDataWhere -%} -

    - {%- 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 -%} -
  • - {%- endfor -%} -
-
- {%- endif -%} +

Datasets considered for reuse and actually reused are described in Question 1.

{%- endif -%} {%- endif -%} + {# Format/Type with volume #} {%- set formatsPath = [uuids.creatingCUuid, uuids.formatsQUuid]|reply_path -%} {%- set formatsItems = repliesMap[formatsPath]|reply_items -%} @@ -302,16 +159,17 @@ {%- set formatsWhyNonStandardPath = [formatsIsStandardPath, uuids.formatsIsStandardNoAUuid, uuids.formatsWhyNonStandardQUuid]|reply_path -%} {%- set formatsWhyNonStandardAUuid = repliesMap[formatsWhyNonStandardPath]|reply_str_value -%} {%- if formatsWhyNonStandardAUuid == uuids.formatsWhyNSThereIsNoStandardAUuid %} - It is not a standardized format because there is no standardized format for this data type. + We are not using a standardized format because there is no standardized format for this data type. {%- elif formatsWhyNonStandardAUuid == uuids.formatsWhyNSItIsOptimizedAUuid %} - It is not a standardized format but it is optimized for processing speed and/or volume. + We are not using a standardized format but it is optimized for processing speed and/or volume. {%- elif formatsWhyNonStandardAUuid == uuids.formatsWhyNSAnotherReasonAUuid -%} {%- set formatsWhyNSAnotherReasonPath = [formatsWhyNonStandardPath, uuids.formatsWhyNSAnotherReasonAUuid, uuids.formatsWhyNSAnotherReasonQUuid]|reply_path -%} {%- set formatsWhyNSAnotherReason = repliesMap[formatsWhyNSAnotherReasonPath]|reply_str_value -%} - It is not a standardized format. - {%- if formatsWhyNSAnotherReason %} - {{ formatsWhyNSAnotherReason|capitalize|dot }} + We are not using a standardized format + {%- if formatsWhyNSAnotherReason -%} + , because: {{ formatsWhyNSAnotherReason|capitalize }} {%- endif -%} + . {%- endif -%} {%- endif -%} {# long-term suitable? #} diff --git a/src/questions/03-docs-metadata.html.j2 b/src/questions/03-docs-metadata.html.j2 index 69d7ac6..93608cd 100644 --- a/src/questions/03-docs-metadata.html.j2 +++ b/src/questions/03-docs-metadata.html.j2 @@ -1,25 +1,13 @@
-

3. What documentation and meta-data will accompany the data?

+

3. What metadata and documentation (for example the methodology of data collection and way of organising data) will accompany the data?

-

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 -%} +

Data storage and file conventions

+ {# Storage space #} + {%- if storageSpaceAUuid == uuids.storageSpaceLittleAUuid -%} +

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 subjectFolders -%} + {%- set scFSysSubjFoldersConvs = repliesMap[[scFSysSubjFoldersPath, uuids.scFSysSubjFoldersYesAUuid, uuids.scFSysSubjFoldersConvsQUuid]|reply_path]|reply_str_value -%} +
  • + There will be a folder for each sample/subject. + {% if scFSysSubjFoldersConvs %} + Each of those will use the following conventions: {{ scFSysSubjFoldersConvs|dot }} + {%- endif -%} +
  • + {%- endif -%} + {%- if analysisFolders -%} + {%- set scFSysAnalysisFoldersConvs = repliesMap[[scFSysAnalysisFoldersPath, uuids.scFSysAnalysisFoldersYesAUuid, uuids.scFSysAnalysisFoldersConvsQUuid]|reply_path]|reply_str_value -%} +
  • + There will be a (sub)folder for each (repeated) analysis. + {% if scFSysAnalysisFoldersConvs %} + Each of those will use the following conventions: {{ scFSysAnalysisFoldersConvs|dot }} + {%- endif -%} +
  • + {%- endif -%} + {%- if workflowStepFolders -%} + {%- set scFSysWorkflowStepFoldersConvs = repliesMap[[scFSysWorkflowStepFoldersPath, uuids.scFSysWorkflowStepFoldersYesAUuid, uuids.scFSysWorkflowStepFoldersConvsQUuid]|reply_path]|reply_str_value -%} +
  • + There will be a (sub)folder for each step in the analysis workflow. + {% if scFSysWorkflowStepFoldersConvs %} + Each of those will use the following conventions: {{ scFSysWorkflowStepFoldersConvs|dot }} + {%- endif -%} +
  • + {%- endif -%} +
+ {%- else -%} + We will use a filesystem with files and folders. + {%- endif -%} + {# Versioning #} + {%- set scDocumentVersioningPath = [scFSysPrefix, uuids.scDocumentVersioningQUuid]|reply_path -%} + {%- set scDocumentVersioningAUuid = repliesMap[scDocumentVersioningPath]|reply_str_value -%} + {%- if scDocumentVersioningAUuid == uuids.scDocumentVersioningYesAUuid %} + We document how we manage file versioning for files and folders. + {%- endif -%} + {# Other appointments #} + {%- set scFSysAppointmentsPath = [scFSysPrefix, uuids.scFSysAppointmentsQUuid]|reply_path -%} + {%- set scFSysAppointments = repliesMap[scFSysAppointmentsPath]|reply_str_value -%} + {%- if scFSysAppointments %} + {{ "Moreover, we" if folders|any else "We" }} have made appointments about naming the files. {{ appointmentsText|capitalize|dot }} + {%- endif -%} + {%- endif -%} +

+ {# Object and Document Store #} +

+ {%- 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 -%} +
diff --git a/src/questions/04-quality-control.html.j2 b/src/questions/04-quality-control.html.j2 new file mode 100644 index 0000000..6d6daf2 --- /dev/null +++ b/src/questions/04-quality-control.html.j2 @@ -0,0 +1,120 @@ +
+

4. What data quality control measures will be used?

+ +
+ {%- set measuredPath = [uuids.creatingCUuid, uuids.measuredQUuid]|reply_path -%} + {%- set measuredAUuid = repliesMap[measuredPath]|reply_str_value -%} + {%- if measuredAUuid == uuids.measuredYesAUuid -%} + {# Measured datasets #} + {%- set measuredDataPath = [measuredPath, uuids.measuredYesAUuid, uuids.measuredDataQUuid]|reply_path -%} + {%- set measuredDataItems = repliesMap[measuredDataPath]|reply_items -%} + {%- if measuredDataItems|length > 0 -%} +
    + {%- for datasetItem in measuredDataItems -%} + {%- set pathPrefix = [measuredDataPath, datasetItem]|reply_path -%} +
  • + {%- set measuredDataNamePath = [pathPrefix, uuids.measuredDataNameQUuid]|reply_path -%} + {%- set measuredDataName = repliesMap[measuredDataNamePath]|reply_str_value -%} + {{ measuredDataName if measuredDataName else "(no name given)" }} + {# Quality #} + {%- set measuredDataQualityPath = [pathPrefix, uuids.measuredDataQualityQUuid]|reply_path -%} + {%- set measuredDataQualityAUuid = repliesMap[measuredDataQualityPath]|reply_str_value -%} + {%- if measuredDataQualityAUuid == uuids.measuredDataQualityNoAUuid -%} +

    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: +

      + {%- 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 with known outcome (to monitor consistency)
    • + {%- endif %} +
    +

    + {%- else -%} +

    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 -%} +
  • + {%- endfor -%} +
+ {%- endif -%} + {%- else -%} +

There will be no instrument dataset in this project.

+ {%- endif -%} + + +
+
diff --git a/src/questions/06-store-backup.html.j2 b/src/questions/05-store-backup.html.j2 similarity index 90% rename from src/questions/06-store-backup.html.j2 rename to src/questions/05-store-backup.html.j2 index 9d53655..55537dd 100644 --- a/src/questions/06-store-backup.html.j2 +++ b/src/questions/05-store-backup.html.j2 @@ -1,17 +1,19 @@
-

6. How will the data be stored and backed up during the research?

+

5. How will data and metadata be stored and backed up during the research?

{# Data stored by members (no shared workspace) #} {%- set sharedWorkspacePath = [uuids.processingCUuid, uuids.sharedWorkspaceQUuid]|reply_path -%} {%- set sharedWorkspaceAUuid = repliesMap[sharedWorkspacePath]|reply_str_value -%} {%- if sharedWorkspaceAUuid == uuids.sharedWorkspaceNoAUuid -%} +

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 @@
-

7. How will you manage access and security?

+

6. How will data security and protection of sensitive data be taken care of during the research?

{%- set risksPathPrefix = [uuids.processingCUuid, uuids.risksQUuid, uuids.risksExploreAUuid]|reply_path -%} - {%- set sharedWorkspacePrefix = [uuids.processingCUuid, uuids.sharedWorkspaceQUuid, uuids.sharedWorkspaceYesAUuid]|reply_path -%} {# Basic risks #} {%- set risksStoreLabPath = [risksPathPrefix, uuids.risksStoreLabQUuid]|reply_path -%} {%- set risksStoreLabAUuid = repliesMap[risksStoreLabPath]|reply_str_value -%} @@ -27,7 +26,7 @@ {%- if storeLab or (risksCarryHomeAUuid == uuids.risksCarryHomeNoAUuid) or (risksCarryHomeAUuid == uuids.risksCarryHomeYesAUuid and (homeEncrypted or homePassword)) or (risksCertificationsAUuid == uuids.risksCertificationsYesAUuid) or (risksHttpsAUuid == uuids.risksHttpsYesAUuid) or (risksInstructedAUuid == uuids.risksInstructedYesAUuid) %}

{%- 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 -%} +

Access to data during research

+ {%- 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.

+ {%- 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 -%} +

Policies and Procedures

+

We will use following policies and procedures:

+
    + {%- for policiesProceduresItem in policiesProceduresItems -%} + {%- set policiesProceduresPathPrefix = [policiesProceduresQUuid, policiesProceduresItem ]|reply_path -%} +
  • + {%- set policiesProceduresItemNameQUuid = [policiesProceduresPathPrefix, uuids.policiesProceduresNameQUuid]|reply_path -%} + {%- set policiesProceduresItemNameReply = repliesMap[policiesProceduresItemNameQUuid]|reply_str_value -%} + {%- set policiesProceduresItemLinkQUuid = [policiesProceduresPathPrefix, uuids.policiesProceduresLinkQUuid]|reply_path -%} + {%- set policiesProceduresItemLinkReply = repliesMap[policiesProceduresItemLinkQUuid]|reply_str_value -%} + {%- set policiesProceduresItemDescriptionQUuid = [policiesProceduresPathPrefix, uuids.policiesProceduresDescriptionQUuid]|reply_path -%} + {%- set policiesProcesuresItemDescriptionReply = repliesMap[policiesProceduresItemDescriptionQUuid]|reply_str_value -%} + {%- if policiesProceduresItemNameReply -%} + {{ policiesProceduresItemNameReply }} + {% if policiesProcesuresItemLinkReply -%}{%- endif %} + {{policiesProceduresItemLinkReply}} + + {%- if policiesProcesuresItemDescriptionReply -%} +

    {{policiesProcesuresItemDescriptionReply}}

    + {%- endif -%} + + {%- endif -%} +
  • + {%- endfor -%} +
{%- endif -%}
diff --git a/src/questions/07-personal-data.html.j2 b/src/questions/07-personal-data.html.j2 new file mode 100644 index 0000000..7dac8df --- /dev/null +++ b/src/questions/07-personal-data.html.j2 @@ -0,0 +1,98 @@ +
+

7. If personal data are processed, how will compliance with legislation on personal data and on security be ensured?

+ +
+

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 -%} +

Legal basis for collecting and processing personal data

+

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 -%} + +

Technical and procedural measures

+ + {%- set personalDataSafeguardLvlIdentifQUuid = [personalDataSafeguardsQUuid, uuids.cpersGdprSafeguardsAUuid, uuids.cpersGdprSafeguardsIdentifQUuid]|reply_path -%} + {%- set personalDataSafeguardLvlIdentifReply = repliesMap[personalDataSafeguardLvlIdentifQUuid]|reply_str_value -%} + + {%- if personalDataSafeguardLvlIdentifReply == uuids.cpersGdprSafeguardsIdentifAnonymAUuid -%} +

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 -%} +

Access procedure to personal data

+

There is a procedure for users to access private data as follows: {{personalDataManagedAccessReply}}

+ {%- endif -%} + {%- endif -%} + {%- endif -%} + +
+
\ No newline at end of file diff --git a/src/questions/05-copyright-ipr.html.j2 b/src/questions/08-copyright-ipr.html.j2 similarity index 83% rename from src/questions/05-copyright-ipr.html.j2 rename to src/questions/08-copyright-ipr.html.j2 index f562a69..92b11df 100644 --- a/src/questions/05-copyright-ipr.html.j2 +++ b/src/questions/08-copyright-ipr.html.j2 @@ -1,5 +1,6 @@
-

5. How will you manage copyright and Intellectual Property Rights (IPR) issues?

+

8. How will other legal issues, such as intellectual property rights and ownership, be managed? What legislation is applicable? +

{# Open philosophy #} @@ -72,6 +73,43 @@

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 -%} +

Authentication and Authorization of Users

+ {%- if legalReasonsAuthenticatedAUuid == uuids.legalReasonsAuthorizeMemberAUuid -%} +

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 @@ -
-

8. Which data are of long-term value and should be retained, shared, and/or preserved?

- -
- {# Produced datasets #} - {%- set producedDataPath = [uuids.preservingCUuid, uuids.producedDataQUuid]|reply_path -%} - {%- set producedDataItems = repliesMap[producedDataPath]|reply_items -%} - {%- if producedDataItems|length > 0 -%} -

- We plan to produce the following datasets: -

    - {%- for i in producedDataItems -%} - {%- set pathPrefix = [producedDataPath, i]|reply_path -%} - {%- set producedDataName = repliesMap[[pathPrefix, uuids.producedDataNameQUuid]|reply_path]|reply_str_value -%} -
  • - {{ producedDataName if producedDataName else "(no name given)" }} - {# If will be published #} - {%- set isPublishedDataPath = [pathPrefix, uuids.isPublishedDataQUuid]|reply_path -%} - {%- set isPublishedDataAUuid = repliesMap[isPublishedDataPath]|reply_str_value -%} - {% if isPublishedDataAUuid == uuids.isPublishedDataNoAUuid %} - (not published) - {% elif isPublishedDataAUuid == uuids.isPublishedDataYesAUuid %} - (published) - {% endif -%} - {# How long will be stored + Metadata FAIRness #} - {%- set publishedDataHowLongPath = [pathPrefix, uuids.publishedDataHowLongQUuid]|reply_path -%} - {%- set publishedDataHowLongAUuid = repliesMap[publishedDataHowLongPath]|reply_str_value -%} - {%- set publishedDataMetadataPersistentPath = [pathPrefix, uuids.publishedDataMetadataPersistentQUuid]|reply_path -%} - {%- set publishedDataMetadataPersistentAUuid = repliesMap[publishedDataMetadataPersistentPath]|reply_str_value -%} - {%- if publishedDataHowLongAUuid or (publishedDataMetadataPersistentAUuid == uuids.publishedDataMetadataPersistentYesAUuid) %} - {% if publishedDataHowLongAUuid == uuids.publishedDataHowLongTechnicalAUuid -%} - This data set will be kept available as long as technically possible. - {%- elif publishedDataHowLongAUuid == uuids.publishedDataHowLongLegalAUuid -%} - This data set will be kept available until it needs to be deleted for legal 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 -%} -
  • - {%- endfor -%} -
-

- {%- endif -%} -
-
diff --git a/src/questions/04-ethical-issues.html.j2 b/src/questions/09-ethical-issues.html.j2 similarity index 98% rename from src/questions/04-ethical-issues.html.j2 rename to src/questions/09-ethical-issues.html.j2 index cacc978..8a5b068 100644 --- a/src/questions/04-ethical-issues.html.j2 +++ b/src/questions/09-ethical-issues.html.j2 @@ -1,5 +1,5 @@
-

4. How will you manage any ethical issues?

+

9. What ethical issues and codes of conduct are there, and how will they be taken into account?

@@ -125,7 +125,7 @@ {%- if cpersGdprAUuid == uuids.cpersGdprExploreAUuid -%} {%- do sentences.append('We explored General Data Protection Regulation (GDPR) considerations and relevant materials.') -%} - {# legal base #} + {# Legal Base #} {%- set legalBasePath = [cpersGdprPath, cpersGdprAUuid, uuids.cpersGdprLegalBasisQUuid]|reply_path -%} {%- set legalBaseAUuid = repliesMap[legalBasePath]|reply_str_value -%} {%- if legalBaseAUuid == uuids.cpersGdprLegalBasisPublicAUuid -%} diff --git a/src/questions/10-how-share.html.j2 b/src/questions/10-how-share.html.j2 deleted file mode 100644 index 1b202cc..0000000 --- a/src/questions/10-how-share.html.j2 +++ /dev/null @@ -1,191 +0,0 @@ -
-

10. How will you share the data?

- -
- {# Produced datasets #} - {%- set producedDataPath = [uuids.preservingCUuid, uuids.producedDataQUuid]|reply_path -%} - {%- set producedDataItems = repliesMap[producedDataPath]|reply_items -%} - {%- if producedDataItems|length > 0 -%} -
    - {%- for i in producedDataItems -%} - {%- set pathPrefix = [producedDataPath, i]|reply_path -%} - {%- set producedDataName = repliesMap[[pathPrefix, uuids.producedDataNameQUuid]|reply_path]|reply_str_value -%} - {# Only published #} - {%- set isPublishedDataPath = [pathPrefix, uuids.isPublishedDataQUuid]|reply_path -%} - {%- set isPublishedDataAUuid = repliesMap[isPublishedDataPath]|reply_str_value -%} - {% if isPublishedDataAUuid == uuids.isPublishedDataYesAUuid %} -
  • - {{ producedDataName if producedDataName else "(no name given)" }} - {# Identifiers #} - {% set identifiersPath = [pathPrefix, uuids.producedDataIdentifiersQUuid]|reply_path -%} - {%- set identifiersItems = repliesMap[identifiersPath]|reply_items -%} - {%- if identifiersItems|length > 0 -%} -
    The dataset has the following identifiers: -
      - {%- for j in identifiersItems -%} - {%- set identifierPrefix = [identifiersPath, j]|reply_path -%} - {%- set identifierTypePath = [identifierPrefix, uuids.dataIdentifierTypeQUuid]|reply_path -%} - {%- set identifierTypeAUuid = repliesMap[identifierTypePath]|reply_str_value -%} - {%- set identifierValuePath = [identifierPrefix, uuids.dataIdentifierIdenfitierQUuid]|reply_path -%} - {%- set identifierValue = repliesMap[identifierValuePath]|reply_str_value -%} - {%- if identifierTypeAUuid == uuids.dataIdentifierTypeHandleAUuid -%} -
    • Handle: {{ identifierValue }}
    • - {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeDoiAUuid -%} -
    • DOI: {{ identifierValue }}
    • - {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeArkAUuid -%} -
    • ARK: {{ identifierValue }}
    • - {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeUrlAUuid -%} -
    • URL: {{ identifierValue }}
    • - {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeOtherAUuid -%} - {%- set identifierType = repliesMap[[identifierTypePath, uuids.dataIdentifierTypeOtherAUuid, uuids.dataIdentifierTypeOtherTypeQUuid]|reply_path]|reply_str_value -%} -
    • {{ identifierType }}: {{ identifierValue }}
    • - {%- endif -%} - {%- endfor -%} -
    - {%- 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 available as follows: -
      - {%- for j in distrosItems -%} - {%- set distroPrefix = [distrosPath, j]|reply_path -%} - {%- set distroRepositoryKindPath = [distroPrefix, uuids.publishedDataRepositoryKindQUuid]|reply_path -%} - {%- set distroRepositoryKindAUuid = repliesMap[distroRepositoryKindPath]|reply_str_value -%} - {%- set distroSharePath = [distroPrefix, uuids.publishedDistroShareQUuid]|reply_path -%} - {%- set distroShareAUuid = repliesMap[distroSharePath]|reply_str_value -%} - {%- if distroRepositoryKindAUuid and distroShareAUuid -%} -
    • - {%- if distroShareAUuid == uuids.publishedDistroShareOpenAUuid %} - Open (shared with anyone) - {%- elif distroShareAUuid == uuids.publishedDistroShareSharedAUuid %} - Shared with a predefined list of people - {%- elif distroShareAUuid == uuids.publishedDistroShareClosedAUuid %} - Closed (not meant for sharing) - {%- endif %} - {% if distroRepositoryKindAUuid == uuids.publishedDataRepositoryDomainSpecificAUuid %} - using a domain-specific repository - {%- set domainSpecificRepoNamePath = [distroRepositoryKindPath, uuids.publishedDataRepositoryDomainSpecificAUuid, uuids.domainSpecificRepoNameQUuid]|reply_path -%} - {%- set domainSpecificRepoNameReply = repliesMap[domainSpecificRepoNamePath] -%} - {%- if domainSpecificRepoNameReply -%} - : {{ macros.integrationValue(domainSpecificRepoNameReply) }}. - {%- else -%}. - {% endif -%} - {%- elif distroRepositoryKindAUuid == uuids.publishedDataRepositoryNationalAUuid %} - using our national repository. - {%- elif distroRepositoryKindAUuid == uuids.publishedDataRepositoryInstitutionalAUuid %} - using our institutional repository. - {%- elif distroRepositoryKindAUuid == uuids.publishedDataRepositorySpecialAUuid %} - using a special-purpose repository for the project. - {%- endif -%} - {# Licenses #} - {%- set licensesPath = [distroPrefix, uuids.publishedDataLicensesQUuid]|reply_path -%} - {%- set licensesItems = repliesMap[licensesPath]|reply_items -%} - {%- if licensesItems|length > 0 %} - The distribution will be available under the following {{ "licenses" if licensesItems|length > 1 else "license" }}: -
        - {%- for k in licensesItems -%} -
      • - {%- set licensePrefix = [licensesPath, k]|reply_path -%} - {%- set licenseStartPath = [licensePrefix, uuids.publishedDataLicenseStartQUuid]|reply_path -%} - {%- set licenseStart = repliesMap[licenseStartPath]|reply_str_value -%} - {% if licenseStart %} - Starting {{ licenseStart }}: - {% endif %} - - {%- set publishedDataLicensePath = [licensePrefix, uuids.publishedDataLicenseQUuid]|reply_path -%} - {%- set publishedDataLicenseAUuid = repliesMap[publishedDataLicensePath]|reply_str_value -%} - {%- if publishedDataLicenseAUuid == uuids.publishedDataLicenseCC0AUuid %} - Freely available for any use (public domain or CC0). - {%- elif publishedDataLicenseAUuid == uuids.publishedDataLicenseCCBYAUuid %} - Freely available with obligation to quote the source (e.g. CC-BY). - {%- elif publishedDataLicenseAUuid == uuids.publishedDataLicenseRestrictAUuid -%} - {%- set licenseRestrictConditionsPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictConditionsQUuid]|reply_path -%} - {%- set licenseRestrictConditions = repliesMap[licenseRestrictConditionsPath]|reply_str_value -%} - {%- set licenseRestrictLinkPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictLinkQUuid]|reply_path -%} - {%- set licenseRestrictLink = repliesMap[licenseRestrictLinkPath]|reply_str_value -%} - {%- set licenseRestrictAccessPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictAccessQUuid]|reply_path -%} - {%- set licenseRestrictAccessAUuid = repliesMap[licenseRestrictAccessPath]|reply_str_value -%} - {%- set licenseRestrictMetadataPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictMetadataQUuid]|reply_path -%} - {%- set licenseRestrictMetadataAUuid = repliesMap[licenseRestrictMetadataPath]|reply_str_value %} - - Available under some restrictions, which we will follow in our project{{ ": " ~ licenseRestrictConditions|dot if licenseRestrictConditions else "." }} - {%- if licenseRestrictAccessAUuid == uuids.licenseRestrictAccessRequestAUuid %} - Re-users will be able to get access by request to the contact person. - {%- elif licenseRestrictAccessAUuid == uuids.licenseRestrictAccessCommitteeAUuid %} - Re-users will be able to get access through a Data Access Committee for the project. - {%- elif licenseRestrictAccessAUuid == uuids.licenseRestrictAccessAnotherAUuid -%} - {%- set licenseRestrictAccessAnotherPath = [licenseRestrictAccessPath, uuids.licenseRestrictAccessAnotherAUuid, uuids.licenseRestrictAccessAnotherQUuid]|reply_path -%} - {%- set licenseRestrictAccessAnother = repliesMap[licenseRestrictAccessAnotherPath]|reply_str_value %} - Re-users will be able to get access through a specialized process{{ ": " ~ licenseRestrictAccessAnother|dot if licenseRestrictAccessAnother else "." }} - {%- endif -%} - {%- if licenseRestrictMetadataAUuid == uuids.licenseRestrictMetadataYesAUuid %} - The conditions will be published as part of open metadata. - {%- endif -%} - {% if licenseRestrictLink %} - More infomation about the restrictions can be found here: {{ licenseRestrictLink }}. - {% endif %} - {%- endif -%} -
      • - {%- endfor -%} -
      - {%- endif -%} -
    • - {%- endif -%} - {%- endfor -%} -
    - {%- endif -%} - {# Catalogue #} - {%- set publishedDataCataloguePath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedDataCatalogueQUuid]|reply_path -%} - {%- set publishedDataCatalogueAUuid = repliesMap[publishedDataCataloguePath]|reply_str_value -%} - {%- if publishedDataCatalogueAUuid == uuids.publishedDataCatalogueYesAUuid -%} -
    We will be adding a reference to the published data to at least one data catalogue. - {%- endif -%} - {# When published #} - {%- set publishedWhenPath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedWhenQUuid]|reply_path -%} - {%- set publishedWhenAUuid = repliesMap[publishedWhenPath]|reply_str_value -%} - {%- if publishedWhenAUuid == uuids.publishedWhenSoonAUuid %} -
    The dataset will published as soon as possible after collecting it. - {%- elif publishedWhenAUuid == uuids.publishedWhenCleanupAUuid %} -
    The dataset will published after initial cleanup. - {%- elif publishedWhenAUuid == uuids.publishedWhenFinishedAUuid %} -
    The dataset will published after all our processing has finished. - {%- elif publishedWhenAUuid == uuids.publishedWhenWrappedAUuid %} -
    The dataset will published when the project is wrapped up. - {%- elif publishedWhenAUuid == uuids.publishedWhenEmbargoAUuid %} -
    The dataset will published after an embargo. - {%- endif %} - {# Qualified references #} - {%- set publishedQReferencesPath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedQReferencesQUuid]|reply_path -%} - {%- set publishedQReferences = repliesMap[publishedQReferencesPath]|reply_items -%} - {%- set qreferences = [] -%} - {%- for item in publishedQReferences -%} - {%- set refId = repliesMap[[publishedQReferencesPath, item, uuids.publishedQReferenceIdQUuid]|reply_path]|reply_str_value|e -%} - {%- set refRel = repliesMap[[publishedQReferencesPath, item, uuids.publishedQReferenceRelQUuid]|reply_path]|reply_str_value|e -%} - {%- if refId and refRel -%} - {%- do qreferences.append({ - 'id': refId, - 'relation': refRel, - }) -%} - {%- endif -%} - {%- endfor -%} - {%- if qreferences|length > 0 -%} -
    The following qualified references to other data sets will be included: -
      - {%- for qref in qreferences -%} -
    • {{ qref.id|e }} – {{ qref.relation|e }}
    • - {%- endfor -%} -
    - {%- endif -%} -
  • - {%- endif -%} - {%- endfor -%} -
- {%- endif -%} - -

Information about used repositories (i.e. where will potential users find out about the data) is provided in Section E, Question 9.

- -

Embargo on the data is described in Section C, Question 5, and Section F, Question 11.

-
-
diff --git a/src/questions/10-share-restrictions.html.j2 b/src/questions/10-share-restrictions.html.j2 new file mode 100644 index 0000000..8246f03 --- /dev/null +++ b/src/questions/10-share-restrictions.html.j2 @@ -0,0 +1,272 @@ +
+

10. How and when will data be shared? Are there possible restrictions to data sharing or embargo reasons?

+ +
+ {# How data will be shared #} + {# Produced datasets #} + {%- set producedDataPath = [uuids.preservingCUuid, uuids.producedDataQUuid]|reply_path -%} + {%- set producedDataItems = repliesMap[producedDataPath]|reply_items -%} +

How the data will be shared

+ {%- if producedDataItems|length > 0 -%} +
    + {%- for i in producedDataItems -%} + {%- set pathPrefix = [producedDataPath, i]|reply_path -%} + {%- set producedDataName = repliesMap[[pathPrefix, uuids.producedDataNameQUuid]|reply_path]|reply_str_value -%} +
  • + {{ producedDataName if producedDataName else "(no name given)" }} + {# If will be published #} + {%- set isPublishedDataPath = [pathPrefix, uuids.isPublishedDataQUuid]|reply_path -%} + {%- set isPublishedDataAUuid = repliesMap[isPublishedDataPath]|reply_str_value -%} + {% if isPublishedDataAUuid == uuids.isPublishedDataNoAUuid %} + (not published) + {% elif isPublishedDataAUuid == uuids.isPublishedDataYesAUuid %} + (published) + {# Identifiers #} + {% set identifiersPath = [pathPrefix, uuids.producedDataIdentifiersQUuid]|reply_path -%} + {%- set identifiersItems = repliesMap[identifiersPath]|reply_items -%} + {%- if identifiersItems|length > 0 -%} +
    The dataset has the following identifiers: +
      + {%- for j in identifiersItems -%} + {%- set identifierPrefix = [identifiersPath, j]|reply_path -%} + {%- set identifierTypePath = [identifierPrefix, uuids.dataIdentifierTypeQUuid]|reply_path -%} + {%- set identifierTypeAUuid = repliesMap[identifierTypePath]|reply_str_value -%} + {%- set identifierValuePath = [identifierPrefix, uuids.dataIdentifierIdenfitierQUuid]|reply_path -%} + {%- set identifierValue = repliesMap[identifierValuePath]|reply_str_value -%} + {%- if identifierTypeAUuid == uuids.dataIdentifierTypeHandleAUuid -%} +
    • Handle: {{ identifierValue }}
    • + {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeDoiAUuid -%} +
    • DOI: {{ identifierValue }}
    • + {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeArkAUuid -%} +
    • ARK: {{ identifierValue }}
    • + {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeUrlAUuid -%} +
    • URL: {{ identifierValue }}
    • + {%- elif identifierTypeAUuid == uuids.dataIdentifierTypeOtherAUuid -%} + {%- set identifierType = repliesMap[[identifierTypePath, uuids.dataIdentifierTypeOtherAUuid, uuids.dataIdentifierTypeOtherTypeQUuid]|reply_path]|reply_str_value -%} +
    • {{ identifierType }}: {{ identifierValue }}
    • + {%- endif -%} + {%- endfor -%} +
    + {%- 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 available as follows: +
      + {%- for j in distrosItems -%} + {%- set distroPrefix = [distrosPath, j]|reply_path -%} + {%- set distroRepositoryKindPath = [distroPrefix, uuids.publishedDataRepositoryKindQUuid]|reply_path -%} + {%- set distroRepositoryKindAUuid = repliesMap[distroRepositoryKindPath]|reply_str_value -%} + {%- set distroSharePath = [distroPrefix, uuids.publishedDistroShareQUuid]|reply_path -%} + {%- set distroShareAUuid = repliesMap[distroSharePath]|reply_str_value -%} + {%- if distroRepositoryKindAUuid and distroShareAUuid -%} +
    • + {%- if distroShareAUuid == uuids.publishedDistroShareOpenAUuid %} + Open (shared with anyone) + {%- elif distroShareAUuid == uuids.publishedDistroShareSharedAUuid %} + Shared with a predefined list of people + {%- elif distroShareAUuid == uuids.publishedDistroShareClosedAUuid %} + Closed (not meant for sharing) + {%- endif %} + {% if distroRepositoryKindAUuid == uuids.publishedDataRepositoryDomainSpecificAUuid %} + using a domain-specific repository + {%- set domainSpecificRepoNamePath = [distroRepositoryKindPath, uuids.publishedDataRepositoryDomainSpecificAUuid, uuids.domainSpecificRepoNameQUuid]|reply_path -%} + {%- set domainSpecificRepoNameReply = repliesMap[domainSpecificRepoNamePath] -%} + {%- if domainSpecificRepoNameReply -%} + : {{ macros.integrationValue(domainSpecificRepoNameReply) }}. + {%- else -%}. + {% endif -%} + {# Contact the repository #} + {%- set domainSpecificRepoContactBeforePath = [distroRepositoryKindPath, uuids.publishedDataRepositoryDomainSpecificAUuid, uuids.domainSpecificRepoContactBeforeQUuid]|reply_path -%} + {%- set domainSpecificRepoContactBeforeAUuid = repliesMap[domainSpecificRepoContactBeforePath]|reply_str_value -%} + {%- if domainSpecificRepoContactBeforeAUuid == uuids.domainSpecificRepoContactBeforeNoAUuid %} + We don't need to contact the repository because it is a routine for us. + {%- elif domainSpecificRepoContactBeforeAUuid == uuids.domainSpecificRepoContactBeforeYesAlreadyAUuid %} + We have already contacted the repository. + {%- elif domainSpecificRepoContactBeforeAUuid == uuids.domainSpecificRepoContactBeforeYesWillAUuid %} + We are going to contact the repository. + {%- elif domainSpecificRepoContactBeforeAUuid == uuids.domainSpecificRepoContactBeforeOtherAUuid %} + {%- set domainSpecificRepoContactBeforeOtherPath = [domainSpecificRepoContactBeforePath, uuids.domainSpecificRepoContactBeforeOtherAUuid, uuids.domainSpecificRepoContactBeforeOtherQUuid]|reply_path -%} + {%- set domainSpecificRepoContactBeforeOther = repliesMap[domainSpecificRepoContactBeforeOtherPath]|reply_str_value %} + We have made other arrangements{{ ": " ~ domainSpecificRepoContactBeforeOther|dot if domainSpecificRepoContactBeforeOther else "." }} + {%- endif -%} + {%- elif distroRepositoryKindAUuid == uuids.publishedDataRepositoryNationalAUuid %} + using our national repository. + {%- elif distroRepositoryKindAUuid == uuids.publishedDataRepositoryInstitutionalAUuid %} + using our institutional repository. + {%- elif distroRepositoryKindAUuid == uuids.publishedDataRepositorySpecialAUuid %} + using a special-purpose repository for the project. + {%- endif -%} + {%- endif -%} + {# Licenses #} + {%- set licensesPath = [distroPrefix, uuids.publishedDataLicensesQUuid]|reply_path -%} + {%- set licensesItems = repliesMap[licensesPath]|reply_items -%} + {%- if licensesItems|length > 0 %} + The distribution will be available under the following {{ "licenses" if licensesItems|length > 1 else "license" }}: +
        + {%- for k in licensesItems -%} +
      • + {%- set licensePrefix = [licensesPath, k]|reply_path -%} + {%- set licenseStartPath = [licensePrefix, uuids.publishedDataLicenseStartQUuid]|reply_path -%} + {%- set licenseStart = repliesMap[licenseStartPath]|reply_str_value -%} + {% if licenseStart %} + Starting {{ licenseStart }}: + {% endif %} + + {%- set publishedDataLicensePath = [licensePrefix, uuids.publishedDataLicenseQUuid]|reply_path -%} + {%- set publishedDataLicenseAUuid = repliesMap[publishedDataLicensePath]|reply_str_value -%} + {%- if publishedDataLicenseAUuid == uuids.publishedDataLicenseCC0AUuid %} + Freely available for any use (public domain or CC0). + {%- elif publishedDataLicenseAUuid == uuids.publishedDataLicenseCCBYAUuid %} + Freely available with obligation to quote the source (e.g. CC-BY). + {%- elif publishedDataLicenseAUuid == uuids.publishedDataLicenseRestrictAUuid -%} + {%- set licenseRestrictConditionsPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictConditionsQUuid]|reply_path -%} + {%- set licenseRestrictConditions = repliesMap[licenseRestrictConditionsPath]|reply_str_value -%} + {%- set licenseRestrictLinkPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictLinkQUuid]|reply_path -%} + {%- set licenseRestrictLink = repliesMap[licenseRestrictLinkPath]|reply_str_value -%} + {%- set licenseRestrictAccessPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictAccessQUuid]|reply_path -%} + {%- set licenseRestrictAccessAUuid = repliesMap[licenseRestrictAccessPath]|reply_str_value -%} + {%- set licenseRestrictMetadataPath = [publishedDataLicensePath, uuids.publishedDataLicenseRestrictAUuid, uuids.licenseRestrictMetadataQUuid]|reply_path -%} + {%- set licenseRestrictMetadataAUuid = repliesMap[licenseRestrictMetadataPath]|reply_str_value %} + + Available under some restrictions, which we will follow in our project{{ ": " ~ licenseRestrictConditions|dot if licenseRestrictConditions else "." }} + {%- if licenseRestrictAccessAUuid == uuids.licenseRestrictAccessRequestAUuid %} + Re-users will be able to get access by request to the contact person. + {%- elif licenseRestrictAccessAUuid == uuids.licenseRestrictAccessCommitteeAUuid %} + Re-users will be able to get access through a Data Access Committee for the project. + {%- elif licenseRestrictAccessAUuid == uuids.licenseRestrictAccessAnotherAUuid -%} + {%- set licenseRestrictAccessAnotherPath = [licenseRestrictAccessPath, uuids.licenseRestrictAccessAnotherAUuid, uuids.licenseRestrictAccessAnotherQUuid]|reply_path -%} + {%- set licenseRestrictAccessAnother = repliesMap[licenseRestrictAccessAnotherPath]|reply_str_value %} + Re-users will be able to get access through a specialized process{{ ": " ~ licenseRestrictAccessAnother|dot if licenseRestrictAccessAnother else "." }} + {%- endif -%} + {%- if licenseRestrictMetadataAUuid == uuids.licenseRestrictMetadataYesAUuid %} + The conditions will be published as part of open metadata. + {%- endif -%} + {% if licenseRestrictLink %} + More infomation about the restrictions can be found here: {{ licenseRestrictLink }}. + {% endif %} + {%- endif -%} +
      • + {%- endfor -%} +
      + {%- endif -%} +
    • + {%- endfor -%} + {%- endif -%} +
    + {%- endif -%} + {# Catalogue #} + {%- set publishedDataCataloguePath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedDataCatalogueQUuid]|reply_path -%} + {%- set publishedDataCatalogueAUuid = repliesMap[publishedDataCataloguePath]|reply_str_value -%} + {%- if publishedDataCatalogueAUuid == uuids.publishedDataCatalogueYesAUuid -%} +
    We will be adding a reference to the published data to at least one data catalogue. + {%- endif -%} + {# When published #} + {%- set publishedWhenPath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedWhenQUuid]|reply_path -%} + {%- set publishedWhenAUuid = repliesMap[publishedWhenPath]|reply_str_value -%} + {%- if publishedWhenAUuid == uuids.publishedWhenSoonAUuid %} +
    The dataset will published as soon as possible after collecting it. + {%- elif publishedWhenAUuid == uuids.publishedWhenCleanupAUuid %} +
    The dataset will published after initial cleanup. + {%- elif publishedWhenAUuid == uuids.publishedWhenFinishedAUuid %} +
    The dataset will published after all our processing has finished. + {%- elif publishedWhenAUuid == uuids.publishedWhenWrappedAUuid %} +
    The dataset will published when the project is wrapped up. + {%- elif publishedWhenAUuid == uuids.publishedWhenEmbargoAUuid %} +
    The dataset will published after an embargo. + {%- endif %} + {# Qualified references #} + {%- set publishedQReferencesPath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedQReferencesQUuid]|reply_path -%} + {%- set publishedQReferences = repliesMap[publishedQReferencesPath]|reply_items -%} + {%- set qreferences = [] -%} + {%- for item in publishedQReferences -%} + {%- set refId = repliesMap[[publishedQReferencesPath, item, uuids.publishedQReferenceIdQUuid]|reply_path]|reply_str_value|e -%} + {%- set refRel = repliesMap[[publishedQReferencesPath, item, uuids.publishedQReferenceRelQUuid]|reply_path]|reply_str_value|e -%} + {%- if refId and refRel -%} + {%- do qreferences.append({ + 'id': refId, + 'relation': refRel, + }) -%} + {%- endif -%} + {%- endfor -%} + {%- if qreferences|length > 0 -%} +
    The following qualified references to other data sets will be included: +
      + {%- for qref in qreferences -%} +
    • {{ qref.id|e }} – {{ qref.relation|e }}
    • + {%- endfor -%} +
    + {%- endif -%} +
  • + {%- endfor -%} +
+ {%- endif -%} + + {# Restricitions #} + +

Restrictions on data sharing

+

Ethical and legal restrictions are documented under Section 4. 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 -%} +
+
diff --git a/src/questions/09-longterm-plan.html.j2 b/src/questions/11-data-preservation.html.j2 similarity index 78% rename from src/questions/09-longterm-plan.html.j2 rename to src/questions/11-data-preservation.html.j2 index 4f3d714..d796bb2 100644 --- a/src/questions/09-longterm-plan.html.j2 +++ b/src/questions/11-data-preservation.html.j2 @@ -1,11 +1,13 @@ -
-

9. What is the longterm preservation plan for the dataset?

+
+

11. How will data for preservation be selected, and where data will be preserved long-term (for example a data repository or archive)?

{# Produced datasets #} {%- set producedDataPath = [uuids.preservingCUuid, uuids.producedDataQUuid]|reply_path -%} {%- set producedDataItems = repliesMap[producedDataPath]|reply_items -%} {%- if producedDataItems|length > 0 -%} +

+ We plan to produce the following datasets:

    {%- for i in producedDataItems -%} {%- set pathPrefix = [producedDataPath, i]|reply_path -%} @@ -19,11 +21,32 @@ (not published) {% elif isPublishedDataAUuid == uuids.isPublishedDataYesAUuid %} (published) - {# Distributions #} + {% endif -%} + {# How long will be stored + Metadata FAIRness #} + {%- set publishedDataHowLongPath = [pathPrefix, uuids.publishedDataHowLongQUuid]|reply_path -%} + {%- set publishedDataHowLongAUuid = repliesMap[publishedDataHowLongPath]|reply_str_value -%} + {%- set publishedDataMetadataPersistentPath = [pathPrefix, uuids.publishedDataMetadataPersistentQUuid]|reply_path -%} + {%- set publishedDataMetadataPersistentAUuid = repliesMap[publishedDataMetadataPersistentPath]|reply_str_value -%} + {%- if publishedDataHowLongAUuid or (publishedDataMetadataPersistentAUuid == uuids.publishedDataMetadataPersistentYesAUuid) %} + {% if publishedDataHowLongAUuid == uuids.publishedDataHowLongTechnicalAUuid -%} +

    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: +

    The distributions will be stored in:

      {%- for j in distrosItems -%} {%- set distroPrefix = [distrosPath, j]|reply_path -%} @@ -51,7 +74,7 @@ {%- elif domainSpecificRepoContactBeforeAUuid == uuids.domainSpecificRepoContactBeforeOtherAUuid %} {%- set domainSpecificRepoContactBeforeOtherPath = [domainSpecificRepoContactBeforePath, uuids.domainSpecificRepoContactBeforeOtherAUuid, uuids.domainSpecificRepoContactBeforeOtherQUuid]|reply_path -%} {%- set domainSpecificRepoContactBeforeOther = repliesMap[domainSpecificRepoContactBeforeOtherPath]|reply_str_value %} - We have made other arrangements{{ ": " ~ domainSpecificRepoContactBeforeOther|dot if domainSpecificRepoContactBeforeOther else "." }} + We have made other arrangements instead of contacting the repository directly{{ ": " ~ domainSpecificRepoContactBeforeOther|dot if domainSpecificRepoContactBeforeOther else "." }} {%- endif -%} {%- elif distroRepositoryKindAUuid == uuids.publishedDataRepositoryNationalAUuid %} Our national repository. @@ -87,11 +110,10 @@ {%- if publishedDataCatalogueAUuid == uuids.publishedDataCatalogueYesAUuid -%}
      We will be adding a reference to the published data to at least one data catalogue. {%- endif -%} - {%- endif -%} +
      {%- endfor -%}
    - {%- endif -%} {# Repository charges #} {%- set repoChargesPath = [uuids.preservingCUuid, uuids.repoChargesQUuid]|reply_path -%} {%- set repoChargesAUuid = repliesMap[repoChargesPath]|reply_str_value -%} @@ -120,5 +142,6 @@ {%- if budgetTimeEffortAUuid == uuids.budgetTimeEffortYesAUuid -%}

    We have a reserved budget for the time and effort it will take to prepare the data for publication.

    {%- endif -%} + {%- endif -%}
-
+
\ No newline at end of file diff --git a/src/questions/11-restrictions.html.j2 b/src/questions/11-restrictions.html.j2 deleted file mode 100644 index 0fa5af6..0000000 --- a/src/questions/11-restrictions.html.j2 +++ /dev/null @@ -1,68 +0,0 @@ -
-

11. Are any restrictions on data sharing required?

- -
-

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 -%} -
-
diff --git a/src/questions/12-access-data.html.j2 b/src/questions/12-access-data.html.j2 new file mode 100644 index 0000000..b5e288e --- /dev/null +++ b/src/questions/12-access-data.html.j2 @@ -0,0 +1,55 @@ +
+

12. What methods or software tools are needed to access and use data?

+ +
+ {# Produced datasets #} + {%- set producedDataPath = [uuids.preservingCUuid, uuids.producedDataQUuid]|reply_path -%} + {%- set producedDataItems = repliesMap[producedDataPath]|reply_items -%} + {%- if producedDataItems|length > 0 -%} +
    + {%- for i in producedDataItems -%} + {%- set pathPrefix = [producedDataPath, i]|reply_path -%} + {%- set producedDataName = repliesMap[[pathPrefix, uuids.producedDataNameQUuid]|reply_path]|reply_str_value -%} +
  • + {# If will be published #} + {%- set isPublishedDataPath = [pathPrefix, uuids.isPublishedDataQUuid]|reply_path -%} + {%- set isPublishedDataAUuid = repliesMap[isPublishedDataPath]|reply_str_value -%} + {% if isPublishedDataAUuid == uuids.isPublishedDataYesAUuid %} + {# If SW is required #} + {%- set isPublishedDataSwUuid = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedSpecSwUseQUuid]|reply_path -%} + {%- set isPublishedDataSwAUuid = repliesMap[isPublishedDataSwUuid]|reply_str_value -%} + {{ producedDataName if producedDataName else "(no name given)" }} + {%- if isPublishedDataSwAUuid == uuids.publishedSpecSwUseYesAUuid -%} + {%- set isPublishedSWPath = [isPublishedDataSwUuid, uuids.publishedSpecSwUseYesAUuid, uuids.publishedSpecSwUseWhatQUuid ]|reply_path -%} + {%- set isPublishedSwItems = repliesMap[isPublishedSWPath]|reply_items -%} + {%- if isPublishedSwItems|length > 0 -%} +
    In order to use this dataset following software will be needed: +
      + {%- for swItem in isPublishedSwItems -%} + {%- set swNameUuid = [isPublishedSWPath, swItem, uuids.publishedSpecSwUseWhatNameQUuid]|reply_path -%} + {%- set swNameReply = repliesMap[swNameUuid]|reply_str_value -%} + {%- set swPIDUuid = [isPublishedSWPath, swItem, uuids.publishedSpecSwUseWhatPIDQUuid]|reply_path -%} + {%- set swPIDReply = repliesMap[swPIDUuid]|reply_str_value -%} +

      {{ swNameReply if swNameReply else "(no name given)" }} + {%- if swPIDReply -%} + , available at {{swPIDReply|dot}}

      + {%- else -%} + . + {%- endif -%} + {%- endfor -%} +
    + {%- else -%} +

    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 -%} +
+
diff --git a/src/questions/13-persistent-identifier.html.j2 b/src/questions/13-persistent-identifier.html.j2 new file mode 100644 index 0000000..ed07645 --- /dev/null +++ b/src/questions/13-persistent-identifier.html.j2 @@ -0,0 +1,142 @@ +
+

13. How will the application of a unique and persistent identifier (such as a Digital Object Identifier (DOI)) to each data set be ensured?

+ +
+ {# identifiers #} +

Ensuring PIDs for published data

+ {%- set producedDataPath = [uuids.preservingCUuid, uuids.producedDataQUuid]|reply_path -%} + {%- set producedDataItems = repliesMap[producedDataPath]|reply_items -%} + {%- if producedDataItems|length > 0 -%} +
    + {%- for i in producedDataItems -%} + {%- set pathPrefix = [producedDataPath, i]|reply_path -%} + {%- set producedDataName = repliesMap[[pathPrefix, uuids.producedDataNameQUuid]|reply_path]|reply_str_value -%} + {# If will be published #} + {%- set isPublishedDataPath = [pathPrefix, uuids.isPublishedDataQUuid]|reply_path -%} + {%- set isPublishedDataAUuid = repliesMap[isPublishedDataPath]|reply_str_value -%} + {% if isPublishedDataAUuid == uuids.isPublishedDataYesAUuid %} +
  • + {{ producedDataName if producedDataName else "(no name given)" }} + {# Where the data will be distributed #} + {%- set publishedDistrosPath = [isPublishedDataPath, uuids.isPublishedDataYesAUuid, uuids.publishedDistrosQUuid]|reply_path -%} + {%- set publishedDistrosItems = repliesMap[publishedDistrosPath]|reply_items -%} + {%- if publishedDistrosItems|length > 0 -%} +

    This data will be distributed in following {{ "repositories" if publishedDistrosItems|length > 1 else "repository" }}:

    +
      + {%- for j in publishedDistrosItems -%} + {%- set publishedDistrosItem = [publishedDistrosPath, j]|reply_path -%} + {%- set publishedDataIdentifierQUuid = [publishedDistrosItem, uuids.publishedDataIdentifierQUuid]|reply_path -%} + {%- set publishedDataIdentifierAUuid = repliesMap[publishedDataIdentifierQUuid]|reply_str_value -%} + + {%- set repositoryKindQUuid = [publishedDistrosItem, uuids.publishedDataRepositoryKindQUuid]|reply_path -%} + {%- set repositoryKindAUuid = repliesMap[repositoryKindQUuid]|reply_str_value -%} +
    • + {%- if repositoryKindAUuid == uuids.publishedDataRepositoryDomainSpecificAUuid -%} + Domain-specific repository + {%- elif repositoryKindAUuid == uuids.publishedDataRepositoryNationalAUuid -%} + National repository + {%- elif repositoryKindAUuid == uuids.publishedDataRepositoryInstitutionalAUuid -%} + Institutional repository + {%- elif repositoryKindAUuid == uuids.publishedDataRepositorySpecialAUuid -%} + Special-purpose repository + {%- endif -%} + + {# Will this data be assigned persistent identifier? #} + {%- if publishedDataIdentifierAUuid == uuids.publishedDataIdentifierYesAUuid -%} +

      Within this repository, unique and persistent identifiers will be applied as follows:

      +
        + {# Who assigns #} + {%- set publishedDataIdentifierAssignsQUuid = [publishedDataIdentifierQUuid, uuids.publishedDataIdentifierYesAUuid, uuids.publishedDataIdentifierAssignsQUuid]|reply_path -%} + {%- set publishedDataIdentifierAssignsAUuid = repliesMap[publishedDataIdentifierAssignsQUuid]|reply_str_value -%} + + {%- if publishedDataIdentifierAssignsAUuid == uuids.publishedDataIdentifierAssignsProjectDataStewardAUuid -%} +

        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 -%} +
      + {%- endif -%} +
    • + {%- endfor -%} +

      Within this repository, unique and persistent identifiers will not be applied.

      +
    + {%- endif -%} + {%- endif -%} +
  • + {%- endfor -%} +
+ {%- endif -%} + + {# Explain how the data might be re-used in other contexts. #} +

Possible re-use of created data in other contexts

+ Explanation of how the collected or created data might be re-used in other contexts: + + {%- set dataMeasuredQUuid = [uuids.creatingCUuid, uuids.measuredQUuid]|reply_path -%} + {%- set dataMeasuredAUuid = repliesMap[dataMeasuredQUuid]|reply_str_value -%} + + {%- if dataMeasuredAUuid == uuids.measuredYesAUuid -%} + + {%- set dataMeasuredPath = [dataMeasuredQUuid, uuids.measuredYesAUuid, uuids.measuredDataQUuid]|reply_path -%} + {%- set dataMeasuredItems = repliesMap[dataMeasuredPath]|reply_items -%} +
    + {%- for k in dataMeasuredItems -%} + {%- set measuredDataItem = [dataMeasuredPath, k]|reply_path -%} + {%- set measuredDataNameQUuid = [measuredDataItem, uuids.measuredDataNameQUuid]|reply_path -%} + {%- set measuredDataNameReply = repliesMap[measuredDataNameQUuid]|reply_str_value -%} +
  • + {{ measuredDataNameReply if measuredDataNameReply else "(no name given)" }} + {%- set measuredDataReuseQUuid = [measuredDataItem, uuids.measuredDataReuseQUuid]|reply_path -%} + {%- set measuredDataReuseAUuid = repliesMap[measuredDataReuseQUuid]|reply_str_value -%} + + {%- if measuredDataReuseAUuid == uuids.measuredDataReuseUsAUuid -%} +

    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 -%} +
  • + {%- endfor -%} +
+ + {%- endif -%} + + + +
+
diff --git a/src/questions/13-required-resources.html.j2 b/src/questions/13-required-resources.html.j2 deleted file mode 100644 index 4127c8a..0000000 --- a/src/questions/13-required-resources.html.j2 +++ /dev/null @@ -1,48 +0,0 @@ -
-

13. What resources will you require to deliver your plan?

- -
- {# additional expertise #} - {%- set expertisePath = [uuids.adminDetailsCUuid, uuids.additionalExpertiseQUuid]|reply_path -%} - {%- set expertiseAUuid = repliesMap[expertisePath]|reply_str_value -%} - {%- if expertiseAUuid == uuids.additionalExpertiseNoAUuid -%} -

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.

-
-
diff --git a/src/questions/12-dm-responsible.html.j2 b/src/questions/14-dm-responsible.html.j2 similarity index 95% rename from src/questions/12-dm-responsible.html.j2 rename to src/questions/14-dm-responsible.html.j2 index 6ab3211..f8bb919 100644 --- a/src/questions/12-dm-responsible.html.j2 +++ b/src/questions/14-dm-responsible.html.j2 @@ -1,5 +1,5 @@
-

12. Who will be responsible for data management?

+

14. Who (for example role, position, and institution) will be responsible for data management (i.e. the data steward)?

{# NOTE: Public questionnaires does not have "ctx.createdBy" filled #} diff --git a/src/questions/15-required-resources.html.j2 b/src/questions/15-required-resources.html.j2 new file mode 100644 index 0000000..fcbb8a1 --- /dev/null +++ b/src/questions/15-required-resources.html.j2 @@ -0,0 +1,161 @@ +
+

15. What resources (for example financial and time) will be dedicated to data management and ensuring that data will be FAIR (Findable, Accessible, Interoperable, Re-usable)?

+ +
+ {# additional expertise #} + {%- set expertisePath = [uuids.adminDetailsCUuid, uuids.additionalExpertiseQUuid]|reply_path -%} + {%- set expertiseAUuid = repliesMap[expertisePath]|reply_str_value -%} + {%- if expertiseAUuid == uuids.additionalExpertiseNoAUuid -%} +

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:

+
    + {%- for i in projectItems -%} + {%- set projectItem = [projectPath, i]|reply_path -%} + {%- set projectItemNameQUuid = [projectItem, uuids.projectNameQUuid]|reply_path -%} + {%- set projectItemNameReply = repliesMap[projectItemNameQUuid]|reply_str_value -%} + + {%- set projectItemNumberQUuid = [projectItem, uuids.projectNumberQUuid]|reply_path -%} + {%- set projectItemNumberReply = repliesMap[projectItemNumberQUuid]|reply_str_value -%} +
  • + {{ projectItemNameReply if projectItemNameReply else "(no name given)" }}{{ " - " + projectItemNumberReply if projectItemNumberReply}} + + {%- set projectCostPath = [projectItem, uuids.costQUuid]|reply_path -%} + {%- set projectCostItems = repliesMap[projectCostPath]|reply_items -%} + + {%- if projectCostItems|length > 0 -%} +
      + {%- for j in projectCostItems -%} + {%- set projectCostItem = [projectCostPath, j]|reply_path -%} + {%- set projectCostItemTitleQUuid = [projectCostItem, uuids.costTitleQUuid]|reply_path -%} + {%- set projectCostItemTitleReply = repliesMap[projectCostItemTitleQUuid]|reply_str_value -%} +
    • + {{ projectCostItemTitleReply if projectCostItemTitleReply else "(no name given)" }} + + {%- set projectCostItemDescriptionQUuid = [projectCostItem, uuids.costDescriptionQUuid]|reply_path -%} + {%- set projectCostItemDescriptionReply = repliesMap[projectCostItemDescriptionQUuid]|reply_str_value -%} + + {{" - "+projectCostItemDescriptionReply|dot}} + + {%- set projectCostItemCurrencyQUuid = [projectCostItem, uuids.costCurrencyQUuid]|reply_path -%} + {%- set projectCostItemCurrencyReply = repliesMap[projectCostItemCurrencyQUuid] -%} + + + {%- set projectCostItemAmountQUuid = [projectCostItem, uuids.costAmountQUuid]|reply_path -%} + {%- set projectCostItemAmountReply = repliesMap[projectCostItemAmountQUuid]|reply_str_value -%} + + {%- if projectCostItemAmountReply and projectCostItemCurrencyReply -%} +

      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 -%} + + +
    • + {%- endfor -%} +
    + {%- endif -%} + +
  • + + {%- endfor -%} +
+ {%- endif -%} +
+
diff --git a/src/uuids.j2 b/src/uuids.j2 index cc96516..3e4f743 100644 --- a/src/uuids.j2 +++ b/src/uuids.j2 @@ -6,6 +6,7 @@ {%- set projectAbstractQUuid = "22583d74-3c98-4e0a-b363-26d767c88212" -%} {%- set projectStartQUuid = "de84b9b5-bcd0-4954-8370-72ea83916b8c" -%} {%- set projectEndQUuid = "cabc6f07-6015-454e-b97a-c34db4ec0c60" -%} +{%- set projectNumberQUuid = "56163eb0-0101-40b4-b1c1-580875196b5c" -%} {%- set fundersQUuid = "36a87eac-402d-43fb-a0df-ac5963bdf87d" -%} {%- set funderNameQUuid = "0b12fb8c-ee0f-40c0-9c53-b6826b786a0c" -%} {%- set funderStatusQUuid = "54ff3b18-652f-4235-8f9f-3c87e2d63169" -%} @@ -14,6 +15,22 @@ {%- set funderStatusGrantedAUuid = "dcbeab22-d188-4fa0-b50b-5c9d1a2fbefe" -%} {%- set funderStatusRejectedAUuid = "8c0c9f28-4672-46ba-a939-48c2c892d790" -%} {%- set grantNumberQUuid = "1ccbd0bb-4263-4240-9dc5-936ef09eef53" -%} +{%- set costQUuid = "353eeaca-45fa-4958-a33c-ec6de3075701" -%} +{%- set costTitleQUuid = "7098b454-bc5e-4f83-a95d-970aa42e1479" -%} +{%- set costDescriptionQUuid = "b3d9b6ca-bd24-4fa3-a3bd-d15005b9ae8b" -%} +{%- set costCurrencyQUuid = "ac1f8f04-17a2-49e9-b2ad-2a9f8e44efb3" -%} +{%- set costAmountQUuid = "e53fdad9-7799-4eb4-8b4d-fa9aa05f9d2d" -%} +{%- set costAllocationQUuid = "028909e8-7392-4385-96a3-467d79c43a42" -%} +{%- set costAllocationFindabilityAUuid = "d84664d4-9bb6-40ff-bde5-3c1ed58ce522" -%} +{%- set costAllocationAccessibilityAUuid = "9ffe7d27-a04c-481e-8e20-09b6afd8fabf" -%} +{%- set costAllocationInteroperabilityAUuid = "8258c093-d1c8-4d41-801e-44e2c8ce6c86" -%} +{%- set costAllocationReusabilityAUuid = "350a6e85-d4b2-4a44-831d-4562e5668208" -%} +{%- set costManagementAUuid = "d2a9d717-c0b2-44ee-8a6d-8476831b6225" -%} +{%- set costCoverQUuid = "46cd176a-138a-4f6c-8cd5-dfcb1f23f04a" -%} +{%- set costCoverGrantAUuid = "8e7cd80f-9a32-48a6-a65c-0d3a0f0a6d3a" -%} +{%- set costCoverGrantIdQUuid = "7a6f224d-b787-495f-8310-8a89d2f41774" -%} +{%- set costCoverOtherAUuid = "2e37f71b-b7aa-4182-888a-8b7a5156b53c" -%} +{%- set costCoverOtherHowQUuid = "2964c7f7-d9be-42ac-8cfe-dbcf4d62f8a2" -%} {%- set projEthicalApprovalQUuid = "dbb99f35-bdd9-4637-890e-23ba5bc19d6a" -%} {%- set projEthicalApprovalYesAUuid = "f301ae6e-5bbe-4fe9-a637-f2d5c5f05c73" -%} @@ -49,6 +66,10 @@ {%- set additionalHWSWNoAUuid = "f4da7f1d-f3c6-42e2-a7b5-41c4845ba352" -%} {%- set additionalHWSWYesAUuid = "5d0b87a6-93d5-4b33-a13f-e8b5da23904f" -%} {%- set additionalHWSWYesWhatQUuid = "89af6cc3-cdc5-4d3f-9082-e02c063e0635" -%} +{%- set policiesProceduresQUuid = "87964502-4401-45e5-9084-d6c84a417acf" -%} +{%- set policiesProceduresNameQUuid = "34058487-d9e7-41af-be6a-aba67200b8d2" -%} +{%- set policiesProceduresLinkQUuid = "e13bf3cb-cf78-486e-b844-2c12320919c4" -%} +{%- set policiesProceduresDescriptionQUuid = "c730b703-82cf-4a0e-a1dc-d910d73d1ed9" -%} {# Chapter 2 - Reusing data #} {%- set reusingCUuid = "82fd0cce-2b41-423f-92ad-636d0872045c" -%} {%- set preexistingQUuid = "efc80cc8-8318-4f8c-acb7-dc1c60e491c1" -%} @@ -123,6 +144,28 @@ {%- set nrefDataOwnersYesAUuid = "b0384f48-668f-4be5-86cc-e3fec81bcdb7" -%} {%- set nrefDataOwnersWeAUuid = "08b6593f-60a2-498a-9c20-eeb55568f8c1" -%} +{%- set nrefDataPersonalQUuid = "50864250-7dad-421a-9f6c-303114fe6e6c" -%} +{%- set nrefDataPersonalNoAUuid = "381058ff-8fed-40f5-928e-06e19e90dd1c" -%} +{%- set nrefDataPersonalYesAUuid = "1bbafc04-e527-481b-ad1f-521cc48de186" -%} +{%- set nrefDataPersonalLegalBasisQUuid = "c2da0410-ede1-4b0a-a750-09e6e6bd38cf" -%} +{%- set nrefDataPersonalLegalBasisPubInterestAUuid = "597d2547-4e97-4045-8605-3b5249f2b412" -%} +{%- set nrefDataPersonalLegalBasisConsentAUuid = "eb17ff9a-c57e-4fd4-b3bd-89edb31c6568" -%} +{%- set nrefDataPersonalLegalBasisConsentReuseQUuid = "28e7c4f7-7ade-42b2-a68e-63ab4f67b960" -%} +{%- set nrefDataPersonalLegalBasisConsentReuseYesAUuid = "15071f5e-c120-4a10-b0e8-054dea4dbf04" -%} +{%- set nrefDataPersonalLegalBasisConsentReuseNoAUuid = "5374139c-f125-4d04-bce2-3ef6d4b34a2a" -%} +{%- set nrefDataPersonalLebalBasisOtherAUuid = "ef396bbf-daa7-4d61-b4d7-ab66900b2598" -%} +{%- set nrefDataPersonalLegalBasisOtherQUuid = "40ea30cc-ea49-4407-8bba-c511a9fb1786" -%} +{%- set nrefDataPersonalLegalBasisOtherLegalAUuid = "18db88c7-97c9-416e-b1ae-763bf018345e" -%} +{%- set nrefDataPersonalLegalBasisOtherVitalAUuid = "8caeb960-7c5e-457c-ae9e-1a2e038a466a" -%} +{%- set nrefDataPersonalLegalBasisOtherLegitAUuid = "34bf8a67-6bba-4eab-8264-8d76f97e66c8" -%} +{%- set nrefDataPersonalLegalBasisOtherContractAUuid = "bfb7a92c-5eec-497e-8a0f-ef7b12f353c2" -%} + +{%- set nrefDataEthicalApprovalQUuid = "c15710f6-1c7f-43a0-97e7-ab70f6b5a115" -%} +{%- set nrefDataEthicalApprovalNotAUuid = "ad44fec7-d244-4bb1-9028-8d6856a06d6b" -%} +{%- set nrefDataEthicalApprovalCoversAUuid = "284110a8-66b4-4ba5-9e7a-edb77b1f2b3a" -%} +{%- set nrefDataEthicalApprovalExtensionAUuid = "12ae8bdc-a6eb-4db9-9a1a-7e6fed7f9ace" -%} +{%- set nrefDataEthicalApprovalNewAUuid = "6dd1142d-f76f-4d0b-9c38-999f7d8a229b" -%} + {%- set nrefDataFormatQUuid = "588e3c1f-e9fd-411f-954e-f7a9b1cff1de" -%} {%- set nrefDataFormatUseAUuid = "4831f187-8660-4641-9a32-a6f4f569614f" -%} {%- set nrefDataFormatConvertAUuid = "3da33836-eff3-4166-898b-3c2c3d3989a8" -%} @@ -161,6 +204,7 @@ {%- set dataCompReadItselfQUuid = "530124a4-c7e9-4821-b26d-32a8ecd0d978" -%} {%- set dataCompReadItselfNoAUuid = "14c64eb2-d270-49b8-ac89-3ca42d52977f" -%} {%- set dataCompReadItselfYesAUuid = "dce00426-ea06-4aac-979e-ccefb9ba01f9" -%} +{%- set dataCompReadItselfYesOtherAUuid = "790dbcb1-69fb-4aac-bffc-4b7dd8b24aaa" -%} {# Chapter 3 - Creating and collecting data #} {%- set creatingCUuid = "b1df3c74-0b1f-4574-81c4-4cc2d780c1af" -%} {%- set collabQUuid = "b2fb6b4e-2961-40a4-a9ec-faf4e49a978b" -%} @@ -255,9 +299,15 @@ {%- set mdQualityOtherQUuid = "839ea5fc-9cc1-497e-91bf-c05b34847a5e" -%} {%- set mdQualityOtherNoAUuid = "095cdc0d-3a93-4476-a320-140114e1d071" -%} {%- set mdQualityOtherYesAUuid = "f1e2f788-0957-4111-b342-ab9797641e4d" -%} -{%- set mdQualityOtherQUuid = "e24167a2-14ec-445d-b205-fb6c7e24a7d1" -%} +{%- set mdQualityOtherWhatQUuid = "e24167a2-14ec-445d-b205-fb6c7e24a7d1" -%} {%- set mdQualityConsistencyQUuid = "1b919e1e-a4fe-4be6-a976-862b82aab9b0" -%} {%- set mdQualityConsistencyYesAUuid = "4f39e294-eed3-45b7-9d77-406268eda5a3" -%} +{%- set measuredDataReuseQUuid = "135aa977-ecc2-4bb8-aa55-2def9d9d6040" -%} +{%- set measuredDataReuseUsAUuid = "f5a4d36c-4ce8-4ab6-8e5e-d7a2418c77c7" -%} +{%- set measuredDataReuseSameFieldAUuid = "515cac06-d101-4af1-95ef-33fd6a2da8b0" -%} +{%- set measuredDataReuseOtherFieldAUuid = "9270c716-f997-43e1-bc2a-55687e149dbd" -%} +{%- set measuredDataReuseOtherFieldHowQUuid = "1ca28160-8b73-48fe-8b74-18c0f5cb56df" -%} + {%- set neqDataQUuid = "f038bd46-ee4e-4f53-b7ea-482381c2c855" -%} {%- set neqDataYesAUuid = "4fd89b13-f33c-4858-8b25-ab6da271efc6" -%} {%- set neqDataQuestQUuid = "85079340-7b80-4dc7-86ae-cc5f599ec737" -%} @@ -297,6 +347,18 @@ {%- set cpersGdprPurposeQUuid = "c7496ece-4535-4f5d-bcf7-7845989906e9" -%} {%- set cpersGdprNeedDpiaQUuid = "8915bd25-db22-4ed6-bcc8-b1bbdc52989e" -%} {%- set cpersGdprNeedDpiaYesAUuid = "c3914e43-cca1-4180-8960-228b7022bae6" -%} + {%- set cpersGdprSafeguardsQUuid = "a30f5047-33c1-45a7-8b3f-b1b90c364fc9" -%} + {%- set cpersGdprSafeguardsAUuid = "22e612e0-c72d-42fa-9a37-a55232e72c72" -%} + {%- set cpersGdprSafeguardsIdentifQUuid = "7cc7b00c-6f1e-4ad9-9742-f02df552dbee" -%} + {%- set cpersGdprSafeguardsIdentifAnonymAUuid = "40a6b522-c130-44ec-924b-5316e0826bc2" -%} + {%- set cpersGdprSafeguardsIdentifPseudoAUuid = "4cac7782-c9f7-4520-a88a-8b7688b7587d" -%} + {%- set cpersGdprSafeguardsIdentifIdentifableAUuid = "930599c4-d002-42b7-bc0b-fa9565382d8c" -%} + {%- set cpersGdprSafeguardElaborateQUuid = "f646ba6e-21bc-4e66-8265-c8fdbe115c1f" -%} + {%- set cpersGdprSafeguardsTransferQUuid = "15ade1cb-af43-40be-b8b1-2b801812dab1" -%} + {%- set cpersGdprSafeguardsTransferYesAUuid = "92b8a6ea-124f-43dd-95ab-13b8ce955bac" -%} + {%- set cpersGdprSafeguardsTransferNoAUuid = "ecbffd84-0d74-4a7d-8fbc-f34e6aecc6a4" -%} + {%- set cpersGdprSafeguardsTransferMeasuresQUuid = "db902645-6aef-426a-aa2c-30e96a4b3afb" -%} + {%- set ethLegQUuid = "ebcbf4c6-ce25-4a0b-9e82-039a88498203" -%} {%- set ethLegNoAUuid = "579c0a9a-29f0-4ab8-991d-bc4f55f2e4b8" -%} @@ -471,6 +533,17 @@ {%- set publishedDataLicenseCC0AUuid = "d27a6e0f-55ea-4b25-bfb9-dcb4d6346fe0" -%} {%- set publishedDataLicenseCCBYAUuid = "9186e183-e328-41f9-b012-149d0bbad9ea" -%} {%- set publishedDataLicenseRestrictAUuid = "734d5f4e-91c0-4019-8164-8c70c2e0c8f2" -%} +{%- set publishedDataIdentifierQUuid = "d21fdb06-22bf-418e-aa40-dc5ef1485f56" -%} +{%- set publishedDataIdentifierYesAUuid = "1072923b-8330-4da1-9b5f-9880afa053a9" -%} +{%- set publishedDataIdentifierNoAUuid = "7fed9f6d-70d5-4c32-9a7b-2844174bb84b" -%} +{%- set publishedDataIdentifierAssignsQUuid = "c928d464-4ae7-447c-82f6-bc525d2596a9" -%} +{%- set publishedDataIdentifierAssignsProjectDataStewardAUuid = "50eb4b5d-2455-48aa-b1f1-b4abca495e4d" -%} +{%- set publishedDataIdentifierAssignsInstitDataStewardAUuid = "290d7b18-f851-41eb-8024-e23bba79592e" -%} +{%- set publishedDataIdentifierAssignsRepositoryAUuid = "a31e0fc2-4bde-4482-8747-d250042a1589" -%} +{%- set publishedDataIdentifierResolvableQUuid = "7f55274c-a5f5-4f6a-94d8-531ea0077462" -%} +{%- set publishedDataIdentifierResolvableYesAUuid = "862e3a05-e5d7-4004-b6d9-79fc20192311" -%} +{%- set publishedDataIdentifierResolvableNoAUuid = "51a6c4eb-bf33-4feb-9e89-9372ebb112c9" -%} +{%- set publishedDataIdentifierSpecifyQUuid = "22e898b5-87c2-4c29-89b3-fd08bce01a23" -%} {%- set licenseRestrictLinkQUuid = "375792f1-d7c3-4c8d-bf9e-f15ffa38e2fb" -%} {%- set licenseRestrictConditionsQUuid = "30426255-b153-4f3e-bf20-f13573160a64" -%} {%- set licenseRestrictAccessQUuid = "f78fb7e9-2f26-493c-a19b-04e153c17274" -%} @@ -481,6 +554,12 @@ {%- set licenseRestrictMetadataQUuid = "a572c436-5d57-4385-ac9a-d6f117881444" -%} {%- set licenseRestrictMetadataNoAUuid = "70e54988-5124-45cc-8803-2a7443e41b3d" -%} {%- set licenseRestrictMetadataYesAUuid = "438aa606-da1d-49f7-8de0-e5fbe64feaa8" -%} +{%- set publishedSpecSwUseQUuid = "1302cb21-6a98-490e-b64d-acf4744a8b1a" -%} +{%- set publishedSpecSwUseNoAUuid = "5d7aa34b-2e26-485a-be2b-5de39f788c3e" -%} +{%- set publishedSpecSwUseYesAUuid = "371461b3-3758-443d-b06a-fa37514be4da" -%} +{%- set publishedSpecSwUseWhatQUuid = "b8543a67-2a6b-4f45-a0b0-d245227f9818" -%} +{%- set publishedSpecSwUseWhatNameQUuid = "235b36a8-3df7-44b7-9d0f-2ced3e4281a3" -%} +{%- set publishedSpecSwUseWhatPIDQUuid = "f29e2dbd-8edc-4ac3-92ba-96a6d507789b" -%} {%- set publishedWhenQUuid = "5f5cc5b6-a17c-4cf5-b6fc-ecfd655c0fe6" -%} {%- set publishedWhenSoonAUuid = "58468158-3e03-4f3d-a262-6fffb05bf08f" -%} {%- set publishedWhenCleanupAUuid = "428ccd38-fb39-4e18-9d5c-92d80ba019ee" -%} @@ -492,11 +571,17 @@ {%- set publishedQReferenceRelQUuid = "c70e49f9-09e4-456a-814b-bbaa8fde887c"-%} {%- set publishedDataHowLongQUuid = "d4e6a244-07fb-4573-b93f-c20a9409ac7c" -%} {%- set publishedDataHowLongTechnicalAUuid = "59305ef2-2dd0-4553-8d7b-29186e0b8cd5" -%} -{%- set publishedDataHowLongLegalAUuid = "bb6b4f0a-9908-4473-9982-30084ff4f6ab" -%} +{%- set publishedDataHowLongDeletedAUuid = "bb6b4f0a-9908-4473-9982-30084ff4f6ab" -%} {%- set publishedDataHowLongFixedAUuid = "7b5f059a-ae7e-4f7f-92e8-119911e568b2" -%} {%- set publishedDataHowLongFixedQUuid = "346118ee-265f-4104-8409-161ea9a57f75" -%} {%- set publishedDataMetadataPersistentQUuid = "3b3fbcc6-c405-4151-8dce-e11dbd46b1bd" -%} {%- set publishedDataMetadataPersistentYesAUuid = "d21c32f1-c150-4c89-8472-2918d60dd547" -%} +{%- set containPersonalQUuid = "a1d76760-053c-4706-80a2-cfb6c6a061f3" -%} +{%- set containPersonalNoAUuid = "4b2a08c7-4942-41fc-8114-d3868c882624" -%} +{%- set containPersonalYesAUuid = "0cdc4817-7c54-4ec1-b2f4-5c007a85c7b8" -%} +{%- set containSensitiveQUuid = "cc95b399-7d8d-4232-bccf-686f78c91bff" -%} +{%- set containSensitiveNoAUuid = "60de66a3-d303-4784-8931-bc58f8a3e747" -%} +{%- set containSensitiveYesAUuid = "2686575d-cd74-4e2c-8524-eaca6f510425" -%} {%- set repoChargesQUuid = "de23bb94-b727-4907-9a5d-6f8c78c3e432" -%} {%- set repoChargesNoAUuid = "172043dd-d911-4bc7-9ba6-841d38d5822c" -%} {%- set repoChargesYesAUuid = "fe8ed36b-40e8-483b-ab31-061f6168d7ad" -%} @@ -508,6 +593,17 @@ {%- set repoChargesHowPayOtherQUuid = "6e0704a2-cea3-4ae7-8ab5-5eb6db163639" -%} {%- set budgetTimeEffortQUuid = "13a7eeae-09f5-42bf-8e62-b2c1fe1b86f7" -%} {%- set budgetTimeEffortYesAUuid = "db44d6ca-efc2-413e-8abc-d92f92ed1d1d" -%} +{%- set archivedDuringQUuid = "d5784d24-0e66-4821-bd62-a711fb6d7a40" -%} +{%- set archivedDuringYesAUuid = "e81599af-4519-4987-b74e-9545428ed0e3" -%} +{%- set archivedDuringReQUuid = "c659c36f-d142-4453-8d8b-db7c05f31371" -%} +{%- set archivedDuringReNoAUuid = "e2ad7b2b-cc9a-445b-8a94-c41032a7e787" -%} +{%- set archivedDruingReYesAUuid = "48d7128a-a237-4d32-8fc6-464089b46892" -%} +{%- set archivedDuringReFrequentBackupsQUuid = "1147485f-b9a9-486c-8341-27e05718c508" -%} +{%- set archivedDuringReFrequentBackupsNoAUuid = "e2ad7b2b-cc9a-445b-8a94-c41032a7e787" -%} +{%- set archivedDuringReFrequentBackupsYesAUuid = "67d52405-a902-4661-8158-91ab1d268832" -%} +{%- set archivedDuringRelyQUuid = "f6476ea3-1ec5-447b-a776-4f0bfca38f8f" -%} +{%- set archivedDuringRelyYesAUuid = "899b6dc9-59fa-4246-b152-915d4864f771" -%} +{%- set archivedDuringRelyNoAUuid = "6f307c89-c1b2-4dcc-8315-585a65f08a87" -%} {# Chapter 7 - Giving access to data #} {%- set accessCUuid = "6be88f7c-f868-460f-bba7-91e1c659adfd" -%} {%- set asOpenAsPossibleQUuid = "6516eae1-98b2-48f2-9862-b5fb140cfad7" -%} @@ -518,6 +614,9 @@ {%- set notOpenLegalReasonsQUuid = "c010e830-bd89-460d-9498-cb41e7ffeb87" -%} {%- set notOpenLegalReasonsNoAUuid = "31f2fcda-dbb2-40f6-871b-c3cc59797a6b" -%} {%- set notOpenLegalReasonsYesAUuid = "aac95530-2978-4759-803b-64721533faf0" -%} +{%- set notOpenLegalReasonsPrivacyQUuid = "019db0b3-9067-4134-8bfd-76db3cfc572a" -%} +{%- set notOpenLegalReasonsPrivacyYesAUuid = "8a56768a-5c5a-44c0-b21c-46a231fbf6be" -%} +{%- set notOpenLegalReasonsPrivacyAccessQUuid = "ecca7dd6-62f2-4714-a85a-8d79bbca402a" -%} {%- set legalReasonsAuthenticatedQUuid = "55f03a4a-034b-422a-adf6-757416b7650a" -%} {%- set legalReasonsAuthenticatedYesAUuid = "18a46146-25f6-4e5c-90ae-c6b9be9cc3f0" -%} {%- set legalReasonsAuthorizeQUuid = "23909308-55cf-4e94-a616-2a74c809aa48" -%} diff --git a/src/versions.html.j2 b/src/versions.html.j2 index abc908f..ee35738 100644 --- a/src/versions.html.j2 +++ b/src/versions.html.j2 @@ -9,7 +9,7 @@ Publication date Changes - + {% for version in dc.qtn.versions|reverse %} diff --git a/src/word/frontpage.html.j2 b/src/word/frontpage.html.j2 new file mode 100644 index 0000000..e136641 --- /dev/null +++ b/src/word/frontpage.html.j2 @@ -0,0 +1,15 @@ +

+Science Europe +
+Data Management Plan +
+
+{% if dc.qtn.version %} +{% for version in dc.qtn.versions if version.uuid == dc.qtn.version.uuid %} +{{version.name}} +
+{% endfor %} +{% endif %} +
+{{ dc.doc.created_at|datetime_format("%d %B %Y") }} +

\ No newline at end of file diff --git a/src/word/index.html.j2 b/src/word/index.html.j2 new file mode 100644 index 0000000..c87016c --- /dev/null +++ b/src/word/index.html.j2 @@ -0,0 +1,26 @@ + +{%- set km = ctx.knowledgeModel -%} +{%- set repliesMap = ctx.questionnaireReplies -%} +{%- set report = ctx.report -%} +{%- set dc = ctx|to_context_obj -%} +{% import "src/macros.html.j2" as macros with context %} +{% import "src/uuids.j2" as uuids with context %} +{% import "src/globals.j2" as globals with context %} + + + {{ ctx.questionnaireName }} + + + + +
+ {% include "src/word/frontpage.html.j2" with context %} + {% include "src/word/versions.html.j2" with context %} + {% include "src/contributors.html.j2" with context %} + {% include "src/projects.html.j2" with context %} + {% include "src/content.html.j2" with context %} +
+ + diff --git a/src/word/reference.docx b/src/word/reference.docx new file mode 100644 index 0000000..79a7136 Binary files /dev/null and b/src/word/reference.docx differ diff --git a/src/word/versions.html.j2 b/src/word/versions.html.j2 new file mode 100644 index 0000000..5364333 --- /dev/null +++ b/src/word/versions.html.j2 @@ -0,0 +1,24 @@ +

History of changes

+ +{% if dc.qtn.versions|length > 0 %} + + + + + + + + + + {% for version in dc.qtn.versions|reverse %} + + + + + + {% endfor %} + +
VersionPublication dateChanges
{{ version.name }}{{ version.created_at|datetime_format("%d %b %Y") }}{{ version.description }}
+{% else %} +

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",