We haven't heard a lot about Open Source Enterprise Content Management
(ECM) until now... In fact, until the launch of Alfresco. There is some buzz in the US
online IT press, calling it "the first Open Source ECM project".

Well... it's interesting. Interesting because it put the words
"ECM" and "Open Source" together for the first time in the IT
analysts and IT press mouths. Interesting also because it is another
step ahead for the strength and the public image of the open source
model. Nowadays, Open Source software is powering the Internet. The
whole Internet (your mail and most of your web pages are delivered by
Open Source software, to be short but there is a lot more)... Isn't
it sufficient? If you still have doubt about this model's viability,
please read the following article from Marc Fleury:
Is Open Source capitalism, socialism or communism?).

To be honest, I think it's really unfair to say that Alfresco is
the first project that put open source software into the ECM arena.
The truth is: Nuxeo wasn't founded by Documentum's or Interwoven's
honchos, but... Nuxeo has been doing Open Source ECM since 4 years
now! 4 years spent to imagine, create and build a strong ECM
platform. In fact, I don't think you have to hire one of Documentum
heads to do ECM! Has any company hired heads of Microsoft to create
Linux? Apache? Sendmail? Postfix? or... MacOS X? Well, of course not
(otherwise I wouldn't have written it, would I ? ;-), being one of
Documentum's heads doesn't give your hands gold-making fingers
(neither open source community management experience, by the

At Nuxeo, we have been doing open source ECM since 4 years now.
CPS, an Open Source software that works in the real world for real
customers. Not for VC. For customers. And we believe this is the main
point. CPS is a global ECM platform with an amazing functional scope.
And we are very proud of it. Please give this article a chance... I
will try to explain the history of the CPS project, why it's really
about ECM, what is our approach, our passion...

Web Content Management vs Enterprise Content Management

Web Content Management (WCM) describes applications that manage
websites' content. It's all about pages, sections, and some services.
WCM applications usually allow users to easily create and publish
content on web sites / portals. The open source world is highly
represented in this market with tools like Plone, Typo3, SPIP, Mambo, and hundreds more.

OTOH, Enterprise Content Management (ECM) addresses globally all
document/knowledge related needs of an organization. ECM solutions
are expected to manage all digital assets providing corresponding
services (ex: indexing, search, workflow engine, archiving, business
rules, collaboration, etc.). The final goal is to make all kind of
information and tools to converge. Nowadays, information is the core
value of companies: the convergence is a critical issue. Information
needs to be managed, shared and leveraged to improve organizations'
performance and value. That's our passion. We hope you will share

While open source WCM applications are very present, this is not
the case for the ECM market, still very dominated by proprietary
software vendors with customer-locking solutions (and one can imagine
how difficult it would be to change the platform on which the whole
information / knowledge management infrastructure is based on. CPS
has been proving on the battle field that it offers a viable
alternative to those solutions since 3 years.

What is Nuxeo CPS?

Nuxeo CPS stands for Collaborative Portal Server and has much
evolved since this name was given... Right now, Nuxeo CPS is basically a
generic, extensible, standard-based, enterprise-grade global platform
for managing digital resources. Nuxeo CPS is, at this time, the only open
source software that can compete with major proprietary software
within the ECM market.

Nuxeo CPS is composed by a core (Nuxeo CPS Platform) and many additional
components. Here are the major features and components provided
within Nuxeo CPS:

  • CPSPlatform: the most complete ECM framework
    available as open source software. It offers a full-featured
    content / document management and collaborative work platform.

    • CPSCore: resource management core using a
      content virtualization and contextualization principle. It
      handles content storage model and content versioning.

    • CPSSchema / CPSDocument: MVC framework to
      manage document types providing a high level framework that
      defines schemas / forms for your document type. You don't need
      to type HTML, SQL or Javascript to create your forms and store
      your data.

    • CPSSubscription: a full-featured
      user-notification framework that sends notifications to users
      when events (to which they have subscribed) occur.

    • CPSWorkflow: a document-based workflow
      engine with dynamic schemas support (inspired by the
      activity-based workflow model) that can handle any
      document-based business process. This
      hybrid model
      gives all the power and flexibility needed
      while keeping workflow modeling simple enough to be easily
      understood by users.

    • CPSEventService: an event service that
      allows objects/components to react on events sent by others
      without explicitly knowing them.

  • CPSDirectory: a full-featured directory
    management service (that supports LDAP, SQL and ZODB storage) that
    can, for example, create a dynamically aggregated directory with a
    multi-source storage (for example: some data provides from an
    central LDAP server, and others from an SQL database — think
    to a virtual view of several directories / databases).
    CPSDirectory is the most complete directory management component
    available as open source.

  • CPSSkins: CPSSkins is an impressive theme
    framework for CPS. It allows to completely create the look and
    design of a CPS site using a web interface in a WYSWYG way (using
    drag and drop, CSS visual design, page layout creation, etc.). Some
    flash demo are available here

  • CPSPortlet: a complete portal engine based on
    JSR-168 concepts. It interacts with CPSSkins, thus allowing portal
    manager to define the design and the content of the site (using
    drag and drop of portlets), and users to design their own

  • CPSRelation: relation service based on RDF
    (using the Redland library) that can manage document relations (we
    already have several databases running with more than 1 million

  • CPSMailAccess: full-featured webmail engine,
    based on IMAP, that indexes mails inside CPS and allows users to
    search in their mails as well as in the company's document base.
    CPSMailAccess also provides a nice AJAX (drag & drop mail to
    folders, auto-save, address completion, etc.) interface, mail
    filtering, mail tagging, virtual folders, mail-to-document
    conversion, etc. CPSMailAccess integrates e-mail directly into the
    document management platform.

  • CPSSharedCalendar: complete calendar engine,
    based on the iCalendar standard, that offers advanced calendaring
    features like meeting setup (with free period finding), mail
    notifications, virtual calendar for aggregating events, iCal /
    Sunbird integration, etc.

  • CPSGeo: a map service component that
    interfaces CPS with MapServer. It allows to geo-position documents
    as well as to render documents on a map. CPSGeo offers an
    innovative way to browse a document base, really accurate for
    geo-related businesses.

  • CPSRSS: RSS/ATOM syndication service that
    exposes search and folders as ATOM/RSS feeds and consumes external
    syndication feeds to fill portlets.

  • CPSRemoteController: offers a clean XML-RPC
    API to easily control CPS from other applications.

  • CPSBlog: blog service component for CPS, fully
    integrated with the platform, that provides personal blogs, blog
    aggregators, collaborative blogs, tagging, ATOM API support,

  • CPSWiki: wiki service component for CPS, fully
    integrated with the platform, that provides several dynamic views,
    backlinks, printable views, differences between versions,

As you can see, Nuxeo CPS offers a very wide scope (both technically, as
a framework, and functionally as an out-of-the-box applicative
solution). It can deliver efficiently many ECM projects, from
collaborative workspaces to pure document management, including
business processes, specific services and web publishing portals.

Nuxeo CPS project history

The Nuxeo CPS project started 4 years ago, and the first public release,
under the GPL, was CPS 2.0. At that time, Nuxeo CPS was focused on Content
Management with a collaborative twist.

We then found out that our prospects and customers were looking
for a stronger platform that could handle workflow-oriented large
collaborative intranets and document management systems. Briefly, the
market began to ask for a credible alternative to proprietary
solutions available on the market at that time. We decided to stop
CPS 2.0 development to create from scratch a robust, scalable,
fully-extensible, component-based ECM platform that would be able to
handle large document management projects, based on our previous

Of course, CPS 3 wasn't able to address all ECM domains from the
beginning, but its architecture was definitely designed following
this vision. After the core was ready, we started to implement
customers' projects using the platform. Each project has brought
improvements and new features to the core platform (at the technical
level or the functional level). CPS 3, with the release one years ago
of CPS 3.2, is now a complete ECM platform that can compete with
major proprietary vendors (Documentum, Interwoven or OpenText).

The upcoming release, CPS 3.4, offers a lot of improvements and
adds highly innovative features in the ECM world (it will be the
topic of a future post).

A mature open source project

Nuxeo CPS is a Open Source project, supported by Nuxeo and an active
community of developers and users:

  • Nuxeo CPS development is open (svn.nuxeo.org, cps-devel)
    and very active (more than
    10Â 000+ commits in 11 months = more than 40 per

  • Nuxeo's development team is composed of 20 developers, who are
    improving CPS everyday. This ensures CPS a quick and strong
    evolution (core improvement, stability and new features).

  • More than 10 developers, external to Nuxeo, are actively
    contributing to the platform (new commiters are welcome

  • Nuxeo is a major contributor of the Zope application server (on
    which CPS is based) and employs 5 Zope core developers well known
    in the Zope community.

  • More than 1000 Nuxeo CPS instances are in real production at the
    moment across the world.

  • Nuxeo CPS is publicly documented and fully tested with automatic unit

  • Nuxeo CPS is composed of 170 000+ python lines of code (equivalent of
    500k to 700k in Java), being thus one of the largest Python project
    (along Zope and Chandler).

Company and customers backed

Nuxeo CPS is used by many large and small IT companies that offer
services on this platform (with or without a Nuxeo business
partnership). We are very proud to create with this platform a
dynamic ecosystem growing every day.

Nuxeo CPS providers are available in France, Europe and across the

Some large IT companies...

...and some smaller!

Supported by Nuxeo and a growing set of IT companies, Nuxeo CPS is
chosen by top tier companies and government agencies for critical

  • STMicroelectronics (800+
    users): large collaborative platform to manage hardware and
    software specifications.

  • CEA (10000+
    users): collaborative platforms (more than 100 instances are

  • SNCF (3000+ users):
    collaborative platforms (more than 100 instances are live).

  • Central
    Bank of West African States (BCEAO, 3000+ users): global
    intranet with mail and calendaring (replaces IBM Lotus Notes /

  • French Press Agency
    (AFP, Third news agency in the world): news management
    infrastructure for multimedia desks. This project include a
    full-feature rich client based on Eclipse RCP technology.

  • Suez Group (400+
    users): global collaborative platform for the group.

  • CNCC (French Institute of
    Statutory Auditors, 15000+ users): large global extranet that
    offers services to statutory auditors, and technical documentation
    distribution using a rich client that synchronizes with the portal
    (the rich client, CNCC Reader, is based on RDF and Eclipse RCP

  • Many French Ministries and local government
    : Interior (website,
    collaborative intranets, mail management), Culture (website, global collaborative
    intranet), Agriculture (websites,
    intranets), Justice(global
    (e-)mail management application), City of Lyon (public web portal), local
    departments / agencies, etc.

  • and a lot more, larger or smaller... ;-)

Why should you use Nuxeo CPS?

If you are looking for a credible alternative to solutions offered
by Microsoft, Documentum or OpenText, you definitely want to have a
look at Nuxeo CPS. That is to say, if you prefer to focus on adapting the
software to your business rather than paying licenses...

Nuxeo CPS can deliver at least the same features as a major proprietary
solution with more flexibility and a lower price (which won't be
based on users licenses). This allows organizations to really control
the cost of their ECM platform and maximize the ROI of the

Maybe it's time to adapt software to your needs rather than
adapting your needs to them (and it's definitely easier and more
economically efficient to do so using an open source software than
proprietary software).

What's coming next?

The Nuxeo CPS development team is planning a lot of technical and
functional improvements, all based on fully open-standards. Our goal
is to implement new open standards to leverage existing technologies
and tools. For example, we are working on XForms support in Nuxeo CPS to
easily share forms between web applications and rich client
applications (based on Eclipse RCP).

The main improvement we have been planning for the upcoming Nuxeo CPS
development cycle (after 3.4) are :

  • Workflow: WfMC XPDL complete

  • Forms: XForms

  • Web Interface: full AJAX interface

  • Rich Client framework for ECM application, based on Eclipse Rich Client Platform
    technology, which we call Nuxeo Apogee (already used in two
    real-world projects).There are ongoing discussions with the Eclipse
    Foundation to host it as an Eclipse Foundation project.

  • Zope 3 migration (already begun via the community effort called
    Z3ECM launched 10 months ago by
    Nuxeo and a community of contributors)

Try it now! :-)

(Post originally written by Eric Barroca on the old Nuxeo blogs.)