0008610: add user/group quotas to Filemanager / Tinebase_FileSystem #4329

Closed
Gloirin opened this Issue Jun 9, 2018 · 17 comments

Comments

Projects
None yet
1 participant
@Gloirin

Gloirin commented Jun 9, 2018

Reported by pschuele on 11 Jul 2013 09:42

add user/group quotas to Filemanager / Tinebase_FileSystem

Additional information: some ideas about this: http://www.tine20.org/forum/viewtopic.php?f=10&t=13692&p=49064

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by marcelofns on 23 Aug 2013 17:17

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 ?

Gloirin commented Jun 10, 2018

Comment posted by marcelofns on 23 Aug 2013 17:17

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 ?

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 27 Aug 2013 14:46

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?

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 27 Aug 2013 14:46

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?

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by marcelofns on 27 Aug 2013 16:28

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: https://www.tine20.org/forum/viewtopic.php?f=10&t=13692

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

Gloirin commented Jun 10, 2018

Comment posted by marcelofns on 27 Aug 2013 16:28

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: https://www.tine20.org/forum/viewtopic.php?f=10&t=13692

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

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 28 Aug 2013 10:47

hi,

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.

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 28 Aug 2013 10:47

hi,

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.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 30 Aug 2013 11:40

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?

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 30 Aug 2013 11:40

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?

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by marcelofns on 30 Aug 2013 17:07

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.

Gloirin commented Jun 10, 2018

Comment posted by marcelofns on 30 Aug 2013 17:07

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.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 30 Aug 2013 18:54

hi,

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...

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 30 Aug 2013 18:54

hi,

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...

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by htietze on 1 Sep 2013 08:57

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.

Gloirin commented Jun 10, 2018

Comment posted by htietze on 1 Sep 2013 08:57

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.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by marcelofns on 2 Sep 2013 13:34

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.

Gloirin commented Jun 10, 2018

Comment posted by marcelofns on 2 Sep 2013 13:34

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.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by marcelofns on 2 Sep 2013 14:02

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.

Gloirin commented Jun 10, 2018

Comment posted by marcelofns on 2 Sep 2013 14:02

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.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 10 Sep 2013 18:53

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.

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 10 Sep 2013 18:53

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.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by marcelofns on 12 Sep 2013 11:16

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

Gloirin commented Jun 10, 2018

Comment posted by marcelofns on 12 Sep 2013 11:16

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

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 12 Sep 2013 11:46

hi,

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.

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 12 Sep 2013 11:46

hi,

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.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 12 Sep 2013 11:47

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

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 12 Sep 2013 11:47

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

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by marcelofns on 18 Sep 2013 17:30

That's right philipp.

Gloirin commented Jun 10, 2018

Comment posted by marcelofns on 18 Sep 2013 17:30

That's right philipp.

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by pschuele on 24 Sep 2013 15:02

hi Marcelo,

i just sent you our design "document" :)

Gloirin commented Jun 10, 2018

Comment posted by pschuele on 24 Sep 2013 15:02

hi Marcelo,

i just sent you our design "document" :)

@Gloirin

This comment has been minimized.

Show comment
Hide comment
@Gloirin

Gloirin Jun 10, 2018

Comment posted by cweiss on 6 Sep 2017 09:27

quota got implemented in the meantime -> closing this ticket

Gloirin commented Jun 10, 2018

Comment posted by cweiss on 6 Sep 2017 09:27

quota got implemented in the meantime -> closing this ticket

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment