Platform Explorer / Nuxeo Platform 2021

Bundle org.nuxeo.ecm.quota

In bundle group org.nuxeo.ecm.platform

Documentation

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

    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.

Resolution Order

[678, 685]
The resolution order represents the order in which components have been resolved by the Nuxeo Runtime framework. This range represents the minimal and maximal orders for this bundle's components.
You can influence this order by adding "require" tags in the component declaration, to make sure it is resolved after another component. It will also impact the order in which contributions are registered on their target extension point (see "Registration Order" on contributions).

Components

Packages

Maven Artifact

Filenuxeo-quota-2021.1.19.jar
Group Idorg.nuxeo.ecm.platform
Artifact Idnuxeo-quota
Version2021.1.19

Manifest

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: root
Build-Jdk: 11.0.9.1
Bundle-ManifestVersion: 1
Bundle-Version: 1.0.0
Bundle-Name: Nuxeo Quota
Bundle-SymbolicName: org.nuxeo.ecm.quota;singleton:=true
Bundle-Vendor: Nuxeo
Nuxeo-component: OSGI-INF/quotastats-service.xml,OSGI-INF/quotastats-c
 ontrib.xml,OSGI-INF/listeners-contrib.xml,OSGI-INF/core-types-contrib
 .xml,OSGI-INF/adapters-contrib.xml,OSGI-INF/quota-work-contrib.xml,OS
 GI-INF/quotasize-service.xml,OSGI-INF/operations-contrib.xml

Exports