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
- 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.
- CPSCore: resource management core using a
- 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
- 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!
- Modulix (France)
- Pilot Systems
- Logilab (France)
(France/RÃƒÂ©union, Asia-Pacific area)
- Nuxeo Romania (Romania)
- OpenApp (Ireland and
- Manitacc (Australia)
- Infoserv / Touch Technology
(Senegal and West Africa)
- E-Sight (Madagascar)
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
- CEA (10000+
users): collaborative platforms (more than 100 instances are
- SNCF (3000+ users):
collaborative platforms (more than 100 instances are live).
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
agency: Interior (website,
collaborative intranets, mail management), Culture (website, global collaborative
intranet), Agriculture (websites,
(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
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! :-)
- CPS Community
User / webmaster complete guide (PDF)
- Nuxeo contact: do not
hesitate if you would like more information
(Post originally written by Eric Barroca on the old Nuxeo blogs.)