Skip to content

Commit

Permalink
Merge branch 'master' into feature/likert-divider
Browse files Browse the repository at this point in the history
  • Loading branch information
Magnusrm authored Dec 12, 2024
2 parents db79ce7 + 1308612 commit 6daec83
Show file tree
Hide file tree
Showing 19 changed files with 490 additions and 14 deletions.
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"workbench.editor.customLabels.patterns": {
"content/**/*index.*md": "${dirname}/${filename}.${extname}"

}
},
"cSpell.language": "en,nb"
}
2 changes: 1 addition & 1 deletion content/correspondence/news-and-plans/_index.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linktitle: News and plans
description: News and plans for development of Altinn 3 Correspondence.
tags: []
toc: false
weight: 70
weight: 80
---

<!-- {{<children />}} -->
Expand Down
4 changes: 2 additions & 2 deletions content/correspondence/news-and-plans/_index.nb.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linktitle: Nyheter og planer
description: Nyheter og videre planer for utvikling av Altinn 3 Melding
tags: []
toc: true
weight: 70
weight: 80
---

## Migrering fra Altinn 2 til Altinn 3
Expand All @@ -19,7 +19,7 @@ tjenestereiere og brukere være over på ny løsning. Altinn 2 plattformen skal

### De viktigste nyhetene i Altinn 3 Melding (foreløpig oversikt)

- Forbedret sluttbrukeropplevelse gjennom nytt brukergrensesnitt i Felles arbeidsflate.
- Forbedret sluttbrukeropplevelse gjennom nytt brukergrensesnitt i Arbeidsflate.
- Støtte for å sende lenker til meldingsinnhold og vedlegg,
som alternativ til å sende meldingsinnhold og vedlegg direkte i meldingene.
Filene kan lagres i Altinn 3 Melding Fillager eller i avsenders foretrukne løsning.
Expand Down
2 changes: 1 addition & 1 deletion content/correspondence/reference/_index.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linktitle: Reference documentation
description: Reference documentation for Altinn 3 Correspondence
tags: []
toc: false
weight: 60
weight: 70
---

{{<children />}}
2 changes: 1 addition & 1 deletion content/correspondence/reference/_index.nb.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linktitle: Referansedokumentasjon
description: Referansedokumentasjon for Altinn 3 Melding
tags: []
toc: true
weight: 60
weight: 70
---


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ The following figure gives a high level solution overview.

![Altinn 3 Correspondence High Level Solution Overview](altinn3-correspondence-solution-overview-en.png "Altinn 3 Correspondence High Level Solution Overview")

## Integration with Dialogporten and Felles arbeidsflate
## Integration with Dialogporten and Arbeidsflate

![Integration with Dialogporten and Felles arbeidsflate](altinn3-correspondence-and-dialogporten-en.png "Integration with Dialogporten and Felles arbeidsflate")
![Integration with Dialogporten and Arbeidsflate](altinn3-correspondence-and-dialogporten-en.png "Integration with Dialogporten and Arbeidsflate")
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ Følgende figur gir en oversikt over de vikigste byggeklossene i overordnet løs

![Byggeklosser i Altinn 3 Melding - overordnet løsningsarkitektur](altinn3-correspondence-solution-overview-nb.png "Byggeklosser i Altinn 3 Melding - overordnet løsningsarkitektur")

## Integrasjon med Dialogporten og Felles arbeidsflate
## Integrasjon med Dialogporten og Arbeidsflate

![Integrasjon med Dialogporten and Felles arbeidsflate](altinn3-correspondence-and-dialogporten-nb.png "Integrasjon med Dialogporten and Felles arbeidsflate")
![Integrasjon med Dialogporten and Arbeidsflate](altinn3-correspondence-and-dialogporten-nb.png "Integrasjon med Dialogporten and Arbeidsflate")
32 changes: 32 additions & 0 deletions content/correspondence/transition/_index.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: Transition solution
linktitle: Transition solution
description: Transition solution for Altinn Correspondence
tags: []
toc: true
weight: 60
---

{{% notice warning %}}
This section of the documentation is a work in progress.
There are sections with missing or only partial documentation.
Some functionality is still under analysis and development, and does not represent the final production version.
{{% /notice %}}

