Decision: Handling of Default Base Layer Images for New Nextcloud Users
Status: Problem clear
Assignee: Alfons Müller
Problem
When new Nextcloud users are created, they need default base layer images available in their account.
This is also needed for test users in E2E testing.
Currently, the skeleton directory (nextcloud_user_template) is configured but empty, and a PermaShare user with shared folders was created as an alternative approach, but this is not working correctly, as new users are not added to an existing group share.
The architecture decision between these two approaches (or using both) needs to be made before implementation.
Constraints
- Base layer images must be separated from other pictures/icons
- Everyone with access to a map should have access to base layer images
- Shared folders need specific subdirectories
- Template base layer images should be available from: https://gitlab.tuwien.ac.at/permaplant/icons/-/tree/master/Base/Templates
- Skeleton directory applies only at user creation time; shared folders propagate updates dynamically.
- Base layer images need dedicated location (not
/Photos/)
Assumptions
- Some templates should remain centrally managed and updated for all users.
- Team folders plugin is stable and implemented. https://apps.nextcloud.com/apps/groupfolders
- Some images have to be hosted via shared folder
- Some files should be user-specific (users upload their baselayer images)
Solutions
Alternative A: Use Only the Skeleton Directory
All files including base layer images are copied into each new user's account.
Pros
- All files reside with the user.
- No shared folder configuration needed.
Cons
- Global updates do not propagate.
- No shared read-only templates.
- Wasteful duplication of large binary files.
Not suggested: It does not fulfill the assumption that some images should be hosted from a shared folder.
Alternative B: Only use Folders Shared via PermaShare User
Base layer images and templates live in one shared central location.
Pros
- Single source of truth.
- Updates available to all users instantly.
Cons
- No editable user-local templates by default.
- Skeleton directory becomes unused.
Not suggested: It does not fulfill the assumption that some templates should be user-editable.
Alternative C: Hybrid Approach
Use both mechanisms with clear responsibility boundaries:
-
Skeleton directory:
Contains editable templates that users may modify. -
PermaShare or Team folder:
Contains centrally managed base layer images (read-only).
Pros
- Covers both use cases: editable personal templates + global read-only content.
- Allows future templating layers.
- Supports E2E via a stable path.
Cons
- Slightly more complex initial setup.
Decision
Rationale
Related Decisions
- PermaplanT#2194 (nextcloud folder structure decision)
Notes
- MR implementing Team folders: !824
- This decision is based on:
- The Nextcloud infrastructure context and templates repository
- Discussions related to skeleton vs. shared folders