External Portal Integration
Feature Detail
Description
This feature provides per-organization configuration for integrating with external customer portals, primarily HLF's Dynamics-based 'min side' redesign. Org Admins configure connection parameters, sync behavior, and the boundary between what lives in the Meander apps and what lives in the external portal, ensuring the two surfaces complement rather than duplicate each other.
Sources & reasoning
HLF (§73) requires explicit coordination with their Dynamics portal; §378 lists it as a feature of admin-organization marked as a config flag. Core Product per the phase-2 entry in §264 ('Koordinering med HLFs eksterne portalprosjekt').
-
docs/source/likeperson.md · line 73Koordinering med eget portalprosjekt: HLF redesigner «min side» på Dynamics-plattformen. Appen og portalen må ikke overlappe eller motarbeide hverandre.
-
docs/source/likeperson.md · line 378External Portal Integration (HLF config flag)
Analysis
HLF flagged coordination with their existing portal project as a critical concern - if Meander and the portal overlap or contradict each other, volunteers face confusion and HLF leadership loses trust in the platform. Solving this through explicit, configurable integration rather than ad-hoc coordination protects the relationship with one of the platform's anchor organizations. Strategically, the same integration pattern can be reused for other organizations that maintain external systems (Dynamics, Xledger, regional CRMs), making the platform partnership-friendly rather than territorial.
Backed by the external_portal_configs table (one_to_one with organizations) storing connection metadata, sync mode, and feature-boundary flags. Implemented as a config flag inside admin-organization rather than a separate toggleable module (per §378 noting 'External Portal Integration (HLF config flag)'). The Portal Gateway infrastructure component brokers calls to the external system; the External Portal Service applies tenant-scoped configuration. Auth between Meander and the external portal uses a per-tenant credential set stored in encrypted configuration. Failure modes prefer graceful degradation - Meander continues to work standalone when the external portal is unreachable.
Quality Assurance
Organization Administrator (primary) · Global Administrator (support, time-bounded)Organization Administrator
Quick UAT
- Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Organisasjonsinnstillinger → Ekstern portal.
- Aktiver bryteren 'Koble til ekstern portal' og fyll inn portal-URL, klient-ID og hemmelighet for HLFs 'min side'.
- Velg synkroniseringspreferanser (retning og intervall) og trykk 'Test tilkobling'.
- Bekreft at statusfeltet viser 'Tilkoblet' med grønn indikator og tidsstempel for sist verifisert.
- Trykk 'Lagre konfigurasjon' og bekreft at siden viser 'Konfigurasjon lagret' og at hendelsen logges i Revisjonslogg.
Quick UAT — Accessibility
-
Logg inn i Admin-portalen som Organisasjonsadministrator og åpne Organisasjonsinnstillinger → Ekstern portal.
- Screen reader Sideoverskrift 'Ekstern portal' annonseres; tab-rekkefølge: sidemeny → overskrift → bryter → skjemafelt.
- Keyboard / focus Hele siden nĂĄs kun med Tab/Shift+Tab; ingen tastaturfeller.
- Focus visibility Synlig fokusring pĂĄ sidemenyens aktive element og hovedoverskriften.
-
Aktiver bryteren 'Koble til ekstern portal' og fyll inn portal-URL, klient-ID og hemmelighet for HLFs 'min side'.
- Screen reader Bryter annonseres som 'Koble til ekstern portal, av/pĂĄ'; statusendring leses opp ('pĂĄ').
- Keyboard / focus Bryter aktiveres med Mellomrom; skjemafelt nås i logisk lesningsrekkefølge.
- Focus visibility Hvert tekstfelt har synlig label og fokusring; hemmelighetsfelt merkes som passordtype.
- Touch target Bryter og inputfelt minimum 24Ă—24 CSS-piksler.
-
Velg synkroniseringspreferanser (retning og intervall) og trykk 'Test tilkobling'.
- Screen reader Nedtrekkslister annonserer valgt verdi; knappen 'Test tilkobling' leses opp med rolle 'knapp'.
- Keyboard / focus Piltaster navigerer i nedtrekkslister; Enter aktiverer 'Test tilkobling'.
- Live region 'Tester tilkobling, vennligst vent' annonseres som høflig live-region under operasjonen.
-
Bekreft at statusfeltet viser 'Tilkoblet' med grønn indikator og tidsstempel for sist verifisert.
- Screen reader Statusendring 'Tilkoblet' annonseres via live-region; tidsstempel leses i klartekst.
- Live region 'Tilkobling vellykket. Sist verifisert <tidspunkt>.'
- Contrast Status formidles via både tekst ('Tilkoblet') og ikon, ikke kun grønn farge; kontrast minst 4.5:1.
-
Trykk 'Lagre konfigurasjon' og bekreft at siden viser 'Konfigurasjon lagret' og at hendelsen logges i Revisjonslogg.
- Screen reader Bekreftelsesmelding 'Konfigurasjon lagret' annonseres; lenke til Revisjonslogg leses som lenke.
- Focus visibility Fokus flyttes til bekreftelsesbanneret etter lagring.
- Live region 'Konfigurasjon lagret. Endring registrert i revisjonslogg.'
- Zoom Skjemaet og bekreftelsesbanneret er fullt brukbart ved 200 % zoom uten horisontal scrolling.
Global Administrator
Quick UAT
- Logg inn i Admin-portalen som Global Administrator og åpne organisasjonen som har gitt tidsbegrenset støttetilgang.
- Naviger til Organisasjonsinnstillinger → Ekstern portal og bekreft at konfigurasjonen vises skrivebeskyttet (felt grået ut, ingen 'Lagre'-knapp synlig).
- Bekreft at all visning av denne siden logges som støttetilgangs-hendelse i organisasjonens revisjonslogg.
Quick UAT — Accessibility
-
Logg inn i Admin-portalen som Global Administrator og åpne organisasjonen som har gitt tidsbegrenset støttetilgang.
- Screen reader Banner 'Støttetilgang aktiv til <dato>' annonseres øverst på siden.
- Keyboard / focus Organisasjonsvelger nĂĄs med Tab og styres med piltaster.
-
Naviger til Organisasjonsinnstillinger → Ekstern portal og bekreft at konfigurasjonen vises skrivebeskyttet (felt grået ut, ingen 'Lagre'-knapp synlig).
- Screen reader Hvert felt annonseres som 'skrivebeskyttet'; 'Lagre'-knappen er ikke til stede i tab-rekkefølgen.
- Focus visibility Skrivebeskyttede felt har synlig, men dempet fokusring; tilstand kommuniseres ogsĂĄ med tekst, ikke kun farge.
- Contrast Dempede felt opprettholder 4.5:1 kontrast for lesbar tekst.
-
Bekreft at all visning av denne siden logges som støttetilgangs-hendelse i organisasjonens revisjonslogg.
- Screen reader Lenke 'Ă…pne revisjonslogg' leses som lenke; mĂĄlside annonserer ny sideoverskrift.
- Live region Ingen pĂĄkrevd live-annonsering pĂĄ dette steget.
Role Boundaries
3 role(s) must NOT access this feature-
Peer Mentor (Likeperson)
Funksjonen finnes ikke i mobilappen. Likepersoner har ingen tilgang til Admin-portalen; direkte URL til konfigurasjonssiden returnerer 403.
-
Coordinator (Koordinator)
Koordinatorer logger ikke inn i Admin-portalen. Direkte deep-link til ekstern portal-konfigurasjon returnerer 403; ingen navigasjonsoppføring vises.
-
Prospective Buyer
Salgsnettstedet eksponerer ingen autentisering eller admin-flater. Konfigurasjonssiden er uoppnĂĄelig fra publikum og returnerer 404/403 ved gjettet URL.
Expected End State
-
Organization Administrator
Ekstern portal-konfigurasjon for organisasjonen er lagret og aktivert i external_portal_configs, tilkoblingsstatus er 'Tilkoblet' med tidsstempel, og en hendelse er registrert i audit_logs.
-
Global Administrator
Konfigurasjonen vises uendret i skrivebeskyttet modus, og en støttetilgangs-hendelse er registrert i organisasjonens audit_logs uten endringer i external_portal_configs.
Components (8)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.