Files
govoplan-connectors/docs/OPENDESK_INTEGRATION_MAP.md

3.6 KiB

OpenDesk Integration Map

OpenDesk is an integration profile across GovOPlaN modules, not a monolithic GovOPlaN module. The profile should let an operator see which OpenDesk components are connected, which GovOPlaN module owns each behavior, and which optional capabilities are available.

The core boundary decision register is in /mnt/DATA/git/govoplan-core/docs/MODULE_ARCHITECTURE.md.

Component Routing

OpenDesk area Example component GovOPlaN owner Integration behavior
Identity and directory OpenDesk IDM, LDAP, AD, OIDC, SAML, SCIM govoplan-idm, govoplan-access integrate, synchronize selected accounts/groups, map principals and memberships
Mail/groupware Open-Xchange mail govoplan-mail integrate, link profiles, test mailbox/send/append, keep mail semantics in mail
Calendar/groupware Open-Xchange calendar, CalDAV/CardDAV govoplan-calendar integrate, free/busy lookup, selected event sync, resource calendars
Files/documents Nextcloud/WebDAV/files, office integrations govoplan-files, later govoplan-dms integrate, import/link files, keep document lifecycle in DMS
Project management OpenProject govoplan-connectors, consumers in tasks/workflow/cases connector-first, link/synchronize selected work packages
Portal/collaboration Portal/chat/video/office services where present govoplan-portal, govoplan-connectors, govoplan-dms, govoplan-workflow link/integrate only when a process needs it
Inventory and diagnostics endpoint catalogue, profile health, version checks govoplan-connectors catalogue, profile test, health summary, optional capability discovery

Integration Behavior

  • integrate: call a stable API or protocol for the component.
  • link: store external references and open the external tool for source-of-truth work.
  • import: bring selected files/records into GovOPlaN-owned storage or evidence.
  • synchronize: keep selected records aligned through explicit source-of-truth rules.
  • replace selected workflow: only when GovOPlaN owns tighter governance, audit, retention, or configuration-package state than the OpenDesk component.

Shared Assumptions

  • Identity is the first dependency. Mail, calendar, files, and project connectors should record which identity profile or tenant mapping they expect.
  • Connector profiles store references to secrets, never secret values.
  • Module consumers discover optional behavior through core capabilities and module metadata.
  • The profile must work partially: an installation can have OpenProject without Open-Xchange, or calendar without files.

Candidate Profile Shape

{
  "id": "opendesk-main",
  "display_name": "OpenDesk",
  "components": {
    "identity": {"profile_id": "opendesk-idm", "owner": "govoplan-idm"},
    "mail": {"profile_id": "ox-mail", "owner": "govoplan-mail"},
    "calendar": {"profile_id": "ox-calendar", "owner": "govoplan-calendar"},
    "files": {"profile_id": "nextcloud-main", "owner": "govoplan-files"},
    "projects": {"profile_id": "openproject-main", "owner": "govoplan-connectors"}
  }
}

Follow-Up Implementation Issues

Existing high-priority module issues:

  • govoplan-idm#1: LDAP, Active Directory, OpenDesk identity services.
  • govoplan-mail#5: Open-Xchange mail/groupware adapter boundary.
  • govoplan-calendar#2: Open-Xchange calendar adapter boundary.
  • govoplan-connectors#1: OpenProject connector.

Future executable connector issues should be created in the owning module repository when the first concrete API/profile slice is selected.