Flytning af beskeder fra Kampagnemotoren til Beskedbakken på Jobnet (Side skal slettes i forbindelswe med epic 1005.17.10)
Beskrivelsen er historisk - kampagnemotoren er udfaset primo 2020.
Fortolkning af Mark down links i Jobnet beskedbakke
Såfremt HTML sendes til Jobnet vises selve HTML’en som clear tekst og ikke som renderet HTML. Dette af den årsag, at det kan udgøre en sikkerhedsbrist, når eksterne kan skyde kode ind i koden. Et link, som eksempelvis et link til www.star.dk, er HTML og vil i dag derfor ved indsætning i beskedbakken vises som teksten:
<a href="http://www.star.dk">STAR</a>
frem HTML udgaven af samme, som der kan klikkes på: STAR
Udover sikkerhedsbristen det er at åbne op for HTML i beskedbakkerne, er der også problemet med, at HTML muligvis ikke angives og afsluttes korrekt. Herved vil udseende påvirkes markant.
En måde at omgås sikkerhedsbristen og formateringsproblemer på er ved at åbne op for Mark Down på Links. Konkret fortolker Jobnet så teksten der sendes til borger via dialogmodulet og genkendes noget som et link, formateres det om til at være et klikbart HTML link.
Et link til STAR vil så i Mark Down syntaks kunne leveres således
- [Dette er et link til STAR](http://www.star.dk)
Hvilket Jobnet fortolker til HTML koden:
- <a href="http://www.star.dk">Dette er et link til STAR</a>
Som i dialogmodulet kommer til at fremstå klikbart som følger:
Bemærk: Jobnet laver understøttelse af Mark Down som en generel rettelse, således at det vil fungere for ethvert link der kommer i beskedbakken.
Bemærk endvidere: Ansvaret for korrekt formatering af link jf. Mark Down syntaks og sikring af, at link reelt fører rette sted hen, påhviler afsender. Jobnet foretager ingen valideringer herpå.
Hook event op på link, så dataindsamling sker.
Proceduren ved klik på et link er, at man føres til siden der linkes til. Det vil ske ved links fra beskedbakken, men tillige vil dataindsamling ske.
Konkret samles oplysninger om link der er klikket på, borgers CVnummer samt dato og klokkeslæt, hvor klikket skete.
Der indsamles statistik ved ethvert klik på ethvert link. Således også på links der måtte vedrøre andet end dagpengetællerne.
Ved klik på link omdirigeres borger i samme vindue.
Udformning af tekstbesked indeholdende link
Ansvaret for korrekt formatering af link jf. Mark Down syntaks og sikring af, at link reelt fører rette sted hen, påhviler afsender. Jobnet foretager ingen valideringer herpå.
KU har ansvaret for udformningen og indholdet af de nudging beskeder der skal sendes til beskedbakken. STAR skal naturligvis godkende KUs forslag.
Assistere BI med indlæsning af data
Beskeder leveres fra kampagneplatformen (SAS) til DFDG/Jobnet via webservicen CitizenMessageService. Data & services assisterer BI med at etablere integrationen mellem SAS og DFDG.
Model for integrationen
- BI laver en loadtabel til beskeder i BI’s staging area, hvor BI kan ligge beskeder der skal sende via beskedmodulet i DFDG (CitizenMessageService)
- BI genbruger den eksisterende kontroltabel til at få afrapporteret resultatet af en DFDG batch kørsel
- DFDG etablere et batchjob der:
- Henter beskeder fra BI loadtabel, der ikke er sendt (alle relevante data vedr. beskende er i loadtabellen)
- Beskeder der allerede er sendt / fejlet behandles ikke af DFDG batchjob
- Batchjobbet kan startes manuelt af SF hvis der er behov
- Løber alle beskeder igennem og sender den enkelte besked en af gangen via CitizenMessageService.CreateMassage
- Batchjobbet behandler alle beskeder der ligge til afsendelse uanset om en/flere beskeder fejler undervejs
- Der laves den sædvanlige logning for DFDG batchjob
- Opdateret loadtabel med status for afsendelse og evt. fejlkode for den enkelte besked
- Når en gruppe af beskeder (med samme guid) er behandlet (sendt/fejlet) opdatere BI’s kontroltabel med status (hvis en besked er fejlet er markeres det at der er en fejl på kørslen)
- Henter beskeder fra BI loadtabel, der ikke er sendt (alle relevante data vedr. beskende er i loadtabellen)
- BI kontrollerer om at er går godt i kontroltabel og loadtabel og:
- Tager stilling til hvad der skal ske med beskeder der er fejlet.
- Hvis de skal forsøges sendt igen skal de ligge på loadtabellen igen
- Rydde op i afsendte/fejlede beskeder i loadtabellen
- Tager stilling til hvad der skal ske med beskeder der er fejlet.
Kontroltabel
Kontroltabellen er en eksisterende tabel BI har.
For en given gruppe af beskeder i loadtabellen (guid load) opdater DFDG’s batchjob statusfelt når batchjobbet har behandlet alle beskeder med samme guid.
BI sørge for række med guid oprettes i kontroltabellen samtidig med beskeder ligge i loadtabellen.
Kontroltabellen hedder dbo.tblStagingControlTable og findes i databasen Staging_DWH.
ProcessStatus kan antage følgende værdier:
Loadtabel
Tabellen indeholde. En række pr borger pr besked og følgende felte
- ID (unik afsendelses id/løbenr)
- Guid load der grupperer en række beskeder og som der gives status på i kontroltabellen
- CPR-nr
- Beskedindhold (de samme felte som er i CitizenMessageService.CreateMassage)
- Status på on afsendelse er gået godt eller ikke
- DFDG fejlkode. Hvis afsendelse er fejlet så den DFDG fejlkode der var årsagen
Loadtabellen kaldes CITIMES_CitizenMessage. Denne oprettes Staging_DWH med følgende indhold
Id | PK, Int not null |
UpdateIdentifier | uniqueIdentifier, not null |
UserTypeIdentifier | Int, not null |
UserIdentifier | Nvarchar(50), not null |
FullName | Nvarchar(300) |
Company | Bit, not null |
ProductionUnitIdentifier | Char(10), null |
CVRnumberIdentifier | Char(8), null |
CompanyContactIdentifier | Uniqueidentifier, null |
OrganisationTypeIdentifier | Int , not null |
OrganisationCode | Nvarchar(128), null |
PersonCivilRegistrationIdentifier | Char(10), not null |
ContextTypeIdentifier | Int, null |
Title | Nvarchar(200) , null |
Text | Nvarchar(max) not null |
CitizenMessageResponseTypeIdentifier | Int, not null |
CitizenMessageChannelTypeIdentifier | Int, not null |
CitizenMessageRecipient | Bit, not null |
OrganisationTypeIdentifier | Int, null |
OrganisationCode | Nvarchar(128), null |
ShowInMessagebox | Bit, not null |
MessageVisibleFromDate | Datetime, null |
MessageVisibleToDate | Datetime, null |
MessageLatestReply | Datetime, null |
MessageImportantIdentifier | Int, not null |
MessageDocumentCollection | Bit, not null |
DocumentID | Uniqueidentifier, null |
DocumentTitle | Nvarchar(260) |
DocumentExtensionIdentifier | Int, null |
DocumentSchemaTypeIdentifier | Int null |
DocumentData | Varbinary(max) , null |
Statuscode | Int, null |
DFDGError | Nvarchar(4000), null |
Batchjob - ProcessCitizenMessagesFromBackend
Batchjobbet skal køres daglig i natbatch.
Batchjobbet har ikke afhængigheder til andre batchjob.
Batchjobbet kan genkøres manuelt af SF.
Batchjobbet logger på normal vis.
Kilde:
Uddrag fra epic 884.1 / 2017.