You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by Robert Munn <ro...@gmail.com> on 2015/11/04 17:17:35 UTC

Re: Quota feature on trunk.

Benoit,

This is very good news, thank you for your contribution. 

I just checked out the trunk @ rev 1712396, but it did not build successfully from CLI. Do you have a known good revision in the trunk to get a successful build with this feature enabled? 

This rev is failing when it tries to build the filesystem API. 

Robert


> On Oct 29, 2015, at 10:49 AM, Benoit Tellier <be...@minet.net> wrote:
> 
> Hi every one,
> 
> A month ago, I contributed some code to James to handle quotas :
> 
> - At the mailbox level : it means user mailboxes can not exceed the size in bytes and message count you fixed for it.
> - At the SMTP level : If you send a mail to a full mailbox, you have a matcher to answer something like "Hey, your sending this mail to an over quota mailbox"
> - At the IMAP level : A user can perform IMAP commands in order to check his quotas
> - At the administration level : you can administrate quotas threw JMX using the cli tool.
> - At the configuration level : you can choose the implementation you want.
> 
> I didn't mentioned it earlier on this list so, it is time to do it !
> 
> Just note that if you deploy the trunk you will need a new configuration file : quota.xml. Sample configuration can be found there : james-project/server/app/src/main/resources/quota-template.xml . I mention it as I answered and question on this today...
> 
> Here follows a short note on configurations :
> 
> - There is a distinction between current values and maximum allowed values. This means you can use different backends for both. Eg : (not implemented but allowed by this distinction) LDAP for max values and the current values persisted elsewhere.
> - You may, with a few configuration work, use your own QuotaRoot resolver, and group mailbox for applying quotas using your own policies. eg : not anymore by people, but by work unit.
> 
> The interesting part is on current value calculation :
> 
> - You can lazy compute it and store it in RAM.
> - Or you can update it and maintain the count in a DB. For now only Cassandra is available.
> 
> We might want a tool to recalculate quotas...
> 
> The advantage from the previous system (mailets) is that it is fast : there is at most one quota calculation, depending on the choices you made, the the result can be retrieved either from the data base or from the RAM.
> 
> Benoit
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Quota feature on trunk.

Posted by Robert Munn <ro...@gmail.com>.
OK. I managed a successful build like so:

$ svn checkout http://svn.apache.org/repos/asf/james/project/trunk/ <http://svn.apache.org/repos/asf/james/project/trunk/>
$ cd trunk
$ mvn clean install -DskipTests=true


I took a look at the quota template and may have some questions once I get a chance to experiment with it.

Thanks,

Robert


> On Nov 4, 2015, at 9:39 AM, Benoit Tellier <be...@minet.net> wrote:
> 
> Hi,
> 
> Great ! I'm glad you want to give it a try !
> 
> Mhh, build process changed a little last mount, you will not success to build it from james-server.
> 
> You need to checkout james-project, last revision should be OK as long as you don't launch unit tests ( see JAMES-1636 ).
> 
> Don't know for SVN, but using this git repository : https://github.com/apache/james-project
> I build succesfuly latest commits.
> 
> Benoit
> 
> Le 04/11/2015 17:17, Robert Munn a écrit :
>> Benoit,
>> 
>> This is very good news, thank you for your contribution.
>> 
>> I just checked out the trunk @ rev 1712396, but it did not build successfully from CLI. Do you have a known good revision in the trunk to get a successful build with this feature enabled?
>> 
>> This rev is failing when it tries to build the filesystem API.
>> 
>> Robert
>> 
>> 
>>> On Oct 29, 2015, at 10:49 AM, Benoit Tellier <be...@minet.net> wrote:
>>> 
>>> Hi every one,
>>> 
>>> A month ago, I contributed some code to James to handle quotas :
>>> 
>>> - At the mailbox level : it means user mailboxes can not exceed the size in bytes and message count you fixed for it.
>>> - At the SMTP level : If you send a mail to a full mailbox, you have a matcher to answer something like "Hey, your sending this mail to an over quota mailbox"
>>> - At the IMAP level : A user can perform IMAP commands in order to check his quotas
>>> - At the administration level : you can administrate quotas threw JMX using the cli tool.
>>> - At the configuration level : you can choose the implementation you want.
>>> 
>>> I didn't mentioned it earlier on this list so, it is time to do it !
>>> 
>>> Just note that if you deploy the trunk you will need a new configuration file : quota.xml. Sample configuration can be found there : james-project/server/app/src/main/resources/quota-template.xml . I mention it as I answered and question on this today...
>>> 
>>> Here follows a short note on configurations :
>>> 
>>> - There is a distinction between current values and maximum allowed values. This means you can use different backends for both. Eg : (not implemented but allowed by this distinction) LDAP for max values and the current values persisted elsewhere.
>>> - You may, with a few configuration work, use your own QuotaRoot resolver, and group mailbox for applying quotas using your own policies. eg : not anymore by people, but by work unit.
>>> 
>>> The interesting part is on current value calculation :
>>> 
>>> - You can lazy compute it and store it in RAM.
>>> - Or you can update it and maintain the count in a DB. For now only Cassandra is available.
>>> 
>>> We might want a tool to recalculate quotas...
>>> 
>>> The advantage from the previous system (mailets) is that it is fast : there is at most one quota calculation, depending on the choices you made, the the result can be retrieved either from the data base or from the RAM.
>>> 
>>> Benoit
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-user-help@james.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-user-help@james.apache.org
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
> 


