Skip to content

epic: Nextcloud ecosystem integration #91

@rubenvdlinde

Description

@rubenvdlinde

Summary

Track every component that surfaces or manages other Nextcloud apps' data inside @conduction/nextcloud-vue. The pattern is the same in every case:

  • The OpenRegister backend already integrates with the target app (a <App>Service exists).
  • The library is missing the matching UI surface — typically a tab inside CnObjectSidebar that lists / creates / unlinks the related entity.
  • Apps using OpenRegister get the integration for free as soon as the component lands.

This epic groups the open ones, lists the obvious candidates, and is the place to file new sub-tasks as more NC apps get OpenRegister-side integration.

In scope

A component qualifies for this epic when all of these are true:

  1. It surfaces or manipulates data that lives in another Nextcloud app (not in OpenRegister itself).
  2. The OpenRegister backend already exposes the integration via a service / controller.
  3. It is mountable inside CnObjectSidebar (the canonical placement for object-related cross-app data) or, when the integration is admin-facing, surfaces in a settings / management panel.

OpenRegister-internal UI work (audit export, webhook manager, semantic search bar, text-extraction status, chat widget) does not belong here — those are OpenRegister UI completeness, not ecosystem integration.

Open sub-tasks

Candidates worth filing as the OR backend lands them

  • CnTalkRoomTab — link an OpenRegister object to a Nextcloud Talk conversation, list participants, deep-link to the room
  • CnMailThreadTab — surface linked emails for an object (replaces the current ad-hoc mail/X-OPENREGISTER-* patterns)
  • CnTaskListTab — Nextcloud Tasks (CalDAV) integration, parallel to CnDeckCardTab
  • CnContactCardTab — Nextcloud Contacts: link / display / create
  • CnBookmarkTab — Nextcloud Bookmarks
  • CnNotesTab — Nextcloud Notes
  • CnPhotosTab — Nextcloud Photos / Memories album linkage
  • CnFilesUploadDropzone — drag-drop upload that goes through Nextcloud Files (versions + permissions)

The OR side of these typically lands first via the integration registry (ADR-019) — when a new integration ships there, the matching Cn*Tab becomes the natural follow-up here.

How to add a new sub-task

  1. Confirm the OR-side integration exists (search OpenRegister for <App>Service or the integration-registry leaf).
  2. Open a new feat: issue in this repo with the same shape: Description / Requirements / Backend API / Acceptance.
  3. Add it to the checklist above with - [ ] #<number>.
  4. The new issue should reference this epic with Tracked by #<this-issue> so the back-link shows up automatically.

Out of scope

These are listed elsewhere or have their own homes:

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions