DFG survey 2026 #19

Open
opened 2026-09-02 08:10:21 +00:00 by jsheunis · 1 comment
Member

What should be done to prepare the survey application for the 2026 round?

Current state:

  • The UI has already been updated to use a recent version of shacl-vue, including:
    • updated configuration structure (yaml config, and yaml default config)
    • update_shapes and property_shapes to group and order the fields in the Contributor form
    • latest UI build approach
  • The schema is still old, from last year. Still dependent on things v1. https://hub.trr379.de/q02/concepts.trr379.de/src/branch/main/src/dfg-cp-survey/2025.yaml
  • the dumpthings backend is still running an older version
  • there are some known changes to the

What would be the ideal state?

The UI should be as intuitive, quick, and easy as possible for both new and existing users, i.e. users that completed the form before and those that haven't.

dumpthings:

We likely want to upgrade to the latest dumpthings version. A categorization that mixes things up is whether users have a forgejo account or not. The ideal is for everyone to have one, so that they can use that for authentication and token retrieval for UI record submission (Q: does this also imply the need for a recent version of dumpthings?). Changing tokens (or new tokens) will lead to a challenge for existing user data: their previous data will need to be migrated to a new inbox (on a new dumpthings deployment) for which we don't have or don't know a name yet.

shacl-vue:

When it comes to UI, we need to make use of shacl-vue's wizard feature (and possibly custom plugin feature) to simplify survey submissions. The simplest submission will be of the kind "I already submitted a survey in 2025, nothing changed since then, let me resubmit with as few clicks as possible". For that we can implement a record-based wizard (a button that will show when a user edits their existing Contributor record) that would e.g. just add an annotation to the effect of "Same as last year". And that is the only change that such a user would save and submit.

If a user has not submitted anything before, or submitted something before that has now changed, a wizard+plugin approach could be used (instead of the current default Contributor + ConsortiumParticipation forms) which would allow some streamlining of form-filling logic. The known improvements include:

  • show/hide specific question subsets based on what status group the contributor selected in the form.
  • "(In the case of a change of status group or funding type since the last survey, please provide the relevant details here)"

I think using a wizard+plugin would make such logic more intuitive, but the effort might not be worth it.

schema:

I am not sure whether updating the schema is ideal or not. It will certainly allow more compatibility with the TRR379 research-information schema, and hence useful data transfer to avoid unnecessary duplication. E.g. if we already have most (all?) TRR379Person records for researchers in the consortium, those could be used to prefill Contributors in the DFG survey app.

It will also be useful to not have to maintain older schema versions purely for this deployment. However, updating the schema also implies a possible redesign of the relations between classes, the inclusion/exclusion of classes/properties, and also data migration. This is not trivial.

What should we do?

What we do next depends on our chosen approaches for the different components. Options include (not mutually exclusive, not all optional, not all required):

  • backup existing data
  • update dumpthings to the latest state
  • create a mapping of existingdfg-cp-survey token-users to known forgejo account names
  • create a mapping of existingdfg-cp-survey Contributor records to TRR379Person records
  • create the mapping between old and new research area categorizations; see https://hub.psychoinformatics.de/msz/lehr-und-forschungsbereiche/src/branch/main
  • migrate data to a new dumpthings backend, with new (unknown) user inboxes
  • update the schema to be compatible with the latest things-v2 and related schema components
  • create the all still the same annotation wizard
  • create the new wizard+plugin to make form logic more intuitive
  • create user documentation for whatever we have implemented
