Experimental

Experimental gjør det mulig å slå på og verifisere eksperimentelle funksjoner for enkelt-årsoppgjør i produksjon, før de eventuelt blir standard for alle. Det er en generell mekanisme — en per-årsoppgjør-bryter som en funksjon kan forgrene på — og er ikke knyttet til noen bestemt funksjon. SKE-mappingen (egenkapitalavstemming) ble tilfeldigvis den første funksjonen bak guarden.

Slik virker det

  • Bryteren setter trait-overstyringen PostTrait.Experimental på årsoppgjøret (ExperimentalFeatures-patch i FinancialStatementUpdater); valget lagres og overlever ny synkronisering.

  • En funksjon som skal ligge bak guarden, sjekker fs.hasActiveTrait(PostTrait.Experimental) og velger eksperimentell adferd når den er på — ellers standard.

Slik kan vi verifisere ny adferd på utvalgte årsoppgjør i prod uten å endre adferd for alle. Når funksjonen er bekreftet, fjernes forgreningen og den blir standard.

Slik slår en administrator det på

Bryteren ligger i årsoppgjørets innstillinger under «Eksperimentelle funksjoner» og settes per årsoppgjør.

  • Bare administrator-, utvikler- og support-brukere ser og kan endre bryteren (hasAdminPrivileges).

  • Når den er på, ser alle brukere på årsoppgjøret en melding om at en administrator har slått på eksperimentelle funksjoner, samt en «Eksperimentell»-tag.

PostTrait.Experimental har to bruksområder: som postnivå-markør «posten er under utvikling» (se Traitsystem), og — aktiv på årsoppgjøret — som bryteren beskrevet her.

Funksjoner bak guarden

Akkurat nå ligger én funksjon bak guarden:

Funksjon Standard (legacy) Experimental (korrekt) Sak

Egenkapitalavstemming (SKE-mapping)

Utleder en «spøkelses-prinsippendring» fra utsatt skatt-saldoen og overstyrer utgående egenkapital — blåser den opp.

Ingen utsatt skatt-/prinsippendring-linjer; utgående egenkapital = balansens egenkapital.

#1250

Er listen tom, slår bryteren ikke på noe: Experimental er da aktiv på årsoppgjøret, men ingen funksjon endrer adferd. Det samme gjelder et årsoppgjør der ingen av funksjonene gir utslag.