To simplify the transition from Altinn 2 to the Altinn 3 version of the Correspondence product, an overall strategy has been followed aiming to balance complexity and user-friendliness for all parties.

- Altinn 3 Correspondence largely has the same data model as Altinn 2 to enable mapping/migration.
- All Altinn 2 Correspondences and attachments are migrated into Altinn 3 Correspondence.
- All Altinn 2 Correspondence services with data will be created as Altinn 3 Correspondence services.
- Data/metadata is migrated in a process that also makes the elements available in the Dialogporten and Arbeidsflate.
- Migration of historical data will take time (weeks/months), and the transition solution is built with this in mind.
- Eventually, the migration job will "catch up" with live/fresh data, so the elements can be made available in Altinn 3 shortly after they were created in Altinn 2.
- To become independent of the production date for the new Arbeidsflate, Altinn 3 Correspondences are made available in the Altinn 2 Portal for end users.
- No transition solution is made for API endpoints:
- End-user systems and Service Owner systems must maintain integration with both Altinn 2 and Altinn 3 during a transition period.

## Overall Process flow

TODO: Short version of process flow with diagrams.

{{<children />}}
32 changes: 32 additions & 0 deletions content/correspondence/transition/_index.nb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: Overgangsløsning
linktitle: Overgangsløsning
description: Overgangsløsning for Altinn Melding
tags: []
toc: false
weight: 60
---

{{% notice warning %}}
Denne delen av dokumentasjonen er under utarbeidelse.
Det er kapitler som bare er delvis ferdigstilt.
Noe funksjonalitet er fremdeles under avklaring og utvikling og representerer ikke endelig versjon.
{{% /notice %}}

For å forenkle overgangen fra Altinn 2 til Altinn 3 versjon av Melding-produktet, så har man fulgt en overordnet strategi som har hatt som mål å balansere kompleksitet og brukervennlighet for alle parter.

- Altinn 3 Melding har i stor grad lik datamodell som Altinn 2 for å muliggjøre mapping/migrering.
- Alle Altinn 2 Meldinger og vedlegg migreres til Altinn 3 Melding.
- Alle Altinn 2 Meldingstjenester med data blir opprettet som Altinn 3 Meldingstjenester.
- Man migrerer data/metadata i en prosess som også tilgjengeliggjør elementene i Dialogporten og Arbeidsflate.
- Migrering av historiske data vil ta tid (uker/måneder), og overgangsløsning bygges med dette i mente.
- Til slutt vil migrerings-jobben «ta igjen» Live/Ferske data, slik at elementene kan tilgjengeliggjøres i Altinn 3 kort tid etter at de var opprettet i Altinn 2.
- For å gjøre seg uavhengig av produksjonsdato for nye Arbeidsflate, så tilgjengeliggjøres Altinn 3 Meldinger i Altinn 2 Portal for sluttbrukere.
- Det lages IKKE overgangsløsning for API-endepunkter:
- Sluttbrukersystemer og Tjenesteeiersystemer må opprettholde integrasjon mot både Altinn 2 og Altinn 3 i en overgangsperiode.

## Overordnet prosessflyt

TODO: Kortversjon av prosessflyt med diagram??

{{<children />}}
50 changes: 50 additions & 0 deletions content/correspondence/transition/consequences/_index.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Consequences
linktitle: Consequences
description: Consequences for the Parties using Altinn Correspondence
tags: []
toc: true
weight: 40
---

Here is a brief summary of the consequences of the chosen transition and migration solution for the different parties:

## Service Owner

- When creating the Correspondence in the API, the Correspondence is created in the environment being called ("home" of the element).
- If in A2, migration will occur to A3 after **migration wait time**, but notification will be completed in A2 regardless of migration.
- If in Altinn 3, the Correspondence will be available in the Altinn 2 Portal.
- Checking the status of a Correspondence created in A2 must be done against A2 and possibly then against A3 after migration.
- Since migration is performed after **migration wait time**, it is assumed that the Service Owner does not need to check for the same element in both A2 and A3, but that changes of interest have already occurred in A2.
- Integration with Altinn 3 API is required to create/follow up on new Correspondences there.
- They can use the migrated services or establish entirely new ones.

