Skip to content

refactor: separate Direct Editing and legacy Richdocuments APIs - #248

Merged
marinofaggiana merged 5 commits into
mainfrom
editors
Aug 14, 2026
Merged

refactor: separate Direct Editing and legacy Richdocuments APIs#248
marinofaggiana merged 5 commits into
mainfrom
editors

Conversation

@marinofaggiana

@marinofaggiana marinofaggiana commented Aug 14, 2026

Copy link
Copy Markdown
Member

Summary

This PR generalizes the existing text-specific Direct Editing APIs so they can be used with every editor and creator advertised by the Nextcloud server.

It also clearly separates the core Direct Editing API from the legacy Richdocuments endpoints used by Nextcloud Office/Collabora.

Changes

  • Renames NextcloudKit+NCText to NextcloudKit+DirectEditing.
  • Replaces the text-specific API names with generic Direct Editing names:
    • getDirectEditingCapabilities
    • openFileForDirectEditing
    • getDirectEditingTemplates
    • createFileForDirectEditing
  • Adds editorId and creatorId parameters where required.
  • Supports opening files by path and optional file ID.
  • Correctly decodes keyed Direct Editing template responses.
  • Adds dedicated Direct Editing models:
    • NKDirectEditingEditor
    • NKDirectEditingCreator
    • NKDirectEditingTemplate
  • Renames the cached capability properties to:
    • directEditingEditors
    • directEditingCreators
    • directEditingTemplates
  • Converts editor and creator dictionaries directly into arrays.
  • Renames legacy Richdocuments methods to clarify their purpose:
    • createRichdocumentsEditorURL
    • getRichdocumentsTemplates
    • createRichdocumentsFileFromTemplate
    • createRichdocumentsAssetURL
  • Keeps callback-based and async variants of all APIs.

API compatibility

This PR intentionally renames public APIs and model types. Applications using the previous text* or Richdocuments method names must migrate to the new names.

The underlying legacy Richdocuments endpoints remain unchanged.

Related pull requests

Validation

  • Integrated and built with the Nextcloud iOS client.
  • Nextcloud iOS unit tests passed with this package revision.
  • NextcloudKit CI completed successfully.

🤖 AI

  • The content of this PR was partly or fully generated using AI.

Parameterize template requests with editor and creator identifiers.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Parse keyed templates with their MIME type, title, and optional preview fields.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Move direct-editing capability models into a dedicated directory and remove obsolete array conversion helpers.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
@marinofaggiana marinofaggiana changed the title Editors refactor: separate Direct Editing and legacy Richdocuments APIs Aug 14, 2026
@marinofaggiana
marinofaggiana merged commit d192518 into main Aug 14, 2026
4 checks passed
@marinofaggiana
marinofaggiana deleted the editors branch August 14, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant