Oppdatere avhengigheter

Hvordan oppdatere avhengigheter i app

Appen er avhengig av flere ressurser som ligger utenfor selve appen. Dette inkluderer støttebiblioteker med felles funksjonalitet for alle apper og referanse til appen sin frontend. Disse avhengighetene er definert noen forskjellige steder i appen, og hver avhengighet refereres til med en spesifikk versjon. Når ressursene oppdateres, publiseres de på nytt som en ny versjon. En ny versjon kommer ofte med ny funksjonalitet eller forbedringer. For at appen skal kunne ta dette i bruk, må man oppdatere hvilken versjon av ressutsene appen henter.

Nuget pakker

Nuget er .NET sin package manager, hvor vi publiserer kodebibliotek som brukes av alle appene.

Appen bruker flere støttebiblioteker, som oppdateres fortløpende med forbedringer og ny funksjonalitet. En app refererer til konkrete versjoner av de forskjellige bibliotekene, og disse referansene må oppdateres for å hente inn siste versjon.

Oppgradere til nyeste versjon

  • Finn fram referansene til bibliotekene i appen. Referansene til biblioteker ligger i filen App/App.csproj i appens repo.

F.eks.:

```
<ItemGroup>
  <PackageReference Include="Altinn.App.Api" Version="1.0.82-alpha" />
  <PackageReference Include="Altinn.App.Common" Version="1.0.82-alpha" />
  <PackageReference Include="Altinn.App.PlatformServices" Version="1.0.82-alpha" />
  <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.3" />
  <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.2" />
</ItemGroup>
```

App frontend

App frontend lastes inn av appen runtime, via en lenke til javascript-filen som er app frontend. Denne javascript-filen versjoneres ihht. Semantic Versioning:

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards compatible manner, and
PATCH version when you make backwards compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

App’en refererer som standard til en major versjon av app frontend, f.eks. versjon 1.x.y. Med mindre det kommer en ny major versjon vil alle oppdateringer med ny minor eller patch versjoner komme med automatisk. Om det kommer en ny major versjon må man eksplisitt oppdatere appen til å referere til denne.

Dersom man ønsker å refere til en spesifikk versjon av app frontend (f.eks. 1.2.3) så kan dette spesifiseres direkte i url’en som peker på app frontend.

Oppgradere til nyeste versjon / spesifisere versjon

Referansen til app frontend ligger i App/views/Home/Index.cshtml.

Det er 2 referanser som må oppdateres:

  • Referansen til altinn-app-frontend.js-filen som er app frontend koden. Referanse på formatet <script src="https://altinncdn.no/toolkits/altinn-app-frontend/<VERSJONSNUMMER>/altinn-app-frontend.js"></script>
  • Referansen til altinn-app-frontend.css som inneholder styling for app frontend. Referanse på formatet <script src="https://altinncdn.no/toolkits/altinn-app-frontend/<VERSJONSNUMMER>/altinn-app-frontend.css"></script>

Søk etter filnavnet (altinn-app-frontend.js eller altinn-app-frontend.css) og erstatt versjonsnummeret (f.eks. 1) med ønsket versjonsnummer (f.eks. 2).

Husk: Dersom man setter kun major versjon (f.eks. 2), så vil alle oppdateringer innenfor denne major versjoner (bugfix, ny funksjonalitet som ikke er breaking) komme med automatisk. Dersom man setter en spesifikk versjon (f.eks. 2.0.0) så vil appen hente akkurat denne versjonen, helt til referansen evt. oppdateres til å bruke en annen versjon.