Set skeletondirectory from web UI and/or Bootstrap files for new users from a cloud folder
Nobody has claimed this yet.
- 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.
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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