Closed gorandalum closed 2 years ago
Dette er også en breaking change som påvirker webshop NFK. Må flytte data fra Remote Config til Store.
cc FYI @toretefre
Dette får vel også konsekvenser med at det ikke er cachet lokalt? Dvs man laster ned alle produkter og kartdata hver gang man laster siden på nytt fremfor å hente fra cached IndexDB? Eller blir også firestore mellomlagret?
Ved lasting av nettsiden så blir data hentet fra server ja. Det er mulig å slå på offline persistence, som gjør at den mellomlagrer data som den fallbacker til ved manglende nett. Dette er slått på i appen, og gjør at brukeren får opp siste hentede fare contracts likevel om device er offline. Jeg har ikke skrudd det på på nettsiden nå siden det ikke var slått på for fare contracts eller brukerprofil, som vi også henter fra Firestore.
For nå hentes vel komplette store fare contracts hver gang man åpner også. Uansett om de trengs eller ikke og til all tid bakover. Unngår sikkert meste av data med å kun ha periodebillett og klippekort her, men det er vel noe filtrering på enkeltbilletter som skjer på klientsiden som ikke kommer til å være kjempesmart når app kobles på som alternativ reisebevis. Litt på siden av dette issuet kanskje, men det er noe jeg tenker burde vurderes.
Ja, enig. Jo lenger dette er i produksjon, jo flere billetter får folk, og vi bør passe på datamengden.
Jeg kan også nevne et par punkter til som har gjort at vi har gjort endringen fra Remote Config til Firestore:
Testet OK!
@mikaelbr @toretefre Tester dere på deres side også?
Ja, umiddelbart ser det bra ut, men jeg tror det er introdusert en bug med at kjøpte billetter ikke blir oppdatert i oversikten.
Bakgrunn
Konfigurasjon og referansedata har i hovedsak blitt lagt i Remote Config. Dette ble etablert før vi tok i bruk Firestore i prosjektet. Konfigurasjon som ikke behøver å endre seg basert på os, versjon, invitasjonskoder, eller lignende, passer bedre inn i Firestore. Dette vil også løse #390 siden Remote Config ikke virker i private browsing på Firefox.
Løsning
Flytt konfigurasjon fra Remote Config til Firestore. Det er gjort for:
user_profiles
tariff_zones
preassigned_fare_products
preassigned_fare_products_v2
vat_percent
payment_types
modes_we_sell_tickets_for
Det er bare implementert å ta i bruk Firestore for disse verdiene for webshop, mittatb-app bør også gjøre tilsvarende etter hvert. Må da huske at verdiene ikke kan fjernes fra Remote Config fordi de må være tilgjengelig for eldre versjoner av appen.
Testing
I webshop brukes alle konfigurasjonene nevnt over utenom
preassigned_fare_products
ogmodes_we_sell_tickets_for
. For å teste at verdier fra Firestore brukes og fungerer kan man:Denne testingen bør foregå i staging, og man bør notere seg hvilke endringer man gjør slik at man etterpå får endret tilbake til slik det var før.
Det er også oppdatert Firestore i prod til å inneha samme data som Remote Config i prod. Det er viktig at dette har blitt gjort korrekt, så test-steget bør også inneholde å verifisere disse dataene.