Den originale larm-doms-exporter er i master branch på https://github.com/statsbiblioteket/larm-doms-exporter .

Den nye larm-kuana-exporter ligger i larm-kuana-branch .

Den underliggende software model er at larm-chaos har givet os en template fil hvori vi propper nogle values fra vores doms eller kuana metadata poster. Sideløbende er der en upload script som tage dagens eksport, pakker den ind i en zip-fil, og uploader gennem ftp.

Der er stor akitektur-mæssigt forskel mellem de to kodebase:

DOMS export code trækker direkte fra DOMS og bruger en persistence layer (database) til at holde styre på hvilke programmer den har fundet i DOMS og om de er blevet eksporteret til Larm.

Kuana koden trækker det hele fra Summa indeks og transformerer den til den endelige form mha xslt. Kuana pakken har ingen Java, kun scripts. Dens "persistence layer" består udelukkende af a en timestamp i en fil, som refererer til den sidste-opdateret timestamp af den sidste eksporteret program.

"Ukendt" Problematiken

Larm har sendt os en liste over kanaler i deres system med tilhørende filnavne for logo-filer. Disse har vi matchet med vores egne interne kanalnavne og lagt i en ad hoc xml file. I DOMS eksporteren ligger de i https://github.com/statsbiblioteket/larm-doms-exporter/blob/master/src/main/config/chaos_channelmapping.xml .

I kuana eksporteren er de indlejret i xslt filen: https://github.com/statsbiblioteket/larm-doms-exporter/blob/larm-kuana-exporter/src/main/config/XIPToLarm.xsl . (Scripstene er skrevet af Colin Rosenthal og xslt af Dorete.)

Når vi eksporter et program fra en kanal som ikke findes i listen, so får den channel name "Ukendt" og filnavn "unknown_logo.png".

Det er problematisk fordi det betyder at Larm har ikke tilstrækkeligt information for at vide om de har ret til at vise programmet. Problemet omfatter omkring 128000 udsendelser. Vi skal løse problemet både i den nye Kuana eksport og der skal også rettes til i den gamle DOMS eksporter så vi re-eksporter relevante programmer. 

Løsnings-model

En mulig løsnings model ser sådan ud:

  1. Vi udarbejder en liste af alle de påvirkede kanaler 
    1. enten med at bruge larm api: https://api.prod.larm.fm/v6/EZSearch/Get?q=&facets={Search}.Kanal%3AUkendt&pageIndex=0&pageSize=100&format=json2
    2. eller med at sammeligne mapping-filen med en liste over alle vores kanaler
  2. LARM-Chaos sletter alle nuværende programmer med "ukendt" fra deres system - og sender en liste over disse programmer til os
  3. Vi sender kanalisten til LARM-Chaos og de fortæller os hvordan mapning af disse kanaler skal se ud fremover - dvs. hvilke nye entries der skal være i mapping xml.
  4. Vi modificerer både den gamle og den nye eksporter sådan at de ikke eksporter "ukendte" kanaler
  5. Vi re-eksporter de slettede programmer - dvs. kun dem som ikke er "frataget"
  6. Proceduren for fremtidigt behandling af nye kanaler er allerede lagt ind i https://sbprojects.statsbiblioteket.dk/pages/viewpage.action?pageId=37594160
  7. Der er nogle timing issues da vi ikke skal blive ved at uploade "ukendte" programmer efter at Larm har slettet alle dem som findes p.t.. Det nemmeste er bare at sette en pause for den daglige kørsel af doms-exporter scriptsene mens vi retter på den.


Ukendte kanaler (fundet med larm api og opslag i pbcore på naiad)

sb kanal idkanal navnkommentar
drp4ojDR P4 Østjylland
tv3sportTV3 Sport
tv2mvTV/MIDT-VEST
drkDR K
tv2sport1hdTV 2 Sport HD
dr kDR Kdefekt pbcore? (08dd761a-e769-4db6-91b6-db6ab45f170d)
tv3maxTV3 MAX
drDRdefekt pbcore? (01c48b87-2b40-42b4-86fc-7d908553ea84)
boomerangBoomerang
mtvMTV
idinvestigationInvestigation Discovery
eurosportdkEurosport 2
raklRadio Klassisk
tv2sportTV 2 Sport
canal8sportCANAL8 Sport
voiceRadio The Voice Århus
tv2TV 2
tlcdanmarkTLC
AKTVAKTV
EfterskoleTVEfterskoleTV
Canal InternationalCanal Internationaldefekt pbcore? (70ef33df-a8f1-4d2c-9b87-b9d75abc6cb1)
TVGaderummetTVGaderummet
Kaos TVKaos TVdefekt pbcore? (f8bcce7a-85ee-4f3a-ad39-5e6d3f91a73d)
SBS Net SydSBS Net Syddefekt pbcore? (4546a5f1-17f6-4464-aa56-5df2612a7511)
tvd2TV 2defekt pbcore? (f61807c6-7ead-46b5-a677-7a2eb2b087bf)
tv 2TV 2defekt pbcore? (913ddf56-8f84-479f-a733-6e08a55fadde)
tvdk2TV Danmark 2
TVS - Den Danske SportskanalTVS - Den Danske Sportskanaldefekt pbcore? (164e97c0-66b7-47a2-ab34-ed884e033e4f)
TV 2TV 2defekt pbcore? (cbf137ad-dda4-4e2f-bfe2-e8b3b0187c5b)


Ukendte kanaler (fundet ved sammeligning af kanaler for ritzau programmer og mapping-filen)

sb kanal idkanal navnkommentar
drp4ojDR P4 ØstjyllandSamme kanal som drp4o, så skal nok have samme mapping
drxDR X
tv3sportTV3 Sport
bbcwBBC World
idinvestigationInvestigation Discovery"Frataget"
bbceBBC Earth
ardARD
tv3maxTV3 Max"Frataget"
raklRadio Klassisk
ndrNDR
disneyDisney
nrk1NRK 1
3sat3 SAT
mtvMTV
eurosportdkEurosport Danmark version 2
tv2fTV2 Film
kanalsydKanal Syd
toondisneyToon Disney
tv2mvTV2 Midt & Vest
arteARTE
tv5monTV5 Monde
svt2SVT2
zdfZDF
drkDRK
tv2sport1hdTV 2 Sport HD"Frataget"
tlcdanmarkTLC Danmark
rtlRTL
discovDisvocery
bbckBBC Knowledge
viasport1Viasat Sport 1
nickdanNickelodeon Danmark
svt1SVT1
boomerangBoomerang
natgeoNational Geographics
animalAnimal Planet
radiocityRadio City
bbcbBBC Brit
eurosportdanEurosport Danmark"Frataget"
canal8sportCanal 8 Sport"Frataget"
drp4sjDR P4 SjællandBurde være samme kanal som drp4re, så skal nok have samme mapping
voiceThe VoiceSamme kanal som thevoice, så bør have samme mapping
drp4esbDR P4 Esbjerg
tlcTLCSamme kanal som tlcdanmark, så bør have samme mapping