Altinn / altinn-studio

Next generation open source Altinn platform and applications.
https://docs.altinn.studio
BSD 3-Clause "New" or "Revised" License
115 stars 70 forks source link

Se nærmere på kompliserte valideringer for SSB #8369

Closed lorang92 closed 2 years ago

lorang92 commented 2 years ago

Description

Oppfølgingspunkt fra utviklermøte med SSB. For å få et bedre bilde av hva som er "test-kode"/brukerfeil og hvilke konkrete svakheter vi har i løsningen vår som vi burde se på burde vi sette av litt tid til å forstå problemet.

Lenke til aktuell app: https://altinn.studio/designer/ssb/ra0678

In scope

Analysis

Conclusion

Tasks

xmrsa commented 2 years ago

org/ssb

xmrsa commented 2 years ago

Siden det som egentlig skapte problemer i RA-0678 kun var ett eneste obligatorisk felt som lå alene på den første siden, så ville jeg ikke kalt valideringen "komplisert". Det som gjorde det komplisert er at avkrysningen i AltinnStudio ikke støtter UU og at det også lå valideringer på neste side som ble synlige før man hadde vist disse spørsmålene i det hele tatt. Se #8254

Da jeg leste dokumentasjonen var det ikke klart for meg hva slags hendelser som kunne trigge valideringene, hva som foregår i frontend og backend og hvilke konsekvenser det får om vi kun har validering en plass, når jeg måtte bruke FIXED på reglene i koden og hvordan eventuelle begrensinger i xsd-en påvirker visningen i skjemaet.

En klar begrensing i løsningen er blant annet at man må lage regler i kode dersom man f.eks. vil gjøre en enkel sammenlikning av 2 felt, la oss si felt1 > felt2. Når selv de enkleste regler må legges RuleHandler.js blir det fort et vannvittig griseri der. Så vidt jeg kan se er det heller ikke noen måte å dele opp denne fila i logiske deler for å få bedre oversikt. Moralen blir fort at man ikke må ha kontroller og helst minst mulig logikk og beregninger.

For å kunne gjøre kompliserte skjema brukervennlige er det i alle fall sikkert at valideringer må ha ordentlige tekster, at man skal kunne validere på en enkelt side når man trykker å "Neste side"-knappen, og at spørsmål som er skjult ikke skal ha valideringer som slår ut (med mindre det er feil i forhold til XSD-en da)

olemartinorg commented 2 years ago

Jeg og @xmrsa hadde en prat nå, hvor vi gikk gjennom denne saken (og #8254) for å se hva som allerede er implementert og hva som gjenstår av denne saken. Vi ble enige om at jeg rapporterer inn nye issues på det vi fant ut manglet, og at vi lukker disse sakene. Oppdager man nye ting (eller spesifikke saker omtalt her, og som ikke har fått en ny issue og ikke er implementert allerede), er det best å opprette en ny issue på det spesifikke.

Mye av det som skapte trøbbel ser ut til å være løst nå, spesielt rundt validering og flere sider hvor validering skjedde for flere sider på en gang. Appen det gjelder har også blitt forenklet siden den gang, så behovene er ikke helt de samme lengre. En del er gjort rundt valideringsmeldinger, en del er på vei (f.eks. #99 i frontend).

Det som gjenstår av åpne saker vi diskuterte, som jeg oppretter nye issues rundt:

Med lenker til nye issues tenker jeg alt gjenstående her er løst - eventuelt opprettes heller nye issues på eventuelle andre ting. Jeg skrev også en kommentar rundt en sak vi diskuterte i forbindelse med lange valideringsmeldinger.