-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Støtte for å kunne embedde dialogelementer i arbeidsflate/SBS-er (front channel embeds) #329
Comments
Fra refinement:
|
I møtet ble det diskutert å støtte et custom Markdown har for en tid siden standardisert seg som https://commonmark.org/ Nå finnes det en del standardiserte biblioteker for å parse og rendere CommonMark (de fleste støtter også Github Flavored CommonMark). I frontend verden har man stort sett standardisert på bibliotekene Hvor disse to fungerer sammen, |
<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> ## Related Issue(s) - #329 ## Verification - [x] **Your** code builds clean without any errors or warnings - [x] Manual testing done (required) - [ ] Relevant automated test added (if you find this hard, leave it and we'll help out) ## Documentation - [ ] Documentation is updated (either in `docs`-directory, Altinnpedia or a separate linked PR in [altinn-studio-docs.](https://github.com/Altinn/altinn-studio-docs), if applicable) Co-authored-by: Knut Haug <knut.espen.haug@digdir.no>
Introduksjon
Det bygges støtte for å indikere at dialogelementer refererer innhold som arbeidsflate (rettere sagt nettlesere som benytter arbeidsflate) og sluttbrukersystemer embedder direkte.
Beskrivelse
Meldinger og andre tjenestetyper vil ha behov for at innhold tilgjengeliggjøres sluttbrukere direkte i arbeidsflate. Dialogporten skal i hovedsak ikke inneholde annet enn metadata, og noen typer innhold er sensitive i natur og er ikke ønskelig å ha kopier av på Digdirs servere i public cloud.
Gjennom å gjøre det mulig for sluttbrukersystemene (nettlesere, mht arbeidsflate) kan laste dette innholdet direkte, oppnås bedre informasjonssikkerhet og kopiering av data unngås.
Dette vil være avhengig av dialogtoken (se #330) som sikkerhetsmekanisme.
Implementasjon
Dialogelementer utvides med en property som indikerer for arbeidsflate at den skal embeddes, se eksempel her.
Kan bare brukes på "gui" actions. Hvis frontChannelEmbed er satt til true, må også contentType settes. I første omgang skal vi kun støtte "text/markdown" som verdi her.
Notater for hvordan dette må implementeres i arbeidsflate (ikke relevant for dialogporten)
Sluttbrukersystemet (statisk del i nettleseren) vil laste dette (i første omgang markdown) med Fetch API (med dialogtoken i Authorization: Bearer-header), endepunkt må støtte CORS protokoll med pre-flight check), og vise dette direkte i detaljvisning. Det kan være flere front-channel embeds, enten innenfor et og samme dialogelement eller på tvers av flere dialogelementer. Innenfor samme dialogelement vil statisk del av arbeidsflate typisk rendre disse etter hverandre med en eller annen visuell separator.
Hvis flere dialogelementer inneholder frontChannelEmbeds, vil GUI måtte bestemme hvem av disse som er relevant å vise. En mulig logikk her vil være å vise den som er referert til av det nyeste aktivitetshistorikk-innslaget, og vise evt. øvrige kollapset (kan lene seg på "displayName"). Hvis ingen er referert til av aktivitetshistorikk-innslag, vis kun den sistei lista.
Frontend må her gjøre en clientside parsing/rendring av markdownen, og rendre denne. Her må det antagelig gjøres begrensninger for å unngå layout-utfordringer (f.eks. brede tabeller)
Oppgaver
The text was updated successfully, but these errors were encountered: