View Issue Details

IDProjectCategoryView StatusLast Update
0008610Tine 2.0Filemanagerpublic2017-09-06 16:27
ReporterpschueleAssigned Tocweiss 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version 
Target Versionfeature requestsFixed in Version2017.11.1dev1 Caroline BE Develop 
Summary0008610: add user/group quotas to Filemanager / Tinebase_FileSystem
Descriptionadd user/group quotas to Filemanager / Tinebase_FileSystem
Additional Informationsome ideas about this:
TagsNo tags attached.




2013-08-23 19:00


quota01.png (21,439 bytes)
quota01.png (21,439 bytes)


2013-08-23 19:01


quota02.png (27,866 bytes)
quota02.png (27,866 bytes)


2013-08-23 19:17

developer   ~0012014

Last edited: 2013-08-23 20:58

View 2 revisions

Hi, I am working on this task and I finished the configuration part in admin module. The 2 figures attached shows the two tabs, one to add quota name and value, another to associate to a user/group.

For data store I simply used a JSON representation to save in tine20_config using two fields.

Now, I am working on calculating the current user quota (if user has quota, return it, else return the max quota value associated to user groups), and calculation of user disk usage.

Can I progress this way ? Any suggestion or change ?



2013-08-27 16:46

administrator   ~0012032

hi Marcelo,

this looks quite good already and the next steps sound reasonable.

one suggestion: i would propose that you show the quota size in the "quota rights" tab, too. it is not quite clear what "quota1", "quota2", etc mean.

one question: where do you open this quota dialog?

do you need help with the disk usage calculation?


2013-08-27 18:28

developer   ~0012034

Last edited: 2013-08-27 18:30

View 2 revisions

The dialog is opened in admin -> applications -> filemanager -> settings, is it ok?

And yes, I need help with disk usage calculation. I have already post some comments in the forum:

At the moment, I'm studying the method _searchNodesRecursive to see what can be done.



2013-08-28 12:47

administrator   ~0012038


I already answered in the forum.

one more thing: i would prefer that the quota setting is added to the user edit dialog. we have already the imap quotas there and the file quota should be independent of the installation of the Filemanager.


2013-08-30 13:40

administrator   ~0012072

hi Marcelo,

some more comments on this:

- the total usage of a user should only be calculated once a day (or less often) and initally when the quota is introduced
- current usage of a user is saved in the accounts table
- when a user uploads / deletes a file, the current usage is adjusted

this is how the quota is handled on IMAP server and linux systems.

what do you think about that?


2013-08-30 19:07

developer   ~0012084

Last edited: 2013-08-30 21:17

View 2 revisions

in order to provide more flexibility and as I have seen it will not be too difficult to implement and to retrieve user disk usage, I'd propose display in Tinebase settings, options (like checkboxes) that admins can check to be considered in determining user disk usage. The options could be:
() Attachment files (path has /folder/records/...)
() Personal files (path has /folder/personal/...)
() Shared files (path has /folder/shared/...)

the other point is about to consider (in personal and shared files) the first level folders owner (in Tine they are containers) and not the created_by field in calculation of user disk usage. Maybe offer both methods as option would be very interesting.



2013-08-30 20:54

administrator   ~0012088


hm, yes, nice idea to separate the usage. but it should also be possible to have a general quota on all files.

maybe we should ask Heiko or Björn from the usability labs if they can give us some hints on this, too.

I'm on vacation in the next week so I won't comment on this in the next days...


2013-09-01 10:57

developer   ~0012090

The first picture looks pretty simple. And would be even better if limits are entered directly (unless quota record includes more information than just the size). As an improvement I suggest to allow size specification in kB, MB, GB, and perhaps TB. kiB, MiB etc. might not be well-established but consider to support it too.

It could be an usability problem to limit, for instance, the group 'users' to 100MB and a particular user 'Marcelo' to another value. Is the last value in the list effective or does the most detailed specification rule?

Concerning to your last idea: Is there really a use case to separate attachments, personal stuff, and shared files? I believe it's not really flexible and makes configuration weird.

Last but not least: Did you think about information ('your account is limited to...') and an actionable warning for users? With 'actionable' I have information in mind about used space, available space, folder and file size.


2013-09-02 15:34

developer   ~0012094

Last edited: 2013-09-02 16:13

View 4 revisions

Your idea of enter values directly and including size specification is really interesting.

When an user has both direct and group quota value we thought to use the more detailed specification, that is, the user value.

I suggested to separate disk usage in categories because we at Serpro were not thinking (at first) to consider attachments to use user's quota (allowing user upload how many attachments he wants), but we can discuss more about this.

