nextcloud / nextcloud/server

Set skeletondirectory from web UI and/or Bootstrap files for new users from a cloud folder

Open
#35,597 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage enhancement feature: settings feature: users and groups
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.
We are using a hosted/managed NextCloud instance and want to modify what files and folders our users have in their NextCloud user directory per default. This is currently only possible by modifying config.php which means that we have to get in touch with the support and have them change our config.
Overall I think it makes for a far better UX for if most of the configuration can be done via web once the web server & database setup is done.

Describe the solution you'd like
As far as I can tell (but that's the part I would like to have feedback on) there is no inherent reason to have this only available via config option and filesystem folder.

Proposed solution:
Initially files could by bootstrapped from the path provided by the skeletondirectory option in the config.php, this could then be overriden in the web interface once the admin logs in. The folder set in the web interface should be a folder hosted on the cloud instance itself so that we do not have the possibility to use undesired paths on the filesystem or users get confused.
This could either be done via entering a share link or a folder selection dialog.
Longterm this maybe could also be a chance to deprecate this config option and get rid of some legacy code.

A good place for the configuration setting would be https://my.nextcloud.com/settings/admin/overview.

https://github.com/nextcloud/server/blob/cd7cec587ed7048b6a5536d69bce904f9eadc598/config/config.sample.php#L352-L362

Describe alternatives you've considered
🚫

Additional context
I would be willing to implement this myself, but I am new to nextcloud development and therefore some pointers to code that would need to be touched would be great. So far I have looked at this and just followed the called code: https://github.com/nextcloud/server/blob/966ee67efb509ed18ab046b6f31af84a76c5dd13/lib/private/User/Session.php#L553

Feedback with regard to how this is best implemented would also be nice beforehand so that the solution could be upstreamed nicely!

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 with lib/private/User/Session.php and the legacy code in lib/private/legacy/OC_Util.php, then compare their behavior with config/config.sample.php and the admin overview settings entry point. Trace how skeletondirectory is currently read and how an admin setting could represent a cloud-hosted folder; done means new users receive the configured default files without requiring a config.php change.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.