3.6 KiB
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.