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.Experimentalpå årsoppgjøret (ExperimentalFeatures-patch iFinancialStatementUpdater); 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 |
|---|---|---|---|
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.
|