Altinn / Altinn/info.altinn.no

Erstatte intern-lenker som har side-id

Open
#710 1 comment 0 reactions 0 assignees View on GitHub
Teknisk
Dominant language
TypeScript
Stars
1
Forks
2
Avg merge
20h 21m
Merged PRs (30d)
32

Description

### Bakgrunn

Ved import fra vårt gamle CMS ble URLer for intern-lenker beholdt. Disse slutter på .aspx og inneholder global id for en side det skal lenkes til, eksempelvis ~/link/cfd0636821fd4fa086216a9665640a0f.aspx

Til nå har vi erstattet disse med normale URLer ved visning av sider. Dette fungerer bra så lenge den siden det lenkes til fortsatt er publisert. Når siden det lenkes til blir avpublisert klarer vi ikke å erstatte lenken med noe fornuftig og brukeren får en 404-side.

En annen ulempe med dagens løsning er at når en side avpubliseres oppdages det ikke at andre sider har lenker til den.

### Forslag til løsning
Foreslått løsning er å kjøre en maskinell engangsjobb som erstatter alle de gamle intern-lenkene med Umbraco sin måte å intern-lenke på. Slik vil redaktører få advarsel hvis de prøver å avpublisere en side som er lenket til fra andre sider og kan finne gode løsninger.

### Intern-lenking i Umbraco
Bildet under viser eksempel på intern-lenking i Umbraco, hvor redaktør har klikket for å redigere en lenke i brødtekst og har valgt siden "Be om fullmakt" fra sidetreet slik at lenken går dit:
Image

### Forslag til teknisk løsning

Lage en jobb som kan startes manuelt av administrator inne i Umbraco.
Se implementasjonen av "Search reindex" eller finn andre måter å lage manuelt startet bakgrunnsjobb på i Umbraco.

Jobben går igjennom alle publiserte sider en etter en og erstatter .aspx-lenker med Umbraco-måten å lenke internt på. Deretter republiseres siden automatisk. Hva som er endret bør logges. Unngå tunge operasjoner som kan gå ut over redaktørbrukere og sidevisninger.

Typisk gammelt format:

`

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting the existing "Search reindex" implementation or another manually started Umbraco background job. Trace the legacy-link handling in MarkupFilter.cs and the redirect exceptions from issue #699. Done means all published pages have legacy .aspx links converted to Umbraco internal links, attributes and parameters preserved, pages republished, and changes logged without disruptive heavy operations.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.