Skip to content
This repository has been archived by the owner on Dec 17, 2019. It is now read-only.

Latest commit

 

History

History
114 lines (105 loc) · 5.04 KB

todo.org

File metadata and controls

114 lines (105 loc) · 5.04 KB

Survey Tool TODO

Design

What to do about DataSubject Accounts of the same person that were created from different sources (LTI/Standalone)

DataStandalone RegistrationLTI Registration
lti_user_idNoYes
emailYesMaybe
person_name_fullNoMaybe
person_name_givenNoMaybe
person_name_familyNoMaybe

None of the data that is always present -> same person using LTI and Standalone may have 2 DataSubject Accounts

Should we merge those 2 Acocunts at some point? Consider following case:

DataSubject A completes Survey with email address B DataSubject A completes Survey via LTI with email address B => Accounts are merged at some point DataSubject A completes Survey via LTi with email address C => DataSubject A’s email address is updated to email address C DataSubject A wants to use email address B for authenticating => DataSubject A is rejected, because their email address was updated silently

Therefore we should not try to merge these user Accounts.

Should survey be reachable in standalone mode when embedding is activated?

Toggle standalone and embedded availability seperately

Backend

[#C] CLI

[#B] First time setup wizard

Create DataClient command

Import questionnaires from JSON command

[#B] Tie it all up into a single command

that has user friendly step-by-step guide

[#C] API

Consistent status responses

CaseStatus
session token present, does not validate401
session token present, does validate, insufficient privilege403

[#B] /api/response

[#B] POST

[#B] Recalculate statistics on every new submission

Also need to add this to /api/response/<token>/verify

[#B] Update to recognize DataSubject session
[#B] Reject submission when launched standalone but allow_standalone is False
[#C] Integrate ReCaptchav3

[#C] /api/personal_data

Endpoint that returns all data belonging to the currently logged in User

[#B] Model

[#B] Questionnaire

[#B] ADD flag: allow_standalone

If allow_standalone is True, Survey displays normally to all users when published. If allow_standaline is False, Survey only displays (without submission button) to owning DataClient

[#B] ADD flag: concluded

If completed is True, survey will be visible by all users, but submission is disabled If completed is False, visibility of the survey is managed by published flag

[#C] ADD datetime: survey_begin

Datetime at which survey should become published

[#C] ADD datetime: survey_end

Datetime at which survey should become completed

[#B] xAPI

[#B] Detect known survey scales and publish xAPI Statements for them according to known scoring mechanism

[#B] Make emitting xAPI statements for every Question optional per Questionnaire

[#B] Emit missing xAPI signals

[#C] Utility

[#C] Create registry of known survey items

[#C] Talk to Ioana about survey items that should be included

[#A] Mock Email sending for testing purposes

Frontend

[#B] UX

Add Tooltips to option fields

Describing what the option does

Add parent name to templates

Add labels to range_start range_end

Internationalized and configurable

i.e. range_start “Strongly Disagree” range_end “Strongly Agree”

Add step labels to range picker

Add next button to submission view

[#B] LTI Middleware

[#A] Parse LTI requrest from ExpressJS

[#A] Test DataSubject login route

[#A] Embed DataSubject Session into Frontend

[#B] Submission View

[#B] Respect Questionnaire.allow_standalone

[#B] Respect Questionnaire.completed

[#B] GDPR consent modal before submission view

[#C] “Thank You”-Page after submission

[#C] Integrate ReCaptchav3

[#C] Dashboard

[#C] MSLQ sepcific visualisation

[#A] Editor

[#A] Modal on Retract template

To choose whether to delete shadows or make concrete

[#A] Integrate allow_standalone flag

[#A] Integrate concluded flag

[#A] Integrate begins

https://flatpickr.js.org

[#A] Integrate ends

https://flatpickr.js.org

[#C] Account view

[#C] Make user data editable

Enhancement

Language picker before submission view

Control questions

Reports via email