## What should be done to prepare the survey application for the 2026 round? Current state: - The UI has already been updated to use a recent version of `shacl-vue`, including: - updated configuration structure (yaml config, and yaml default config) - `update_shapes` and `property_shapes` to group and order the fields in the `Contributor` form - latest UI build approach - The schema is still old, from last year. Still dependent on things v1. https://hub.trr379.de/q02/concepts.trr379.de/src/branch/main/src/dfg-cp-survey/2025.yaml - the `dumpthings` backend is still running an older version - there are some known changes to the ### What would be the ideal state? The UI should be as intuitive, quick, and easy as possible for both new and existing users, i.e. users that completed the form before and those that haven't. `dumpthings`: We likely want to upgrade to the latest dumpthings version. A categorization that mixes things up is whether users have a forgejo account or not. The ideal is for everyone to have one, so that they can use that for authentication and token retrieval for UI record submission (Q: does this also imply the need for a recent version of `dumpthings`?). Changing tokens (or new tokens) will lead to a challenge for existing user data: their previous data will need to be migrated to a new inbox (on a new `dumpthings` deployment) for which we don't have or don't know a name yet. `shacl-vue`: When it comes to UI, we need to make use of `shacl-vue`'s wizard feature (and possibly custom plugin feature) to simplify survey submissions. The simplest submission will be of the kind `"I already submitted a survey in 2025, nothing changed since then, let me resubmit with as few clicks as possible"`. For that we can implement a record-based wizard (a button that will show when a user edits their existing `Contributor` record) that would e.g. just add an annotation to the effect of `"Same as last year"`. And that is the only change that such a user would save and submit. If a user has not submitted anything before, or submitted something before that has now changed, a wizard+plugin approach could be used (instead of the current default `Contributor` + `ConsortiumParticipation` forms) which would allow some streamlining of form-filling logic. The known improvements include: - show/hide specific question subsets based on what status group the contributor selected in the form. - `"(In the case of a change of status group or funding type since the last survey, please provide the relevant details here)"` I think using a wizard+plugin would make such logic more intuitive, but the effort might not be worth it. `schema`: I am not sure whether updating the schema is ideal or not. It will certainly allow more compatibility with the TRR379 research-information schema, and hence useful data transfer to avoid unnecessary duplication. E.g. if we already have most (all?) `TRR379Person` records for researchers in the consortium, those could be used to prefill `Contributors` in the DFG survey app. It will also be useful to not have to maintain older schema versions purely for this deployment. However, updating the schema also implies a possible redesign of the relations between classes, the inclusion/exclusion of classes/properties, and also data migration. This is not trivial. ### What should we do? What we do next depends on our chosen approaches for the different components. Options include (not mutually exclusive, not all optional, not all required): - backup existing data - update dumpthings to the latest state - create a mapping of existing`dfg-cp-survey` token-users to known forgejo account names - create a mapping of existing`dfg-cp-survey` `Contributor` records to `TRR379Person` records - create the mapping between old and new research area categorizations; see https://hub.psychoinformatics.de/msz/lehr-und-forschungsbereiche/src/branch/main - migrate data to a new dumpthings backend, with new (unknown) user inboxes - update the schema to be compatible with the latest `things-v2` and related schema components - create the `all still the same` annotation wizard - create the new wizard+plugin to make form logic more intuitive - create user documentation for whatever we have implemented
Author
Member

With regards to:

create the all still the same annotation wizard

I made a local implementation of this, with the simple template:

@prefix trr379dfgsurvey: <https://trr379.de/ns/dfg-cp-survey/>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix trr379cps: <https://concepts.trr379.de/s/dfg-cp-survey/2025/>.
@prefix dlthings: <https://concepts.datalad.org/s/things/v1/>.
@prefix dlflat: <https://concepts.datalad.org/s/flat/unreleased/>.

<{{ pid }}> dlthings:annotations _:n1-0.
_:n1-0 a dlflat:FlatAnnotation;
    dlthings:annotation_tag trr379dfgsurvey:2026status;
    dlthings:annotation_value "checked_unchanged".

and config:

wizard_editors:
  DFGSurveySameWizard:
    name: Confirm unchanged submission?
    tooltip: Nothing changed? Confirm here!
    icon: mdi-clipboard-check-multiple-outline
    description: >-
      If you submitted the DFG CP Survey in 2025 and all of your survey data remain unchanged for 2026,
      please press ***Save*** below, and then save and submit your `Person` record.
    template: content:dfg-survey-status-template

wizard_editor_selection:
  trr379cps:Contributor:
    _record:
      - DFGSurveySameWizard

Demo video:

In the process I also implemented the markdown rendering feature for https://hub.psychoinformatics.de/orinoco/shacl-vue/issues/386

With regards to: > create the all still the same annotation wizard I made a local implementation of this, with the simple template: ``` @prefix trr379dfgsurvey: <https://trr379.de/ns/dfg-cp-survey/>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix trr379cps: <https://concepts.trr379.de/s/dfg-cp-survey/2025/>. @prefix dlthings: <https://concepts.datalad.org/s/things/v1/>. @prefix dlflat: <https://concepts.datalad.org/s/flat/unreleased/>. <{{ pid }}> dlthings:annotations _:n1-0. _:n1-0 a dlflat:FlatAnnotation; dlthings:annotation_tag trr379dfgsurvey:2026status; dlthings:annotation_value "checked_unchanged". ``` and config: ```yaml wizard_editors: DFGSurveySameWizard: name: Confirm unchanged submission? tooltip: Nothing changed? Confirm here! icon: mdi-clipboard-check-multiple-outline description: >- If you submitted the DFG CP Survey in 2025 and all of your survey data remain unchanged for 2026, please press ***Save*** below, and then save and submit your `Person` record. template: content:dfg-survey-status-template wizard_editor_selection: trr379cps:Contributor: _record: - DFGSurveySameWizard ``` Demo video: <video src="/attachments/21901e2d-16e8-41fb-8632-546189712915" title="checked_unchanged" controls></video> In the process I also implemented the markdown rendering feature for https://hub.psychoinformatics.de/orinoco/shacl-vue/issues/386
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
q02/dfg-cp-survey-ui#19
No description provided.