owncloud / owncloud/ocis

Spaces: API attribute "sync-local-parent" to keep locally synced Spaces in a common parent folder (Desktop)

Open
#2,794 6 comments 0 reactions 0 assignees View on GitHub
Category:Enhancement Interaction:Needs-Concept Platform:Desktop Platform:oCIS Status:Proposal Topic:API Type:Discussion
Dominant language
Go
Stars
2.1k
Forks
274
Avg merge
2d 2h
Merged PRs (30d)
106

Description

## Is your feature request related to a problem? Please describe.

@hodyroff brought up, regular users expect to sync [all Spaces to local disk by default](https://github.com/owncloud/ocis/issues/2793), and Spaces should be placed in a local "`Spaces`" parent folder.

```
.
├── Home
├── Shares
│   ├── FromAlice
│   └── FromBob
└── Spaces
├── Space1
├── Space2
└── Space3
```

## Describe the solution you'd like

Flexible solution would be, Spaces API could get an additional attribute "sync-local-parent" to control the default behaviour of the desktop sync client.

In the first iteration, this attribute could be hardcoded – no backend logic needed.

In the future, we could also support scenarios with all Spaces in account root:

```
.
├── Home
├── Shares
│   ├── FromAlice
│   └── FromBob
├── Space1
├── Space2
└── Space3
```

…or use different terminology:

```
.
├── Home
├── Shares
│   ├── FromAlice
│   └── FromBob
└── Project
├── Project1
├── Project2
└── Project3
```

## Describe alternatives you've considered

- Not place all Spaces in a common folder "Spaces"
- Hardcode in desktop sync client to place all Spaces in a common folder "Spaces"

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Spaces API response and the desktop sync client's handling of synced Spaces. Define the first-iteration contract for the hardcoded "sync-local-parent" attribute, then verify that Spaces are placed under a common local "Spaces" folder without requiring backend logic.

Written by the indexing model from the issue text.

Assessment

Domain
api, desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.