Stefane Fermigier

Posts for category: CPS

What a month! (Quick reflections two weeks after our Java switch)

| Comments

We announced our switch to Java two weeks ago. There was of course a lot of preparation before the announcement (besides just coding). That included: creating the new website, writing a FAQ, preparing slides, writing announcements for various media (InfoQ, TSS,…), and anticipating some discontent in the Zope community.

Well, two week after going public with the announcement, I’m glad to say that we are completely pleased with the way things went.

We already have released one of the key components of the platform, Nuxeo Runtime and are preparing to release Nuxeo Core this week. Overall, work on the project is going on at a steady pace and we are on track to meet the next milestones of our roadmap.

Our announcement got noticed both by the main Java sites, and countless blogs (including some in languages that we don’t understand without Google Translator).

There has been a little discontent, as expected, in the Zope community, but we mostly got some nice messages of people saying they understood our choice. The most heated discussions took place after Jean-Marc’s post (and its followups) supporting our change.

And, most importantly, we got many subscriptions to the mailing list, which shows there is a real interest in the developer community.

On the business side, we’ve had many calls from system integrators.

I’m especially glad to notice that in two weeks, we got contacts from several new systems integrators, telling us that, now we are using Java, they will be very happy to work with us on new projects. Consequence: we now have a commercial contact with 8 of the 10 leaders of ECM integration in France (some of them the french subsidies of international groups), as well as interesting partnership projects with a big name (I mean BIIIIG) software vendor (more on this another day).

CPS4/Z3ECM sprint, day 3, short report

| Comments

Yesterday was the third day of the Z3ECM / CPS4 sprint.

Florent and Dario are now able to create complex Zope3 schemas from the JackRabbit schemas. There is now a nuxeo.capsule package that contains just base classes and a nuxeo.jcr package that contains the parser. The next steps are to create new node types in the JCR, export them at startup, and have Zope to parse them as interfaces and schemas. Then we have to find out how to exactly use them.

Jean-Marc took the upcoming Zope 2.10 branch (w/ Philipp's and Jim's branches) and get all the ZCML files parsed and the utilities registered, etc. Then he started to look at Jim's refactoring of local utilities to use the same API. He is now half-way in getting something that works. The next step is to register these utilities in Zope 2.

Michael got the Zope 3 publisher to work in Zope 2 for ZServer.You can now use all the 4 combinations of Zope 2 publisher vs. Zope 3 publisher, and ZServer vs. Twisted.

Tarek has worked on a CPSResourceLibrary, similar to zc.resourcelibrary. It's now finished. Joachim has used it on some portlets. Tomorow Tarek is going to look into the use cases of the JS library packaged on monday in CPS 3.4.

CPS4/Z3ECM sprint, day 2, minimal report

| Comments

Yesterday was the second day of the Z3ECM / CPS4 sprint.

Michael and Lennart have got Zope 2 working on a Twisted server. They are using the Zope 3 publisher now in Zope 2. No benchmarking has been done yet. The code lives in Sidnei's publication-refactor branch of Zope2 (Sidnei did most of the work).

Tarek, Joachim and Jean-Marc have worked on CPSSkins integration. There were many branches. They finally landed on a Philikon branch where Jean-Marc did all the hard work. Tarek is now working on a "resource library" for Zope 2. Joachim is trying to use the JS library package that was created yesterday manually.

Florent and Dario have written an importer for JCR schemas expressed in CND notation. They have a parser for that and are able to build a Zope 3 schema from it. They are now stuck on the fact that the JCR can have children with the same name.

CPS4/Z3ECM sprint, day 1, short report

| Comments

The sprint has started yesterday with notable guests Jean-Marc and Dario from Chalmers, Joachim from AixtraWare, and Michael from OpenApp, and a bunch of Nuxeo guys.

The goal is still to provide Zope3 ECM components for CPS4