## End Users

### Via Altinn 2 portal

- Get a full overview in the Altinn portal of both Altinn 2 and 3 elements.
- When they open an Altinn 3 element, it is displayed in the Altinn 2 Portal, similar to an Altinn 2 element.

### Via End-User System

- First get Altinn 3 elements when the End-User System has integrated with A3.

### Via Arbeidsflate

- Get Correspondences created in Altinn 3, as well as those that have been migrated.
- Correspondences in Altinn 2 that have not been migrated will not be available.

## End-User System

- To get a full overview of elements, integration with both Altinn 2 and Altinn 3 API is required.
- When elements are migrated from A2 to A3, it is possible to identify this by the A3 element containing the Altinn 2 Correspondence ID.
- This makes it possible to exclude any duplicates.
- When the element is migrated, the End-User System must be integrated with the Altinn 3 API to continue working with it.
- But given that migration occurs after the expected active period, there should be no need.

## Dialogporten and Arbeidsflate

- Altinn 2 elements are not made available until they are migrated, but migration can occur relatively quickly after they are created in Altinn 2.

{{<children />}}
49 changes: 49 additions & 0 deletions content/correspondence/transition/consequences/_index.nb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: Konsekvenser
linktitle: Konsekvenser
description: Konsekvenser for partene som bruker Altinn Melding
tags: []
toc: false
weight: 60
---
Her er en kort oppsummering av hvilke konsekvenser valgt overgangs- og migreringsløsning har for de forskjellige partene:

## Tjenesteeier

- Ved opprettelse av meldingen i API, blir meldingen opprettet i miljøet som kalles («hjemstedet» til elementet).
- Dersom i A2 vil migrering skje til A3 etter **migreringsventetid**, men varsling vil fullføres i A2 uavhengig av migrering.
- Dersom i Altinn 3, så vil meldingen være tilgjengelig i Altinn 2 Portalen.
- Sjekk av status på Melding opprettet i A2 må gjøres mot A2 og eventuelt deretter mot A3 etter migrering.
- Siden migrering først utføres etter **migreringsventetid**, antas det at TE ikke trenger å sjekke for samme element i både A2 og A3, men at endringer av interesse allerede har skjedd i A2.
- Man må integrere seg mot Altinn 3 API for å opprette/følge opp nye meldinger der.
- De kan bruke de migrerte tjenestene, eller etablere helt nye.

## Sluttbrukere

### Via Altinn 2 portal

- Får en full oversikt i Altinn portal av både Altinn 2 og 3 elementer.
- Når de åpner et Altinn 3 element vises dette i Altinn 2 Portalen, tilnærmet likt som for et Altinn 2 element.

### Via Sluttbrukersystem

- Får først opp Altinn 3 elementer når Sluttbrukersystem har integrert seg mot A3.

### Via Arbeidsflate

- Får opp meldingene som er opprettet i Altinn 3, samt de som er blitt migrert.
- Meldinger i Altinn 2 som ikke er blitt migrert, vil ikke være tilgjengelig.

## SluttbrukerSystem

- For å få full oversikt over elementer vil man måtte integrere seg mot både Altinn 2 og Altinn 3 API.
- Når elementer blir migrert fra A2 til A3 vil det mulig å identifisere dette ved at A3-elementet inneholder Altinn 2 Correspondence ID.
- Dette gjør det mulig å utelukke evt. duplikater.
- Når elementet er migrert, så må SBS være integrert mot Altinn 3 API for å jobbe videre med det.
- Men gitt at det migreres etter forventet aktiv tidsrom, burde det ikke være behov.

## Dialogporten og Arbeidsflate

- Altinn 2 elementer blir ikke tilgjengeliggjort før de er migrert, men migrering kan skje relativt raskt etter at de er opprettet i Altinn 2 (styrt av **migreringsventetid**).

{{<children />}}
82 changes: 82 additions & 0 deletions content/correspondence/transition/data-migration/_index.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
title: Migration of Correspondence Data
linktitle: Data Migration
description: Migration of Correspondence Data for Altinn Correspondence
tags: []
toc: true
weight: 20
---

