Altinn / app-frontend-react

Altinn application React frontend
BSD 3-Clause "New" or "Revised" License
18 stars 31 forks source link

Udir will use Altinn as a survey-engine for 450 000 school kids #181

Closed pckofstad closed 3 weeks ago

pckofstad commented 2 years ago

Top-level project description of Utdanningsdirektoratets project using Alltinn 3 as a survey engine

Introduction

Utdanningsdirektoratet has decided to use Altinn Studio 3 as the response plattform to serve the survey "Elevundersøkelsen". This survey is answered by about 450 000 kids every year. The response period is within 3-12 weeks (to be decided). All survey questions must be possible to edit dynamically by employees in utdanningsdirektoratet. The design must be student/child friendly.

Component overview image

Simplified integration/dataflow view image

In scope for this epic description

The scope will change slightly during the development of the project.

:black_square_button: Save form data on change of page #1161

Instead of saving form state to backend on every change (every radiobutton click, input field blur and so on...) we want to save when the user clicks the next or previuse buttons (NavigationButtons-Component). By doing this the backend wil not be overloaded by requests as much on heavy loads. The Altinn team has changed the logic after this issue was created. Previous calls to the backend is canceled if a new call is sent before the backend is responding. This reduces the load and rate of error concerning model out of sync a bit. It would still be preferable to be able to optionally skip posting against backend for some operations.

:black_square_button: Instance org gets wrong after session timeout Altinn/altinn-authorization#94

BUG. If a users is using the same device after a login-session has a timeout to login with another user, the next user fails on login.

:black_square_button: Should use one iso-standard for languages Altinn/altinn-studio#9725

The two-letter naming standard for languages that Altinn Studio has today (ISO-639-2) falls short when we require higher granularity on our languages. One of our requirements is Northen Sami language (language code sme in ISO 639-3)

:black_square_button: Support a logoutbutton as part of the layout Altinn/altinn-studio#891

We would like to be able to include a dedicated logout-button as part of the form layout, and be able to customize the text on the button. The button should be available both as part of a stateless and "statefull" layouts.

:black_square_button: Support async methods in IAppResources for fetching external resources Altinn/altinn-studio#111

Making it easier to fetch some of the resources from external sources by adding async support for selected fetching methods.

:black_square_button: Stateless submit-button for login-less applications Altinn/app-frontend-react#778

We are experimenting with building login-less application to make it even easier to use Altinn Studio as a survey plattform. We have found a technical solution that solves it today, but it seems unpractical and possibly error prone.

:black_square_button: Gi deploy rettigheter til teamene Altinn/altinn-studio#7185

Udir is a big organisation and is looking into using Altinn Studio for several applications. Not having the ability to give teams deployment access rights for their own applications is not aligned with the agile autonomous team methodology that we want to achieve. Udir don't want to give access to all teams in the Udir organization to deploy all Udir Altinn-studio apps to production.

:black_square_button: Ability to support "read to voice" library#397

Udir is using LeseWeb in several application. This is a frontend tool that converts text to voice to help aid people with difficulties with reading or understanding language. This is not intended to replace screen readers but a help to aid people that struggle to understand the questions.

:black_square_button: Specify column width for Likert component Altinn/altinn-studio#914

:black_square_button: App translations is not loaded in receipt page after page refresh Altinn/altinn-studio#980

Completed In scope for this epic description

:white_check_mark: As a developer I want to edit the receipt text in Altinn Studio Altinn/altinn-studio#171 (Comments added)

We need to build a custom "deliverd sucsessfully" page that is more kid friendly. We have not a complete design for the page yet, but the support for adding formatted text, images and links to other pages is our current hypothesis. We also need the ability to easily find sign-out button or already being signed-out when the page is shown.

:white_check_mark: Timing issue regarding updating the data model (Stateless) Altinn/app-frontend-react#989

:white_check_mark: Language selector options are not visible

BUG. Probably related to updated component styling in new release

:white_check_mark: Support multiple environments for AppOidcProvider = uidp Altinn/altinn-studio#9383

Support for testing authentication against multiple UIDP enviroments from TT02.

:white_check_mark: Language changes should be possible to set in an app Altinn/altinn-studio#164

We want to be able to change the language for the users taking the survey, without leaving the survey |