Yesterday morning was spent discussing the AJAX and JavaScript MVC features of CPSSkins v3 (more info in Jean-Marc's numerous messages in the mailing list, or on the z3lab website).

Then we had a discussion about the JCR content model and the JCR schemas for documents (JackRabbit's CND).

In the afternoon, work has proceeded in pairs or small groups.

Florent and Dario have investigated existing schemas sytems and are trying to find a common subset. Now, they will code and write an importer for the JCR schemas.

Lennart and Michael are looking on how to plug the Zope3, Twisted-based, publisher into Zope2.

Jean-Marc, Tarek and Joachim are working on AJAX and CPSSkins. They have created small package of all the ressources used by cpsskins so that they can be reused in CPS. The goal now is to instanciate de Zope 3 CPSSkins utilities in Zope 2, look for breakages, and fix them.

Bogdan is working on Apogee integration through ICE.

CPS lays a (big) egg

| Comments

I'm experimenting with eggification of CPS, trying to have support in place for the upcoming CPS 3.4.0 release. I already have something basic working, here is how to test it:

  1. Create a fresh Zope 2.8.4 instance (with Python 2.4).
  2. Download the Basket product from (I have tested with version 0.2)
  3. Download the CPS egg from
  4. Create a lib/python directory in your instance, and put the egg there
  5. Start Zope and play with CPS

  1. If it doesn't work, you may checkout CPS3 from SVN from and, type 'make' then 'make egg' and hack the until your egg is working (well that's how I did it anyway). Then send me the patch or commit your changes if you have SVN access.
  2. The big egg will be broken into smaller eggs. I fact, that is the main reasons to have eggs in the first place, because currently the installation procedure is not simpler that with the normal tarball.
  3. I hope the Basket product will be integrated soon into Zope, though I understand it's already too late for Zope 2.9.

BTW: kudos to chrism for the Basket product!

Next CPS Bugday: next Wednesday (dec 14)

| Comments

Next CPS bugday will happen on IRC channel #cps next wednesday (dec 14). There are still 77 issues left before we release CPS 3.4.0, but we are confident that the number will drop to a less spectacular level with the help of the CPS developers community at large, and the dedication of the CPS core team.

For more info on CPS development:

  • The cps-devel mailing list.
  • The Trac (with SVN browsing, timelines, roadmap and outstanding issues).
  • The #cps IRC channel on

Transparents du séminaire "Perspectives 2006" publiés sur

| Comments

Je viens de mettre en ligne sur le site de Nuxeo les transparents de nos présentations (ainsi que celle de la CNCC) lors du séminaire "Perspectives 2006" que nous avons fait fin septembre.

Détail amusant: il parait que Microsoft avait aussi un séminaire baptisé "Perspectives 2006" le même jour. Enfin, on ne peut pas dire qu'ils nous ont fait de l'ombre, la salle que nous avions réservée était pleine et tout le monde était content.

CPS 3.3.7 to be released this week

| Comments

It won't include Jean-Marc Orliaguet's work on "boxless setup" (rendering based only on portlets) which is still a bit instable and should wait for theCMFSetup Geddon.

So, CPS developers, please don't try new funky stuff this week (or try it in branches) and keep fixing bugs if you can.

This release already looks like one of the best and strongest since the 3.3 branch has been started. Let's keep up the good work until friday.

Second CPS bug day tomorrow (2005/10/27)

| Comments

Please everybody join us in #cps on IRC on tomorrow (27 october 2005).

The goal of  this bugday is to fix as many bug as possible for the upcoming 3.4 release.

This stable release will include, among all bugfixes several enhancements:

    * Zope 2.8.1 and CMF 1.5.3 required
          o Zope 2.8 gives much better conflict behaviour
    * Full CPSSkins integration
          o No more boxes
    * Optimize document indexing
          o Indexing done once at the end of the transaction
          o Correct for multilingual documents
    * Packaging
          o CMFSetup
          o Business templates
    * Notification management
          o i18n of notifications
    * User management
          o Default to CPSUserFolder
          o LDAP profiles
          o PAS with directories
    * Functional modules
          o CPSWiki
          o CPSBlog
          o Comments

CPS Bug Day today !

| Comments

As anounced in the mailing lists, but not on this blog, today is the first "CPS Bug Day".

We intend to triage and fix a maximum number of bugs and issues in the current development branch (CPS 3.3.x), to prepare the next CPS 3.3.6 release (hopefully the last one before CPS 3.4).

So if you are interested in helping the CPS team, please join the #cps channel on IRC (on the Freenode network).

CPS 3.3.3 soon to be released

| Comments

With the CPSSkin / CPSPortlet integration and the port of the old boxes-based portal configuration to the new system, we now have an awesome tool to customize the look and feel and the user interface of a CPS instance.

CPS 3.3.3 will be deployed next week in a variety of our projects, including our own intranet,cps-project and a

Slides tutoriel Zope/CPS @SolutionLinux

| Comments

Voici mes slides.

Avec une nouvelle définition de Zope:

« Zope » est un ensemble de technologies innovantes et agiles qui permettent de réaliser par assemblage de composants des applications web collaboratives

Et 5 nouveaux slides sur les best practices.