I thought to show a quota bar information like in felamimail, and when the limit
 has exceeded disable the upload action. But this was before considering disk usage quota even with Filemanager not installed.



2013-09-02 16:02

developer   ~0012096

Ohh, I forgot some pschuele comments:
    - the total usage of a user should only be calculated once a day (or less often) and initally when the quota is introduced
    - current usage of a user is saved in the accounts table
    - when a user uploads / deletes a file, the current usage is adjusted

That's a great approach! High performance in mind.


2013-09-10 20:53

administrator   ~0012124

hi Marcelo,

Lars and me would like to do some design work on this one first. there already is a lot of input here to begin with. i think, we understand your requirements quite well. so please wait before starting to implement this. we plan to meet tomorrow and I will give you an update on this afterwards.


2013-09-12 13:16

developer   ~0012158

Ok philipp. Now I'm helping our team to fix priority bugs after the deployment and use of Tine (Expresso) in our whole company.


2013-09-12 13:46

administrator   ~0012160


ok, so you got some work to do ;)

Lars and me scheduled the meeting for the planning of the quota feature for the next week as we have some important work to do here as well.


2013-09-12 13:47

administrator   ~0012162

i'll assign the task to me and give it back when we have finished our design work.


2013-09-18 19:30

developer   ~0012180

That's right philipp.


2013-09-24 17:02

administrator   ~0012226

hi Marcelo,

i just sent you our design "document" :)


2017-09-06 11:27

administrator   ~0020646

quota got implemented in the meantime -> closing this ticket

Issue History

Date Modified Username Field Change
2013-07-11 11:42 pschuele New Issue
2013-07-18 11:03 pschuele Target Version => feature requests
2013-08-23 19:00 marcelofns File Added: quota01.png
2013-08-23 19:01 marcelofns File Added: quota02.png
2013-08-23 19:17 marcelofns Note Added: 0012014
2013-08-23 20:58 marcelofns Note Edited: 0012014 View Revisions
2013-08-27 16:46 pschuele Note Added: 0012032
2013-08-27 16:46 pschuele Assigned To => marcelofns
2013-08-27 16:46 pschuele Status new => assigned
2013-08-27 17:06 pschuele Target Version feature requests => Collin (2013.10.1~beta1)
2013-08-27 18:28 marcelofns Note Added: 0012034
2013-08-27 18:30 marcelofns Note Edited: 0012034 View Revisions
2013-08-28 12:47 pschuele Note Added: 0012038
2013-08-30 13:40 pschuele Note Added: 0012072
2013-08-30 19:07 marcelofns Note Added: 0012084
2013-08-30 20:54 pschuele Note Added: 0012088
2013-08-30 21:17 marcelofns Note Edited: 0012084 View Revisions
2013-09-01 10:57 htietze Note Added: 0012090
2013-09-02 15:34 marcelofns Note Added: 0012094
2013-09-02 15:35 marcelofns Note Edited: 0012094 View Revisions
2013-09-02 15:39 marcelofns Note Edited: 0012094 View Revisions
2013-09-02 16:02 marcelofns Note Added: 0012096
2013-09-02 16:13 marcelofns Note Edited: 0012094 View Revisions
2013-09-10 20:53 pschuele Note Added: 0012124
2013-09-12 13:16 marcelofns Note Added: 0012158
2013-09-12 13:46 pschuele Note Added: 0012160
2013-09-12 13:46 pschuele Assigned To marcelofns => pschuele
2013-09-12 13:47 pschuele Note Added: 0012162
2013-09-18 19:30 marcelofns Note Added: 0012180
2013-09-24 17:02 pschuele Note Added: 0012226
2013-09-24 17:02 pschuele Assigned To pschuele => marcelofns
2013-09-24 17:02 pschuele Target Version Collin (2013.10.1~beta1) => Koriander (2014.09.0~preview1)
2014-08-29 16:20 pschuele Target Version Koriander (2014.09.0~preview1) =>
2016-09-26 09:02 pschuele Assigned To marcelofns =>
2016-09-26 09:02 pschuele Status assigned => new
2016-09-26 09:02 pschuele Target Version => feature requests
2016-09-26 09:08 pschuele mwticket => 147139
2017-09-06 11:27 cweiss Assigned To => cweiss
2017-09-06 11:27 cweiss Status new => resolved
2017-09-06 11:27 cweiss Resolution open => fixed
2017-09-06 11:27 cweiss Fixed in Version => 2017.11.1 Caroline Business Edition
2017-09-06 11:27 cweiss Note Added: 0020646
2017-09-06 16:27 cweiss Fixed in Version 2017.11.1 Caroline Business Edition => 2017.11.1dev1 Caroline BE Develop