No description, website, or topics provided.
Java HTML JavaScript
Switch branches/tags
release-10.2 release-10.2-I20180705_0132 release-10.2-I20180703_0125 release-10.2-I20180515_0125 release-10.1 release-9.10 release-9.10-HF14 release-9.10-HF13 release-9.10-HF12 release-9.10-HF11 release-9.10-HF10 release-9.10-HF09 release-9.10-HF08 release-9.10-HF07 release-9.10-HF06 release-9.10-HF05 release-9.10-HF04 release-9.10-HF03 release-9.10-HF02 release-9.10-HF01 release-9.3 release-9.2 release-9.1 release-8.10 release-8.10-HF35 release-8.10-HF34 release-8.10-HF33 release-8.10-HF32 release-8.10-HF31 release-8.10-HF30 release-8.10-HF29 release-8.10-HF28 release-8.10-HF27 release-8.10-HF26 release-8.10-HF25 release-8.10-HF24 release-8.10-HF23 release-8.10-HF22 release-8.10-HF21 release-8.10-HF20 release-8.10-HF19 release-8.10-HF18 release-8.10-HF17 release-8.10-HF16 release-8.10-HF15 release-8.10-HF14 release-8.10-HF13 release-8.10-HF12 release-8.10-HF11 release-8.10-HF10 release-8.10-HF09 release-8.10-HF08 release-8.10-HF07 release-8.10-HF06 release-8.10-HF05 release-8.10-HF04 release-8.10-HF03 release-8.10-HF02 release-8.10-HF01 release-8.3 release-8.2 release-8.1 release-7.10 release-7.10-HF43 release-7.10-HF42 release-7.10-HF41 release-7.10-HF40 release-7.10-HF39 release-7.10-HF38 release-7.10-HF37 release-7.10-HF36 release-7.10-HF35 release-7.10-HF34 release-7.10-HF33 release-7.10-HF33-I20171026_0823 release-7.10-HF32 release-7.10-HF31 release-7.10-HF30 release-7.10-HF29 release-7.10-HF28 release-7.10-HF27 release-7.10-HF26 release-7.10-HF25 release-7.10-HF24 release-7.10-HF23 release-7.10-HF22 release-7.10-HF21 release-7.10-HF20 release-7.10-HF19 release-7.10-HF18 release-7.10-HF17 release-7.10-HF16 release-7.10-HF15 release-7.10-HF14 release-7.10-HF13 release-7.10-HF12 release-7.10-HF11 release-7.10-HF10 release-7.10-HF09 release-7.10-HF08
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Nuxeo Quota

Nuxeo Quota module.

About this module

This module provides a pluggable infrastructure to be able to collect some real time statistics about content in the repository and enforce rules (like Quota).

Principles

The QuotaStatsService service provides an extension point to register QuotaStatsUpdater that will be responsible for computing the statistics. The QuotaStatsUpdater will be called:

  • via a Synchronous Event Listener
  • in batch mode for initial computation

The batch mode is triggered via the Admin Center.

Default contributions

There are 2 default contributions to QuotaStatsService:

documentsCountUpdater

Counts the number non folderish objects and maintain the total number on the parent. Count data is stored in a documents_count_statistics.xsd schema that is automatically added to each folderish document during computation.

documentsSizeUpdater

Computes Blob size on each item in the content tree. Each content item in the tree will have an additional schema documents_size_statistics.xsd that contains:

  • the inner size of the object (innerSize): size of all the blobs in this document (in bytes)
  • the total size of the object (totalSize): inner size + size of all the children (in bytes)
  • the allowed maximum total size (maxSize): maximum quota

If the maxSize is set to -1, then no quota check is performed, otherwise maxSize enforcement is done synchronously.

documentsSizeUpdater works in a 2 phases manner:

  • synchronously : check what has changed in the document and checks quota
  • asynchronously : update counters on item and all parents

The synchronous execution that checks Quota will rollback the transaction and raise a QuotaExceededException if the current transaction would break the quota rule.

The current implementation of documentSizeUpdater:

  • handles checks create / update / delete / move / copy
  • takes into accounts the versions (Document with 2 versions will have a total size of inner size + size of the versions).

Automation API

2 Automation Operations are defined to be able to remotely manage the Quota on a given Document:

  • Quotas.GetInfo: to retrieve informations about the Quota Info of a Document (innerSize, totalSize and maxSize)
  • Quotas.SetMaxSize: to define the maximum size allowed in a given Document

Building

mvn clean install

Deploying

Install the Nuxeo Quota Marketplace Package. Or manually copy the built artifacts into $NUXEO_HOME/templates/custom/bundles/ and activate the "custom" template.

QA results

Build Status

About Nuxeo

Nuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.