External Portal Integration
Feature Detail
Description
Provides configuration and synchronization support for organizations that operate their own external member portals alongside the Meander platform. The primary use case is HLF, which is redesigning its "Min side" portal on the Dynamics platform and requires that Meander and the HLF portal do not overlap functionality or create conflicting data states. The feature includes an integration configuration page where an Org Admin can register the external portal's endpoint, configure which data domains are authoritative in each system, and trigger or schedule data synchronization operations.
Sources & reasoning
Explicitly a Fase 2 / phase-column value of 2 in the priority matrix (line 156), confirmed in the Fase 2 action list (line 348-349). Fase 2 maps to v1.0 per the ordinal normalization rule. HLF constraint described in detail at line 115.
-
docs/source/likeperson.md · line 115Koordinering med eget portalprosjekt: HLF redesigner «min side» pÄ Dynamics-plattformen. Appen og portalen mÄ ikke overlappe eller motarbeide hverandre.
-
docs/source/likeperson.md · line 348-349Koordinering med HLFs eksterne portalprosjekt
-
docs/source/likeperson.md · line 155-156Koordinering med ekstern portal | - | - | - | â | â | MUST (HLF) | 2
Analysis
HLF has an active parallel portal project on Microsoft Dynamics and has explicitly flagged that the Meander app and the Dynamics portal must not overlap or work against each other. Without a structured integration layer, HLF risks data fragmentation, duplicate membership records, and confused users who see inconsistent information across two systems. Delivering this feature is a condition for HLF's full adoption of Meander. It also demonstrates the platform's openness to coexistence with existing organizational infrastructure - a significant commercial message for other prospects who have incumbent systems they cannot immediately retire, consistent with the incremental rollout principle (§1.5).
Integration configuration is persisted in the organizations table as a config flag (not a separate area toggle) per the guideline that a config flag inside an area is preferred over a new area when only one tenant dimension varies. An ExternalPortalApiClient handles outbound HTTP calls to the registered endpoint using organization-scoped credentials stored in a secrets store (not in the main database). The ExternalPortalSyncService implements configurable field-level authority rules (which system owns which data domain) and handles conflict resolution on sync. Initial implementation targets read-only sync (Meander pulls membership and role data from the external portal); write-back is a later enhancement. API client uses exponential backoff and records sync results in the audit log.
Quality Assurance
Organization Administrator (primary)Organization Administrator
Quick UAT
- Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Organisasjon â Ekstern portalintegrasjon.
- Registrer ekstern portalens endepunkt-URL og velg autentiseringsmetode. Lagre konfigurasjonen.
- Konfigurer datadomene-autoritet: velg hvilke datakategorier (f.eks. medlemsdata, aktivitetsdata) som er autoritative i Meander og hvilke som styres av den eksterne portalen.
- Trykk pÄ 'Test tilkobling' for Ä verifisere at Meander kan nÄ den eksterne portalens API.
- UtlÞs en manuell synkronisering ved Ä trykke 'Synkroniser nÄ'. Bekreft at synkroniseringsstatus viser 'PÄgÄr' og deretter 'FullfÞrt'.
- Kontroller synkroniseringslogg og bekreft at ingen konflikter ble registrert, eller at eventuelle konflikter vises med forklaring.
Quick UAT â Accessibility
-
Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Organisasjon â Ekstern portalintegrasjon.
- Screen reader Sideoverskrift 'Ekstern portalintegrasjon' annonseres ved sidelast; navigasjonshierarki leses opp korrekt.
- Keyboard / focus Sidebar-navigasjon nÄs med Tab; Enter Äpner Organisasjon-menyen; piltaster navigerer til Ekstern portalintegrasjon.
-
Registrer ekstern portalens endepunkt-URL og velg autentiseringsmetode. Lagre konfigurasjonen.
- Screen reader URL-felt annonseres med label 'Endepunkt-URL'; autentiseringsvalg leses opp som radiogruppe med valgt alternativ.
- Keyboard / focus Alle skjemafelt nÄs med Tab; radioknapper navigeres med piltaster; Lagre-knapp nÄs med Tab og aktiveres med Enter.
- Focus visibility Synlig fokusring pÄ alle skjemafelt og Lagre-knapp; obligatoriske felt er merket visuelt og med aria-required.
- Contrast 4.5:1 for alle feltlabels og knappetekst; feilmeldinger ikke kun markert med farge.
-
Konfigurer datadomene-autoritet: velg hvilke datakategorier (f.eks. medlemsdata, aktivitetsdata) som er autoritative i Meander og hvilke som styres av den eksterne portalen.
- Keyboard / focus Domenekategorier nÄs med Tab; valg gjÞres med Space eller piltaster; ingen drag-and-drop uten tastaturalternativ.
- Focus visibility Fokusring synlig pÄ alle valgbare domener; valgt tilstand kommuniseres via aria-checked eller aria-selected.
- Zoom Domeneoversikten er brukbar ved 200% zoom uten horisontal scrolling.
-
Trykk pÄ 'Test tilkobling' for Ä verifisere at Meander kan nÄ den eksterne portalens API.
- Screen reader Knapp 'Test tilkobling' annonseres korrekt; testresultat ('Tilkobling vellykket' / feilmelding) leses opp automatisk.
- Focus visibility Synlig fokusring pÄ Test-knapp; fokusen flyttes ikke uventet under testing.
- Live region 'Tilkobling vellykket' eller 'Tilkobling mislyktes: [feilbeskrivelse]' annonseres som polite live region.
-
UtlÞs en manuell synkronisering ved Ä trykke 'Synkroniser nÄ'. Bekreft at synkroniseringsstatus viser 'PÄgÄr' og deretter 'FullfÞrt'.
- Screen reader Statusendringer fra 'PÄgÄr' til 'FullfÞrt' leses opp automatisk uten at brukeren mÄ fokusere elementet.
- Touch target â„ 24Ă24 CSS px for Synkroniser-knappen.
- Live region 'Synkronisering pÄgÄr' og deretter 'Synkronisering fullfÞrt' annonseres som polite live region.
-
Kontroller synkroniseringslogg og bekreft at ingen konflikter ble registrert, eller at eventuelle konflikter vises med forklaring.
- Screen reader LoggoppfĂžringer leses opp som tabell med korrekte kolonneoverskrifter; konfliktadvarsler annonseres med alert-rolle.
- Keyboard / focus Logg-tabell navigeres med piltaster; konfliktrader kan Äpnes med Enter for detaljer.
- Contrast Konfliktstatus kommuniseres ikke kun med farge; ikon eller tekstetikett brukes i tillegg til fargemarkering.
Role Boundaries
3 role(s) must NOT access this feature-
Peer Mentor
Ekstern portalintegrasjon finnes ikke i mobilappens navigasjon; direkte API-kall mot integrasjonskonfigurasjonsendepunkter returnerer 403.
-
Coordinator
Ekstern portalintegrasjon finnes ikke i mobilappens navigasjon; koordinatorer har ikke tilgang til Admin-portalen.
-
Prospective Organization Representative
Ingen tilgang til Admin-portalen; ekstern portalintegrasjon er ikke tilgjengelig fra salgsnettstedet.
Expected End State
Den eksterne portalens endepunkt er registrert og verifisert, datadomene-autoritet er konfigurert, og minst én vellykket synkronisering er loggfÞrt uten ulÞste konflikter. Meander og den eksterne portalen opererer nÄ med avklarte ansvarsgrenser for hvert datadomene.
Components (21)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.