The Eclipse Apricot Project (originally titled "Eclipse Enterprise Content Repository Project") is a proposed open source project under the Eclipse Runtime Project. Apricot stands as a nickname for the project, a.k.a under the more official, but less often used name of Eclipse Enterprise Content Repository Project. This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We are soliciting additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.
The domain of Content Management [1] has grown significantly in recent years and has turned into a key function in modern organizations of all kinds. This raised the need for Content Management Systems (CMS), and turned the technology underlying Content Management Systems into a necessary infrastructure.
Different attempts at building standard and reference technologies for Content Management systems and Content Repositories have been made, but never really succeeded in reaching the objectives of becoming a real standard. The term Content Repository is used here as defined on Wikipedia [3]: "A content repository is the technical underpinning of a content application, like a Content Management System or a Document Management System. It functions as the logical storage facility for content." A growing number of content management applications are still highly reliant on customized development for the most part, OR on a full implementation of proprietary business software products. Some Open Source software projects, such as the Nuxeo Enterprise Platform, have started to emerge, but no standardized mid-level software components have emerged to handle the commodities of a Content Repository and the functions underpinning a Content Management System. This would enable developers to implement applications without having to re-implement commonly used functions.
In the meantime, the Eclipse Foundation has developed and grown in multiple directions. Its projects are now widely used by developers in many domains. The Equinox project, for instance, has become a reference for Java applications relying on the OSGi specifications. The Virgo project offers an OSGi-based Java application server, based on Equinox.
Nuxeo, a software company [4] in the Enterprise Content Management space, has developed its products (Nuxeo Document Management, Nuxeo Digital Asset Management, Nuxeo Case Management Framework) over the years on top of the Java technology, adopting the OSGi standard and building a foundation for a strong, module-based Content Repository. All Nuxeo products are available under an open source license. The Nuxeo Platform has been developed with a robust, modular architecture that relies on a core software component for the content repository engine, and additional modules for extended features such as User Interfaces or specific functionalities. Every Nuxeo application relies on this core software, a collection of Java modules delivering all the services expected from a Content Repository. The whole platform is architected using an extension point model, making it modular and highly extensible in a similar way to "Eclipse".
The idea of the Apricot Project is to create and develop within the Eclipse Foundation a reference Content Repository implementation and to initiate this implementation in the Eclipse foundation based on an initial contribution made of the core of the Nuxeo platform.
Projects a Content Repository implementation that provides the base services that could be used for any content application, implements standards, and completes and leverages the existing Eclipse Equinox and Virgo projects, as well as others.
The scope of the project is to provide developers with a reference implementation for a content repository that is accessible through APIs. It will serve as a solid and efficient base for developing Content Applications. By "Content Applications," we mean any application with a primary function of managing structured or semi-structured content in any way. These could be Document Management applications, Digital Asset Management applications, Case or Record Management applications, Web Content Management applications, or simply business-specific applications.
The various APIs included initially in the targeted scope are:
Each of these has a different role:
Other APIs might potentially be added to the project at further stages.
As entitled, the Apricot Project will implement the functionalities expected in a content repository. It will provide all the services required to capture, manage and publish content of different types. It will also provide ways to define different content models to enable the building of applications that fit different use cases.
The services provided by the content repository software via the various APIs are:
In addition to those services, two pieces will be contributed in a second phase:
The choice of Eclipse as a host organization for this open source project was driven by different criteria:
In addition to that, and equally as important from a technical point of view, the Apricot Project was a good fit technically and already relies on some Eclipse projects, such as Equinox, Virgo, Jetty, P2.
Nuxeo is offering a re-purposed version of some of the core technology of the Nuxeo Enterprise Platform as an initial code base for the project to cover the scope introduced above.
The following packages of the Nuxeo Enteprise Platform will be included in the initial code base of the Apricot Project:
They will be refactored before being contributed, to satisfy the requirements of the Eclipse Foundation.
Additional resources will be added as well, such as the support for
CMIS [2] and a Simple authentication implementation to illustrate how
the project can be integrated with a user management layer.
The project leads will be initially the following people:
The following individuals are proposed as initial committers to the project, in addition of the project lead, they all have provided significant contributions to the existing code base:
We welcome additional committers and contributions as explained below.
We expect the Apricot community to grow and we are prepared and looking forward to extending the initial set of committers beyond individuals working for Nuxeo. The members of the existing Nuxeo community who already contribute to Nuxeo software projects will be invited to join the Apricot project.Other developers looking for content repository services who have knowledge about this domain will be welcome to join the developer community. This will accelerate the growth of the community, which is already active and growing. Both the initial committers and Nuxeo as a company will actively promote and support this effort of broadening the use of the Project and its developer community.
The main objective of the Nuxeo Enterprise Platform, and of the forthcoming Apricot Project, is to provide developers with a powerful, reliable, yet easy-to-use development platform for building content applications. With more than 1500 installations known, Nuxeo Enteprise Platform is already used by a large community of developers (who are not necessarily developing it as a member of the developer community).
Growing the user community is another goal of the Apricot Project, and Nuxeo as a company will actively promote this effort in sync with the Eclipse foundation. At launch, the existing Nuxeo user base will naturally join the user community. We hope that the synergy with other Eclipse projects will contribute to accelerate its growth.
No legal issues are foreseen and Nuxeo will repurpose its initial code base to be distributed under the correct licencing required by the Eclipse platform. Dependencies to external software will also be reviewed and cleaned up when needed.
Nuxeo, as the initial contributor. Nuxeo is also active in a number of Open Source projects and organisations who are interested in the project. All members of the Nuxeo community are potential interested parties as well.
Andrea Zoppello, as project leader of eclipse ebpm project (http://www.eclipse.org/ebpm )
as possible synergies between eBPM and Apricot are foreseen, in
particular
for complex projects where Context and Document Management need to be
integrated with processes.
Actuate Corporation (http://www.actuate.com),
as
possible
synergies
between Apricot and the BIRT project are foreseen, as
well as with other technology used by Actuate.
Intalio Inc (http://www.intalio.com),
represented
by
Hugues Malphettes as a user of Nuxeo Open Source
software and of the future Apricot codebase as provided on GitHub and a
Committer on several Eclipse RT Projects.
[1]:http://en.wikipedia.org/wiki/Content_management
[2]:http://en.wikipedia.org/wiki/Content_repository
[3]:http://www.nuxeo.com
[4]:http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cmis
Date | Change |
---|---|
28-January-2011 | Document created |
03-February-2011 | Updated after EMO review |
09-February-2011 | Updated with new contributor and minor typos fixed |
10-February-2011 | Updated with 1st mentor |
21-February-2011 |
Updated with 2nd mentor and
contributor |
2-March-2011 |
New interested parties |
5-April-2011 | Last update before proposing
first contribution. New interested party and official Project lead |
14-April-2011 | Project renamed. |