Administration

Administrationspanel för ärendehantering

Ett administrationsgränssnitt där behöriga administratörer konfigurerar kommunens ärendehanteringssystem med kategorier, statusar, roller, mallar och regler.

Om applikationen

Tjänsten är en administrationspanel för kommunens ärendehanteringssystem. Här hanterar administratörer den metadata som styr hur ärenden registreras och handläggs: kategorier, statusar, etiketter, kontaktorsaker, roller och namnrymder per verksamhetsområde.

En central del är mallhanteringen, där dokumentmallar för exempelvis beslut kan sökas, förhandsgranskas, testas och godkännas för produktion. Panelen kan även jämföra mallar mellan test- och produktionsmiljö och visa var de skiljer sig, saknas eller är synkade, vilket ger trygg kvalitetssäkring före driftsättning.

Dessutom finns stöd för att administrera JSON-scheman för formulär, funktionsflaggor, användare och e-postintegration. Åtkomsten begränsas till en särskild administratörsgrupp.

Det här stödjer applikationen

  • Ärendemetadata – Hantera kategorier, statusar, etiketter, kontaktorsaker och roller som styr ärendeflödet.
  • Mallhantering – Sök, förhandsgranska, testa och godkänn dokumentmallar, t.ex. beslutsmallar, för produktion.
  • Miljöjämförelse – Jämför mallar mellan test- och produktionsmiljö och se vad som skiljer eller saknas.
  • Formulärscheman – Administrera JSON-scheman som styr formulär i ärendehanteringen.
  • Funktionsflaggor och användare – Slå på och av funktioner samt hantera användare och e-postintegration.

Teknisk dokumentation

Nedan beskrivs hur applikationen är uppbyggd, vilka API:er den använder och vad som krävs för att driftsätta den. Informationen är härledd ur källkoden och dess konfiguration på GitHub.

Arkitektur

Arkitekturskiss för Administrationspanel för ärendehantering: webbappens delar och dess integrationer.
Lösningsarkitektur, härledd ur källkodens konfiguration.

Applikationen består av en webbaserad frontend (Next.js 15, React 18, sk-web-gui, next-i18next) och en backend (Node.js/Express med TypeScript (routing-controllers)) som utvecklas i samma kodbas. Verksamhetsanrop går via kommunens gemensamma API-plattform (WSO2) – frontend pratar aldrig direkt med underliggande system. Inloggning: SAML (SSO) med krav på särskild administratörsgrupp (ADMIN_PANEL_GROUP). Övriga integrationer som förekommer i koden: WSO2 API-gateway (api.sundsvall.se), SAML IdP.

Teknikstack

  • Frontend: Next.js 15, React 18, sk-web-gui, next-i18next
  • Backend: Node.js/Express med TypeScript (routing-controllers)
  • Test: Jest, Cypress

API-beroenden

Applikationen konsumerar följande API:er via kommunens API-plattform. Versionerna är hämtade ur källkodens API-konfiguration.

API-beroenden för Administrationspanel för ärendehantering
APIVersionAnvändning
SupportManagement14.7Metadata för ärendehantering: kategorier, statusar, etiketter, roller och namnrymder.
Templating2.1Hantering och rendering av dokumentmallar.
JsonSchema1.0Hantering av JSON-scheman för formulär.
SimulatorServer2.0Hälsokontroll och simulering i utvecklingsmiljö.

Konfiguration och driftsättning

  • Miljöfiler: admin/.env, backend/.env.development.local och .env.test.local
  • CLIENT_KEY/CLIENT_SECRET för WSO2-prenumerationer krävs
  • SAML-certifikat och nycklar (SAML_ENTRY_SSO, SAML_IDP_PUBLIC_CERT, SAML_PRIVATE_KEY m.fl.)
  • API_BASE_URL mot kommunens API-gateway (test: api-test.sundsvall.se)

Noterbart ur källkoden

  • README anger äldre API-versioner (SupportManagement 12.4, Templating 2.0) än koden i api-config.ts (14.7 respektive 2.1) – koden är sanningskällan.
  • Gränssnittet är resursdrivet: nya administrationsresurser definieras i en central konfigurationsfil.
  • Svenska språkfiler finns för samtliga resurser (mallar, roller, statusar, funktionsflaggor m.m.).

Källkod

Källkoden är öppen och finns hos Sundsvalls kommun på GitHub. I källkodsförrådet finns även instruktioner för att klona, konfigurera och starta applikationen i egen miljö.