ZopeMag's mascot the ZOPE fish


Article Finder
People
Issue 8 - Revision 8  /   September 26, 2004 


 
  ZopeMag Links:
Latest Issue
About the Fish
Issue 10
Issue 09
Issue 08
Issue 07
Issue 06
Issue 05
Issue 04
Issue 03
Issue 02
Issue 01
 
 
Downloads
     
  Letter from the Editor:
   Issue 8

Interviews:
Each issue we interview important people in the Zope world.

  Stéfane Fermigier

Articles:
Throughout the quarter we cover topics of interest to Zope developers, designers, and users.

  Fine Grained Permissions

  Archetypes Part III

  Intro to Silva

  Profiling Zope

  Intro to CPS

Product Review:
Too many Products, too little time? ZopeMag keeps you up-to-date which Zope Products are worthwhile checking out.

  DocFinderTab
  mxODBC DA


Guides:
This quarter we bring you a new SuperGuide. Our miniGuides and SuperGuides give you the background knowledge you need to mastering Zope.

  miniGuide to Zope Hosting
  SuperGuide - Zope for Newbies (Part II)
 
 
Downloads
     
  URLs / Download
Products we talk about in this issues Articles and Reviews

     

Photographer: - / Illustration by Lia Avant
interview
Stéfane Fermigier - CEO Nuxeo

Stéfane Fermigier
CEO of Nuxeo
- - - - - - - - - - - -

By ZopeMag Staff | June 6, 2004



When did you first discover Zope and what was your first reaction?

I came to Zope via Python: I had been a Python fan since 1995, using it first for computational number theory and web crawling projects, them for web development. Python is a very powerful language that gave me a x5 to x10 productivity gain over was I was previously doing in C / C++ (and a similar increase in readability/maintainability over Perl).

Then I started doing Web projects, first for my own fun (the then famous search engine FermiVista!), then for hire. With Python, it was easy to write my own "application server" from scratch for each new project, but at some point I realized (after my 3rd or 4th attempt at a generic app server + template library + persistence engine) that Zope had everything I needed (including some powerful innovative concepts like acquisition), that it was gaining tremendous momentum due its open sourcing in 1998, and that it was a safe bet for the company I was planning to found at the time.

So I switched all my web developments to Zope, wrote a couple of articles about it in the french computer press, and then the Zope market started to take off in France so I pretty much focused on it.

I still enjoy writing pure Python code a lot, though, like small or medium-sized administration scripts.

Since the time I switched my developments to Python and Zope, the only other life-changing epiphany for me (in the technology field, of course) as been the unit tests and test-driven development attitude, that emerged from the Extreme Programming movement around 2000.

What made you want to create CPS? What makes CPS unique?

CPS was created at the request of some of our customers, who wanted mostly three things: content management and publishing, a collaborative work, and a portal. When competing with other IT companies in a call for tenders, it is quite often than our competitors, especially in the proprietary / Java worlds, must propose using and integrating 3 or 4 different products just to match the functional scope of CPS (for instance: Documentum + eRoom + BEA portal, all of this on top of Oracle). Of course, since CPS provides all of this out of the box, that means less development and integration work, and of course no licensing costs, so we usually end up winning the contract!

Another important and differentiating point with CPS is that its functionalities evolve according to the actual needs of our customers (or third-party contributors), and our role in this ecosystem is to integrate those developments is a coherent, stable and tested framework and product.

Part of our role within our partnership with big systems integrators like Unilog or Capgemini, or with IT services within big companies, it to provide these managed, stable, maintained releases, including sometimes specific customisations, so they can deploy them internally or for their customers according to their needs.

You can read more about the history and future of CPS, and its current architecture and functional scope, in the slides for the talks we did this week at EuroPython: http://zope.org/Members/nuxeo/news/ep2004-slides

Other than CPS What Zope Products do you use regularly?

The CPS distribution includes several third-party products: the CMF, Localizer, PortalTransforms. Another astounding third-party product we're using is CPSSkins, a visual editor for CMF, CPS and Plone skins that we like so much that we included it in the latest CPS development distributions.

We've also started to use pieces of ERP5, the ERP project based on Zope and the CMF, and plan to switch at least parts of our internal accounting system to ERP5 during this summer.

