nextcloud / nextcloud/desktop

Expose a ini file for edit online in Collabora Office / LibreOffice

Open
#4,880 12 comments 1 reaction 0 assignees View on GitHub
confirmed
Dominant language
C++
Stars
3.9k
Forks
1k
Avg merge
1d 21h
Merged PRs (30d)
127

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.

Requirement is that richdocuments would implement https://github.com/nextcloud/richdocuments/issues/2418
- Provide an endpoint with a path parameter to open the file for the user
- 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.

- [ ] Fetch the endpoint from the capabilities
- [ ] For each sync folder put a .ini file in the root, containing the format below

### 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

Research direction

Start by tracing how the desktop client fetches capabilities and represents each sync folder; no specific files or tests are named in the issue. Confirm the related richdocuments endpoint contract, then verify that each sync-folder root gets a correctly populated .editonline.ini and that paths for root and subdirectory files produce the expected browser URL.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.