Livssyklus Før Publisering
Altinn 3 Melding livssyklus og valideringsprosess før publisering.
Livssyklus Før Publisering
Følgende diagram viser den komplette flyten av en melding fra initialisering til publisering:
flowchart TD
%% Pre-published flow
A[Start] --> B[Initialize Correspondence]
B --> C[Validation]
C -->|Valid| D{Check Recipient}
C -->|Invalid| E[End with Error<br/>400 Bad Request:<br/>- Missing Content<br/>- Empty Message Fields<br/>- Invalid Format<br/>- Invalid Attachments<br/>- Invalid Dates<br/>- Invalid Language<br/><br/>401 Unauthorized:<br/>- No Access to Resource<br/>- Resource Not Whitelisted<br/>- Incorrect Resource Type]
D -->|Reserved & Not Ignored| F[Set Status: Reserved]
D -->|Not Reserved or Ignored| G[Set Status: Initialized]
G --> H{Has Attachments?}
H -->|Yes| I[Process Attachments<br/>- Upload Files<br/>- Scan for Malware]
I -->|Clean| J[Set Status: ReadyForPublish]
I -->|Malware Detected| I1[Set Status: Failed]
H -->|No| J
J --> K[Schedule Publish Job<br/>- Check Publish Time<br/>- Create Dialogporten Dialog<br/>- Schedule Notifications]
K -->|Publish Time Reached| K1[Publish Validation]
K -->|Publish Time Not Reached| K2[Wait for Publish Time]
K2 --> K1
K1 --> K3{Check Recipient Status}
K3 -->|Valid| L[Set Status: Published]
K3 -->|Invalid| K5[Set Status: Failed<br/>- Recipient Reserved in KRR<br/>- Organization Not Found<br/>- Organization Bankrupt<br/>- Organization Deleted<br/>- Missing Required Roles]
F --> M[End]
E --> M
I1 --> M
K5 --> M
L --> N[End]
style A fill:#f9f,stroke:#333,stroke-width:2px
style M fill:#f9f,stroke:#333,stroke-width:2px
style N fill:#f9f,stroke:#333,stroke-width:2px
style F fill:#99ff99,stroke:#333,stroke-width:2px
style E fill:#ff9999,stroke:#333,stroke-width:2px
style L fill:#99ff99,stroke:#333,stroke-width:2px
style G fill:#99ff99,stroke:#333,stroke-width:2px
style J fill:#99ff99,stroke:#333,stroke-width:2px
style I1 fill:#ff9999,stroke:#333,stroke-width:2px
style K2 fill:#99ccff,stroke:#333,stroke-width:2px
style K5 fill:#ff9999,stroke:#333,stroke-width:2px
Statustilstander Før Publisering
- Initialisert: Meldingen er opprettet og har bestått første validering
- Reservert: Mottaker har valgt bort digital kommunikasjon i KRR, men melding kan opprettes med
IgnoreReservation
flagg - Klar for publisering: Alle vedlegg (hvis noen) er behandlet og har bestått virusskanning
- Publisert: Meldingen er vellykket publisert og tilgjengelig for mottakere
Feilhåndtering Under Initialisering
Systemet returnerer HTTP-feilsvar for valideringsfeil under initialisering (ingen status blir satt):
- 400 Bad Request: Manglende innhold, ugyldig format, tomme meldingsfelter, ugyldige vedlegg, ugyldige datoer, ugyldig språk
- 401 Unauthorized: Ingen tilgang til ressurs, ressurs ikke hvitelistet, feil ressurstype
Publiseringsprosess-feil
Feilet status settes under publiseringsjobben når:
- Mottakerorganisasjon ikke finnes i Enhetsregisteret
- Mottakerorganisasjon er konkurs eller slettet
- Mottaker mangler påkrevde roller for konfidensielle meldinger
- Andre publiseringstidsvalideringsfeil oppstår
Vedleggsbehandling
- Opplasting pågår: Vedlegget lastes opp og behandles
- Publisert: Vedlegget har bestått virusskanning og er tilgjengelig for nedlasting
- Feilet: Vedlegget feilet virusskanning eller behandling
Alle vedlegg må nå Publisert status før meldingen kan publiseres.
Prosessflyt Detaljer
Initialisering og Validering
- Melding opprettes og valideres
- Autorisasjonssjekker utføres
- Mottaker reservasjonsstatus sjekkes
- Vedlegg metadata valideres
Vedleggsbehandling (hvis aktuelt)
- Filer lastes opp til blob storage
- Virusskanning utføres
- Vedlegg må bestå alle sjekker før melding kan publiseres
Publiseringsprosess
- Mottaker validering utføres under publisering
- Dialogporten dialog opprettes
- Meldingsstatus settes til Publisert
- Informasjonsaktiviteter opprettes
- Hendelser publiseres til abonnenter
Varslingshåndtering
- Varsler opprettes under initialisering
- Påminnelsesvarsler kan sendes for uleste meldinger
- Varslingsendinger stopper når melding markeres som lest
Feilhåndtering Sammendrag
Under Initialisering
- HTTP 400 Bad Request: Valideringsfeil (melding ikke opprettet)
- HTTP 401 Unauthorized: Autorisasjonsfeil (melding ikke opprettet)
Under Publisering
- Feilet status: Settes når publiseringstidsvalidering feiler (mottakerproblemer, etc.)
Systemet opprettholder et komplett revisjons-spor av alle statusendringer og tidsstempler for compliance og feilsøking.