:white_check_mark: "Likert" grouping of questions [No issue created]

We want "radiobutton" and "checkbox" answer questions together in tighter UI groups. This is in order to make it easier to answer many questions easily, and to make it look more compact and structured.

:white_check_mark: Enabling "custom claims" for users when doing local development [No issue created]

We are using authentication by UIDP and need to emulate and test with different claims coming from UIDP.

:white_check_mark: As a user I would like to see my progress in the application Altinn/app-frontend-react#188

The survey could have somewhere between 10-15 pages, we would like the users to see how many pages they have left to answer in a visual and easy understandable way.

:white_check_mark: Close button not hidden when specified in layoutsettings Altinn/altinn-studio#401

If configuration was saying that close-button should be hidden. It showed up if the user refreshed the reciept page.

:white_check_mark: Ability to logout of the survey directly from the survey [No dedicated issue created]

Related issue: User icon and logout feature missing when logged in through Feide The survey will need to have look and feel of a standalone app. In order to reduce confusion we never want any students to have to close the survey and see the "inbox view" in Altinn in order to do any operations. This includes changing languages (see separate PR) and the ability to sign out of the survey/altinn from within the survey.

:white_check_mark: Possible to design a confirmation view Altinn/app-frontend-react#482

Udir wants to have some sort of "confirmation question" indicating that the user is aware that all questions will now be registered and you can't change your answers any more.

Optional features

Features that could be added if made available, or the requirements for the Udir Survey Engine changes.

Add support for using custom domain for Altinn Studio Apps Altinn/altinn-studio#393

In order to make Altinn Studio apps feel more branded, we would like the URL to be a subdomain of udir.no

Pass username from uidp-client through Oidc Altinn/altinn-authentication#190

In order to make it faster and easier for school kids to login with username and password generated by UIDP we would like Altinn to open up for passing through the query parameter defined in the OICD for username (login_hint).

Altinn should support OIDC post_logout_redirect_uri parameter Altinn/altinn-studio#8549

Our Survey engine could be seen as part of a "bigger user flow". The ability to send the users back to a self-defined url for each app would increase the user experience and more easily move the user back to the flow they was in before jumping into the Altinn-Studio part of the flow.

Ability to change how long a user can be inactive before the user is signed out automatically

Udir want to have the ability to adjust the length of how long a user has to be inactive before the user is automatically signed out. The hypothesis is that they want it shorter and "more secure" than the default setup of 30 minutes that it is today.

On-hold. Requested as an issue, but decided not to be prioritized for now.

:black_square_button: Ability to (optionally) unselect selected radiobutton / likert answer #1141

It is a strong requirement that you don't have to answer any question in the survey if you don't want to. This requirement is also understud as "the ability to unselect an already selected answer". We suggest to not change the default behaviour but rather add the ability to make it unselectable with a flag.

Out of scope for this epic description

The in-depth descriptions the parts of the survey platform that is not using Alltinn studio.

mrosvik commented 2 years ago

Ability to unselect selected radiobutton / checbox answer

Angående radioknapper og avkrysningsbokser - det er viktig at disse brukes til korrekte formål, og at en ikke mikser med standard oppførsel her. 😊 
(Altså ikke lurt å trikse til avkrysningsbokser der kun èn kan markeres, slik jeg tror det var snakk om i møtet i dag?)

Radioknapper kan som standard oppførsel ikke avmarkeres, da hensikten med dem er at det skal være et markert valg. Når det gjelder om de bør ha et markert alternativ som utgangspunkt, ser jeg det er delte meninger om dette. En artikkel fra Nielsen Norman Group mener at det i de fleste tilfeller bør være et default valgt alternativ, mens studier fra Gov UK tilsier at en ikke bør sette et default alternativ da dette gjør det mer sannsynlig at brukere overser et spørsmål og derav angir feil svar.

FinnurO commented 2 years ago

Duplikat av https://github.com/Altinn/apps-backlog/issues/4 ?

pckofstad commented 2 years ago

Duplikat av Altinn/apps-backlog#4 ?

Dette er en beskrivelse og oppsamling av elementer for hele "survey engine" prosjektet. Den refererte linken ser jeg som beskrivelse av påloggings tilpassningen som ble laget sommer/høsten 2021.