Re: Quota feature on trunk.

Posted by Benoit Tellier <be...@minet.net>.
Hi,

Great ! I'm glad you want to give it a try !

Mhh, build process changed a little last mount, you will not success to 
build it from james-server.

You need to checkout james-project, last revision should be OK as long 
as you don't launch unit tests ( see JAMES-1636 ).

Don't know for SVN, but using this git repository : 
https://github.com/apache/james-project
I build succesfuly latest commits.

Benoit

Le 04/11/2015 17:17, Robert Munn a écrit :
> Benoit,
>
> This is very good news, thank you for your contribution.
>
> I just checked out the trunk @ rev 1712396, but it did not build successfully from CLI. Do you have a known good revision in the trunk to get a successful build with this feature enabled?
>
> This rev is failing when it tries to build the filesystem API.
>
> Robert
>
>
>> On Oct 29, 2015, at 10:49 AM, Benoit Tellier <be...@minet.net> wrote:
>>
>> Hi every one,
>>
>> A month ago, I contributed some code to James to handle quotas :
>>
>> - At the mailbox level : it means user mailboxes can not exceed the size in bytes and message count you fixed for it.
>> - At the SMTP level : If you send a mail to a full mailbox, you have a matcher to answer something like "Hey, your sending this mail to an over quota mailbox"
>> - At the IMAP level : A user can perform IMAP commands in order to check his quotas
>> - At the administration level : you can administrate quotas threw JMX using the cli tool.
>> - At the configuration level : you can choose the implementation you want.
>>
>> I didn't mentioned it earlier on this list so, it is time to do it !
>>
>> Just note that if you deploy the trunk you will need a new configuration file : quota.xml. Sample configuration can be found there : james-project/server/app/src/main/resources/quota-template.xml . I mention it as I answered and question on this today...
>>
>> Here follows a short note on configurations :
>>
>> - There is a distinction between current values and maximum allowed values. This means you can use different backends for both. Eg : (not implemented but allowed by this distinction) LDAP for max values and the current values persisted elsewhere.
>> - You may, with a few configuration work, use your own QuotaRoot resolver, and group mailbox for applying quotas using your own policies. eg : not anymore by people, but by work unit.
>>
>> The interesting part is on current value calculation :
>>
>> - You can lazy compute it and store it in RAM.
>> - Or you can update it and maintain the count in a DB. For now only Cassandra is available.
>>
>> We might want a tool to recalculate quotas...
>>
>> The advantage from the previous system (mailets) is that it is fast : there is at most one quota calculation, depending on the choices you made, the the result can be retrieved either from the data base or from the RAM.
>>
>> Benoit
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-user-help@james.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org