Usages and Quotas

From AlfrescoWiki

Jump to: navigation, search

IMPORTANT: This document details the new user usage/quota feature for Alfresco ECM, available in Labs 2.9 and Labs 3.0.

Contents


[edit] Introduction

This new management feature enables Alfresco ECM to track user usages within the DM repository. It also allows admins to, optionally, set user quotas.

[edit] User Usages

Alfresco will maintain user usages for content owned by the user.

  • The usage is based on the content size (in bytes) and is typically displayed in Kb, Mb or Gb
  • The current usage is shown in the Alfresco JSF client, on the 'User Profile and Settings' page (in the'Management' section)
  • The usage is also listed on the 'Maintain System Users' admin page
  • The usages are maintained for a given store (or set of stores) which by default is configured to workspace://SpacesStore

[edit] User Quotas

The admin user can optionally set quotas for a given user.

  • These can be set when creating/editing user details, and are also listed on the 'Maintain System Users' admin page
  • If a user tries to add or edit content (via any repository interface) such that usage will exceed their current quota then the user will see an error message such as: 'User quota exceeded'

[edit] FAQ

Is it possible for a user to have a usage that is greater than their quota ?

Yes, under certain circumstances. For example, an administrator may lower a user's quota such that it is below their current usage.

If I measure the physical size of the content store then there appears to be a slight discrepancy compared to the total user usages ?

The internal 'System' account is not currently defined as a person in Alfresco and hence does not appear in the 'Maintain System Users' page. The 'System' account will typically create some items when bootstrapping a new repository. For the time being these 'System' usages are maintained which can lead to a slight discrepancy.

[edit] Implementation

Refer to:

  • public-services-context.xml (ContentUsageService)
  • usage-services-context.xml (*)
  • scheduled-jobs-context.xml (userUsage*)