janhebnes / startlist.club

Flight Log for flight clubs - created for handling flight log operations for soaring flight clubs in northern Europe.
https://startlist.club/about
MIT License
13 stars 10 forks source link

Overfør data til Foreningsadm/Elevmappen #166

Open plaursen opened 3 years ago

plaursen commented 3 years ago

Dette skal lige tænkes godt igennem.

FA/EM kan godt håndtere at en flyvning overføres igen - sidste overførsel vinder.

Overførsel ved Gem: Så skal vi sikre, at vi håndterer både Gem af skolingsdata og Gem af flyvning (og hvad med autoland ?). Det må (vist) medføre at enhver Gem operation på en flyvning (eller skolingsdata) skal trigge en overførsel.

Overførsel i batches: F.ex hver aften. Vi skal dog stadig sikre at ældre, redigerede flyvninger overføres.

Dirty-flag: Ved Gem af skolingsdata og/eller flyvning sættes flyvningen som Dirty. Batch-job bruger dirty flag til at udvælge.

Aktivt tilvalg: Vi har klubber (Norge, Sverige) som ikke bruger FA/EM.

Hvad med DEV/DEMO? Flag i web.config ?

janhebnes commented 3 years ago

Umiddelbare tanker er last update dato flag på flyvedataen og skoledataen og selv holde styr på sidste sync datoen på den aktive del af synk jobbet.

Data Niveau er union

Så skulle der være fri adgang til delta baseret sync

plaursen commented 3 years ago

Jah, brug af LastUpdate lyder enklere end det dirty flag.

Det er dog nok en god ide at persistere TimeOfLastSuccesfulExport (DB?), både for ikke at spamme med uploads efter en genstart, og fordi der i princippet kunne være forskellige export intervaller (vi skal kunne håndtere multiple destinationer).

janhebnes commented 3 years ago

Hvis vi kører med en apikey eller clients id kan vi centralt holde styr på hvornår sidst sync har fundet sted til de pågældende, og kan også lukke og servicere enkeltvis på evt. Api version og api kontakt person så vi altid har en opdateret kontakt liste.

Vi kan todele det nuværende så der er en passiv generel del af servicen i selve startlist.club og vi har et drift ansvar på den kode som udgør klienten til dsvu registeret som har det aktive synk ansvar.

Så bliver snittet måske renere.

tir. 29. jun. 2021 08.47 skrev plaursen @.***>:

Jah, brug af LastUpdate lyder enklere end det dirty flag.

Det er dog nok en god ide at persistere TimeOfLastSuccesfulExport (DB?), både for ikke at spamme med uploads efter en genstart, og fordi der i princippet kunne være forskellige export intervaller (vi skal kunne håndtere multiple destinationer).

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/janhebnes/startlist.club/issues/166#issuecomment-870286515, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG6HXITTI6GPMZOKGGIPX3TVFUA5ANCNFSM47NOCQTA .

plaursen commented 3 years ago

I forhold til DSvU/FA har vi (startlist) ét sæt credentials.

Jeg er allerede godt i gang (men vil bakke ud igen af noget af det :) )

Hentning og formattering (JSON) af data til export er adskilt fra selve upload. Sidstnævnte kører som et long-running task der sleeper med det interval vi nu vælger for den pågældende modtager.

Klubber kan vælge hvilken modtager de vil bruge (eller ingen). P.t har vi kun DSvU/FA.

Upload skal så requeste de relevante flyvninger fra ovenstående (skoleflyvninger fra de tilsvarende klubber), og skyde dem af. Det bøvles lidt af at modtageren ikke er så glad for store uploads. 40000 linier JSON tager et par minutter, og dump af hele databasen er for meget... Ved success opdateres TimeOfLastUpload for den pågældende modtager.

Rinse & repeat.

plaursen commented 3 years ago

M.a.o.: klienten til DSvU registeret er også os.

plaursen commented 3 years ago

Vi har en lille komplikation i form af de manglende UnionsID for ret mange piloter. Når det mangler, vil FA/EM ikke importere flyvningen (fordi piloten/instruktøren ikke kan identificeres). Det kommer givetvis til at ske nogle gange fremover, også ved nye piloter.

Jeg foreslår: 1) Ved 'identitetsændrende' redigering af en pilot (f.ex oprettelse eller ændring af UnionsID), så triller vi gennem samtlige (skole)flyvninger som piloten har deltaget i, og opdaterer LastUpdated. Så skulle de komme med næste gang. 2) En 'nag-popup' som ved gemning af skoleflyvningsdata med manglende UniosID for pilot/instruktør informerer om at flyvningen ikke kan overføres før dette er bragt i orden. Se også #163.

plaursen commented 3 years ago

Afventer bugfixes hos FA, der var en del dobbelte registreringer

plaursen commented 3 years ago

Se også #163

janhebnes commented 2 years ago

@plaursen feature complete?

plaursen commented 2 years ago

Nope. Det er stadig manuelt (export fra Startlist, post til FA). Er ikke nået til det endnu...