nextcloud / nextcloud/richdocuments

Add file open endpoint for Collabora Office

Open
#2,418 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement
Dominant language
JavaScript
Stars
453
Forks
147
Avg merge
14h 54m
Merged PRs (30d)
83

Description

The idea is to have a button inside of Collabora Online / LibreOffice that allows the user to switch to editing online by clicking it.

Richdocuments would:

  • Provide an endpoint with a path parameter to open the file for the user
    • It should be enough to get the file id and redirect to the files app with the openfile parameter
  • Expose the endpoint URL through capabilities, so that it can be picked up by the client

The desktop client would expose a .editonline.ini (naming could change) file in the root sync folder which contains the edit url as well as the userid and relative path, which can then be read by Collabora Office.

Example 1

The Nextcloud root is synced to ~/Nextcloud, there would be a ~/Nextcloud/.editonline.ini:

[editserver]
    endpoint = https://nextcloud.example.com/index.php/apps/richdocuments/editfromlocal
    userid = admin
    relativepath = /

Considering a file Document.odt is opened, Collabora Office could then construct url to open in the browser:
https://nextcloud.example.com/index.php/apps/richdocuments/editfromlocal?user=admin&path=/Document.odt

Example 2

The Nextcloud subdirectory /Engineering is synced to ~/Nextcloud, there would be a ~/Nextcloud/.editonline.ini:

[editserver]
    endpoint = https://nextcloud.example.com/index.php/apps/richdocuments/editfromlocal
    userid = admin
    relativepath = /Engineering

Considering a file Document.odt is opened, Collabora Office could then construct url to open in the browser:
https://nextcloud.example.com/index.php/apps/richdocuments/editfromlocal?user=admin&path=/Engineering/Document.odt

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the endpoint and capabilities requirements in this issue, then read nextcloud/desktop#4880 for the remaining client-side work. Done means the client can obtain the endpoint from capabilities and create the specified .editonline.ini file for each sync folder.

Written by the indexing model from the issue text.

Assessment

Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.