file_folderfamily_woman_woman_girl_boy Admin-configured folders shared by everyone in a group.
Go to file
Nextcloud bot 2a3f43d2c2
[tx-robot] updated from transifex
2020-03-28 02:42:29 +00:00
.tx Fix tx config 2018-02-12 23:03:29 +01:00
appinfo Bump version to 6.0.3 2020-03-16 19:21:44 +01:00
img register folder icon only when the file app is being loaded 2019-05-07 18:36:48 +02:00
js Allow to select users and groups for acl management 2019-07-19 10:45:37 +02:00
l10n [tx-robot] updated from transifex 2020-03-28 02:42:29 +00:00
lib Fix: Trying to access array offset on value of type int at lib/private/Files/Node/Node.php#327 2020-03-24 19:34:58 +01:00
screenshots updated documentation 2019-08-29 20:45:35 +02:00
src Use new sidebar api to register groupfolders section 2019-12-05 10:42:16 +01:00
templates cosmetics on admin page 2019-03-12 20:04:18 +01:00
tests Adjust test constructors 2019-12-20 16:27:46 +01:00
.babelrc.js Use newer @babel/react-preset and @babel/preset-env 2019-08-23 17:20:39 +02:00
.drone.yml Test master against 18 2019-12-19 19:28:50 +01:00
.gitignore run syntax check in ci 2019-05-08 15:15:34 +02:00
.php_cs.dist run php-cs-fixer 2017-08-15 16:56:32 +02:00
.scrutinizer.yml add scrutinizer config 2017-04-06 16:03:51 +02:00
.travis.yml update travis config 2020-01-30 14:17:19 +01:00
CHANGELOG.md Bump version to 6.0.3 2020-03-16 19:21:44 +01:00
Makefile Bump version to 6.0.3 2020-03-16 19:21:44 +01:00
README.md Update README.md 2020-03-23 08:50:55 +01:00
composer.json Use PHPUnit 8 2019-12-20 17:18:17 +01:00
composer.lock Bump phpunit/phpunit from 8.5.0 to 8.5.2 2020-03-18 02:15:11 +00:00
package-lock.json Merge pull request #768 from nextcloud/dependabot/npm_and_yarn/less-3.11.1 2020-03-16 11:40:21 +00:00
package.json Merge pull request #768 from nextcloud/dependabot/npm_and_yarn/less-3.11.1 2020-03-16 11:40:21 +00:00
postcss.config.js Use postcss-preset-env instead of deprectated postcss-cssnext 2019-11-04 18:43:01 +01:00
tsconfig.json update dependencies 2018-09-03 22:25:45 +02:00
webpack.dev.config.js bumb dependencies 2019-06-14 12:34:42 +02:00
webpack.prod.config.js Run babel loader on js 2019-08-23 17:20:18 +02:00

README.md

Group folders

Admin configured folders accessible by everyone in a group.

Configure folders

Folders can be configured from Group folders in the admin settings.

After a folder is created, the admin can give access to the folder to one or more groups, a quota can be assigned for the folder and advanced permissions can be activated and configured.

edit

Permissions to the content of a group folder can be configured on a per-group basis.

permissions

The configuration options include the Write, Share and Delete permissions for each group.

Folders

Once configured, the folders will show up in the home folder for each user in the configured groups.

folders

Advanced Permissions

Advanced Permissions allows entitled users to configure permissions inside groupfolders on a per file and folder basis.

Permissions are configured by setting one or more of "Read", "Write", "Create", "Delete" or "Share" permissions to "allow" or "deny". Any permission not explicitly set will inherit the permissions from the parent folder. If multiple configured advanced permissions for a single file or folder apply for a single user (such as when a user belongs to multiple groups), the "allow" permission will overwrite any "deny" permission. Denied permissions configured for the group folder itself cannot be overwritten to "allow" permissions by the advanced permission rules.

advanced permissions

Users or whole groups can be entitled to set advanced permissions for each group folder separately on the group folders admin page. For entitlements, only users from those groups are selectable which have to be configured selected in the Groups column.

advanced permission entitlement

Configuring advanced permissions trough occ

Advanced permissions can also be configured trough the occ groupfolders:permissions command.

To use the occ command you'll first need to find the id of the groupfolder you're trying to configure trough occ groupfolders:list.

Before configuring any permissions you'll first have to enable advanced permissions for the folder using occ groupfolders:permissions <folder_id> --enable. Then you can list all configured permissions trough occ groupfolders:permissions <folder_id>.

occ groupfolders:permissions 1
+------------+--------------+-------------+
| Path       | User/Group   | Permissions |
+------------+--------------+-------------+
| folder     | group: admin | +write      |
| folder/sub | user: admin  | +share      |
|            | user: test   | -share      |
+------------+--------------+-------------+

Permissions for files and folders can be set trough occ groupfolders:permissions <folder_id> --group <group> <path> -- <permissions> to set permissions for a group or occ groupfolders:permissions <folder_id> --user <user> <path> -- <permissions> to set permissions for a single user.

<permissions> can be one or more of the following options: -read, +read, -write, +write, -create, +create, -delete, +delete, -share or +share to set the set the respective permission to "deny" or "allow". You can delete a rule by passing clear as the <permissions> field.

To help with configuring nested permission rules, you can check the effective permissions a user has for a path using occ groupfolders:permissions <folder_id> --user <user> <path> --test.

Notes

  • Currently using encryption on group folders is not supported. All files stored within a group folder will be stored unencrypted.
  • In Client applications, group folders will appear as external storage and may need to be explicitly addressed for download.

API

Group folders can be configured externally trough the OCS Api.

For all POST calls the required parameters are listed, for more information about how to use an OCS api see the Nextcloud documentation on the topic

The following OCS calls are supported.

  • GET apps/groupfolders/folders: Returns a list of call configured folders and their settings
  • POST apps/groupfolders/folders: Create a new group folder
    • mountpoint: The name for the new folder
  • GET apps/groupfolders/folders/$folderId: Return a specific configured folder and it's settings
  • DELETE apps/groupfolders/folders/$folderId: Delete a group folder
  • POST apps/groupfolders/folders/$folderId/groups: Give a group access to a folder
    • group: The id of the group to be given access to the folder
  • DELETE apps/groupfolders/folders/$folderId/groups/$groupId: Remove access from a group to a folder
  • POST apps/groupfolders/folders/$folderId/groups/$groupId: Set the permissions a group has in a folder
  • POST apps/groupfolders/folders/$folderId/quota: Set the quota for a folder
    • quota: The new quota for the folder in bytes, user -3 for unlimited
  • POST apps/groupfolders/folders/$folderId/mountpoint: Change the name of a folder
    • mountpoint: The new name for the folder