The "Flytt av Data" project will take responsibility for migrating all historical Correspondences and attachments to the new solution.

- An automated job migrates Correspondences and associated attachments from Altinn 2 to Altinn 3 using a dedicated API endpoint.
- The migrated version of an element will have a reference to its old Altinn 2 version, exposed in the field: "Altinn2CorrespondenceId" in the CorrespondenceOverview endpoint.
- After migration, the elements will no longer be available in the Altinn 2 API.
- But they are now available on par with other Altinn 3 Correspondences;
- Altinn 3 Correspondence API.
- Dialogporten.
- Arbeidsflate.
- Display in Altinn 2 Portal.
- No data is deleted as a result of migration; the Correspondences are only flagged in the database, and it is possible to perform the migration again and/or manually retrieve data if needed.

The migration will take place over time, and there is flexibility to control which services are migrated and what criteria are used to prioritize the elements.

## Volume and Migration Rate

It is estimated that over 500 million Correspondences with attachments will be migrated from Altinn 2 to Altinn 3.
Therefore, it is planned to perform the migration gently, starting with smaller volumes over time to gather experience and avoid disrupting the environments.

Over time, the rate will increase and eventually be almost up to date with live traffic in Altinn 2 as it slowly decreases and Altinn 2 is phased out.

## Migration Criteria

To avoid the need to build complex logic for synchronization across systems, the process has been simplified by allowing the Service Owner to define a minimum time interval "**migration wait time**" per service.

Based on the analysis of Correspondence usage, most activity on a Correspondence occurs shortly after it is created and shortly after associated notifications and re-notifications have been sent out.
For most; within 14 days of creation.

By delaying migration until after this period, there is no need to handle complex logic for synchronizing changes to the Correspondence such as opening, read confirmation, and deletion across systems.

As end users and end-user systems integrate with Altinn 3 and use it as their main channel, the **migration wait time** can be reduced so that elements can be migrated a few minutes after creation.

The migration component will work with a whitelist of services that can be migrated and will extract x number of elements per service per run where:

- Age is older than the **migration wait time** set for the respective service.
- Sorted by oldest Correspondence first, but can also take the newest.

## Detailed Migration Process per Element

The migration process per Correspondence will be divided into several steps to reduce risk and can be controlled per Correspondence, with the ability to delete data and restart the process.
No data is deleted from Altinn 2.

1. Migration of Correspondence data and attachments from Altinn 2 to Altinn 3, using the [service configuration that has been migrated](../service-migration/).
2. Creation of the migrated Correspondence in the Dialog Portal / Unified Workspace.
3. Blocking access to the Altinn 2 version of the element.

Initially, each of these steps will be triggered manually by the Flytt av Data team, but eventually, as full production for all components approaches, it will be handled automatically in a single process.

## What Data is Migrated?

- Only Correspondences that are neither archived nor marked as deleted.
- Correspondence content, including text and all attachments and metadata.
- A limited form of notification history: Time and recipient address, but not text content.
- Change history; including opening and read confirmation.
- Altinn 2 CorrespondenceId and NotificationId, making it possible to look up in Altinn 2 in cases where more detailed investigations are needed.

## Synchronization of Status Changes between Altinn 2 and 3

There will **not** be any form of synchronization of status changes on Correspondences or notifications between the two solutions after migration is completed.

Existing status/history will be migrated in step 1, and after step 3, the Altinn 2 element is blocked from further changes and is no longer externally available. The data is not deleted from Altinn 2.

This is to avoid significant technical complexity and dependencies across systems.

## Technical Implementation

- A dedicated endpoint is created in Altinn 3 Correspondence that only provides access to the Migration component; [MigrationController](https://github.com/Altinn/altinn-correspondence/blob/main/src/Altinn.Correspondence.API/Controllers/MigrationController.cs).
- An Altinn 2 AltinnBatch-based migration component "MigrateCorrespondence" is created
- Consumes the migration endpoint.
- Uses configuration in the Altinn 2 database to control migration.
- Can be triggered manually with parameters, but will over time run more or less continuously.

{{<children />}}
Loading

0 comments on commit 6daec83

Please sign in to comment.