We're also using several developments-level products: ZopeTestCase, ZopeProfiler, PTProfiler.

Other Zope products we use, or plan to use, are more infrastructural, like ZEO, APE and the various database connectors.

What Software would you like to see developed for Zope?

On the framework-level, I have been eager for a long time to see a object-relational adapter for Zope, and, as I said before, I made at least 3 attempts to write one that immediately proved much too specific and too limited to be released.

My belief now is that such a thing must be integrated within the existing Zope architecture, including the ZODB and the ZCatalog, and so for me the two most promising projects in that respect are the ZSQLCatalog, by Nexedi, that still stores objects in the ZODB but indexes them in an SQL database for greater speed and scalability, and APE, by Shane Hathaway.

What do you think about Plone? How does CPS compare?

Plone is another project that aims at providing an out of the box content management solution based on the CMF, by starting as a simple skin for the CMF. Our feeling is that Plone is still mostly positioned as a Web Publishing application, whereas CPS, both as a product and a framework, has a wider functional scope.

Our approach has been different: Plone started by providing a better skin (user interface) system for the CMF, whereas we started with deep architectural work on top of the CMF and DCWorkFlow to provide the document management and document types creation machinery (CPSCore, CPSSchemas), then added a default (and extensible) user interface (CPSDefault), default document types (CPSDocuments), a default users and groups management system based on directories (CPSDirectory), and an installation framework (CPSInstall) to ease the setup and configuration of all the CMF and CPS services.

This infrastructure work is now finished. The CMF and CPS now provide all the major services developers expect from a content management framework, according to a panel discussion we had at EuroPython, including: workflow, users and groups management, forms creation and validation, document types, events, versioning, i18n, events.

Now our work has shifted to providing more or improved user-level services in the form of additional products: groupware (shared calendar and webmail), chat, user forms, newsletters and events subscriptions.

What kind of articles would you like to see in ZopeMag?

Well, if you ask, I'd surely like to see more articles about CPS :)

What is Courier CPS and how does it fit in with CPS?

Courier CPS is a mail management solution for public administration that was developed for the French Ministry of Interior, then made generic and released under the GPL, and is now used on other projects as well. It deals with all the incoming mails (including email, regular mails and faxes) to a directorate within the ministry, and provides two major services to civil servants: a delegation then validation workflow, by which the requests follow an dynamic chain from the top to the bottom of the hierarchy, until a reply is actually written by someone, then back up for validation, and a collaborative environment to help

Courier CPS is entirely based on the CPS framework. It includes some improvements (dynamic workflow chains) to DCWorkFlow that are currently available in a specific package but will be made more generic in the near future.

Courier CPS was developed by us (the main developer at Nuxeo was Julien Anguenot) within our partnership with Capgemini, and it was released publicly at the request of the Ministry of Interior. The whole project is part of the ADELE programme within the french Government, which aims at introducing IT technologies in the administration, for better collaboration within the administration, and better communication between the administration and the people.

Are all CPS Products free or do you also sell commercial products on top of CPS?

All our product developments are free / open source software released under the GPL. That's what our customers demand, and that's what we like to do, so everybody is happy :)

Toward the end of the year we did a huge amount of work on security and authentication (i.e., hundreds of hours). This work is being released to the community this month.

Of course, only generic developments are released publicly. There are still customisations that are done on a project basis and are not useful to a wider audience.

So we view our role as both an (open source) software vendor, and a systems integrator. But for many projects, we share the duty of systems integration with other companies, which helps us to focus on the higher level value roles of framework and products creation and improvement, and technical expertise like mentoring junior developers.

This way, we can commit important resources to improving the CPS framework and product towards greater scalability and wider functional scope, while keeping it 100% free software.

END of Interview.




shim
shim  ZopeMag is committed to bringing you the best in Zope Documentation. shim
shim


Home   Subscribe   FAQ   Contact   Write for us   Privacy Policy   Weekly News   PyZine   opensourcexperts.com  

Reproduction of material from any of ZopeMag's pages without prior written permission is strictly prohibited. Copyright 2003 - 2005 ZopeMag Zope/Plone hosting by Nidelven IT