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

Hvilket Jobnet fortolker til HTML koden:

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.

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)  
  • 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

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.