chore: sync GovOPlaN module split state
This commit is contained in:
71
docs/OPENDESK_INTEGRATION_MAP.md
Normal file
71
docs/OPENDESK_INTEGRATION_MAP.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# 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
|
||||
|
||||
```json
|
||||
{
|
||||
"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.
|
||||
Reference in New Issue
Block a user