Skip to content

Commit 95f9965

Browse files
committed
improve docs on ACLs
1 parent 722712a commit 95f9965

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

README-Finder.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -85,27 +85,27 @@ trash folder can be emptied automatically after a given time period.
8585

8686
## Permission System
8787

88-
The permission system of **django-filer** is based on the idea of Access Control Lists (ACLs) similar
89-
to Posix or NTFS ACSs. This allows to grant fine-grained permissions to everybody, individual users
90-
and/or groups for each file and folder.
88+
The permission system of **django-filer** is using the concept of Access Control Lists (ACLs)
89+
similar to Posix or NTFS ACLs. This allows granting fine-grained permissions to everybody,
90+
individual users and/or groups for each file and folder.
9191

9292
Permissions are controlled through the model named `AccessControlEntry`. This model has a foreign
93-
key onto `InodeModel` and a so-called "principal". A principal is either a user, a group or a flag
94-
for everyone. They are mutually exclusive and implemented as a nullable foreign key onto `User`, a
95-
foreign key onto `Group` and a Boolean field named `everyone`. Either of them can be set, but not
96-
both. If both are unset, the chosen permissions are applied to every staff user.
93+
key onto `InodeModel` and a so-called "principal". A principal is either a user, a group or for
94+
everyone. They are mutually exclusive and implemented as a nullable foreign key onto `User`, or a
95+
foreign key onto `Group`. Either of them can be set, but not both. If neither is set, the permission
96+
is considered for everyone.
9797

9898
By using a separate model `AccessControlEntry`, **django-filer** can now compute the permissions
99-
using just one database query per inode. Until version 3, the permissions had to be computed
100-
traversing all ancestors starting from the current folder up to the root of the folder tree. This
101-
was a time-consuming opertaion and made **django-filer** slow for large datasets.
99+
using just one database (sub-)query while filtering all inodes. Until version 3, the permissions had
100+
to be computed traversing all ancestors starting from the current folder up to the root of the
101+
folder tree. This was a time-consuming operation and made **django-filer** slow for large datasets.
102102

103103
Each `AccessControlEntry` has a bitmap field used to represent:
104104
* `write` set for a folder: Allows the user to upload a file, to change the name of that folder,
105105
to reorder files in that folder, to move files out of that filer.
106106
* `write` set for a file: Allows the user to replace a file, to edit the file's meta-data, and to
107107
move the file to another folder, if the source and target folders have write permissions.
108-
* `read` set for a folder: Allows the user to open that folder.
108+
* `read` set for a folder: Allows the user to open that folder and view its content.
109109
* `read` set for a file: Allows the user to view a thumbnail of that file inside its containing
110110
folder and use that file, including copying.
111111
* `admin`: Allows the user to change the permissions of that folder or file.

0 commit comments

Comments
 (0)