Archive for April, 2006
Zope community portraits, meet the guys
I have started to collect portraits from Zope community people on this page. Meet them !
(Post originally written by Tarek Ziadé on the old Nuxeo blogs.)
Diving into Funambol
In order to understand Sync4J (also named Funambol), there are many hooks
to use. First of all, the funambol data service server developer book to
understand the architecture. After reading this paper, I needed to
completely dive into Sync4J code. Hopefully, they provide an email connector
to have an example.
From now and in the following Sync4J posts, I'll write some notes about
Sync4J development and difficulties I've met.
-
First problem was to find how to get the credentials specified in the
SyncML specs to authenticate on the JCR. Here is an interesting piece of
code inspired from the email connector source:
String username = ((Sync4jPrincipal)principal).getUsername();String credentials = ((Sync4jPrincipal)principal).getEncodedCredentials();String password = Helper.getPassword(username, credentials);
The credentials are formatted in the following way:
"username:password" and encrypted. To decrypt, there is only to use
the Base64.decode() method. The login to the repository will be done
during the synchronization initialisation (beginSync())
- An
Open Source ECM: CPS Platform 4 “YellowCake” Teaser
CPS Platform v3.4 is already the most complete Enterprise Content Management platform in the open source market. Its large feature scope offers a great choice of functional components to address the whole ECM scope. This leads CPS to be used for many different document-centric applications like paper and electronic mail management for large organizations, pure document management for the nuclear industry, collaboration platform, civil-state acts management, web content management, knowledge base management, record management, intranets, and a lot more…
Our R&D team has been working for a few months on the next major release of CPS: CPS 4 (codenamed YellowCake). The goals are to open CPS to other technologies, leverage major industry standards, enable high-end scalability and keep all the good features and technical coherence already present in the framework. We have worked a lot on prototyping and experimenting some deep improvements to the core … Read more
Nuxeo joins JSR-283 and the AIIM’s iECM project
Following our goal in opening CPS Platform to industry standards, I am pleased to announce that Nuxeo has joined the JSR-283 (aka Java Content Repository 2) expert group and the iECM project at AIIM.
Florent Guillaume will represent Nuxeo in the JSR-283 expert group. He will bring more than 5 years of experience building content repositories, versionning systems and managing content for large organizations.
The iECM project, hosted by the AIIM, aims at creating a new international standard to ease ECM systems interoperability. The project statement says :
Interoperable Enterprise Content Management (iECM) will create an interoperability framework that enables information sharing across organizational and system boundaries.
I am delighted to represent Nuxeo in this project and work together with all major ECM software vendors to create this new interoperability standard. I really hope it will benefit to our customer and minimize the vendor-locking in this market.
At Nuxeo, … Read more
Easter python eggs
It's easter, and only fitting that I play with eggs, so today I have been
looking at making python eggs. Eggs are a new way of distributing python
software that gets more and more popular. This is mainly because installing
it is simple, and because an egg can contain a list of requirements, and the
installer will check if these requirements are installed, and if not, it
will look them up in the standard Python module library (known as the Cheese
Shop), and download and install them.
This means the end of long hours of downloading, compiling and installing
all those modules you need to get your python software working. You download
just the module you want as an egg and install it, and all requirements will
be installed with it, if they have been eggyfied too.
Making eggs is unfortunately a bit tricky. This is because there is … Read more
CPS4/Z3ECM sprint, Final wrapup
The week went very fast, but was very productive indeed, here’s a quick
wrapup of sprinters work:
Florent & Dario: The boys managed to write a parser to
leverage the schemas that exists in JCR into Python structures. They create
Zope 3 schemas, rather than CPSSchemas. Everything will be hooked through JackRabbit, so JCR content will
become a good citizen for beeing used within Zope 3. They’ve also created a
hierarchy of interfaces for this in Zope 3. All the work is here: nuxeo.jcr
Michael & Lennart: They struggled with Zope 2 & 3
publishers to continue Sidnei’s work and came up with an advanced prototype.
And, as this was one of the concern, they benched a bit twisted behavior in
Zope 2, using funkload and it seem
not too slow compared to zserver. The work is on a branch on
svn.zope.org.
Jean-Marc: That guy knows … Read more
Open source redemption ?
Last day I was reading a post of Luis Sala from
Alfresco and, I have to admit it, I was amazed how he turned to a better
self since he met open
source.
He seemed to me like vader quitting his mask
and seeing the world with his own eyes : stop hiding things to his clients,
have fun doing his job, stop selling licences, etc.
Is open source a miracle potion ? I really don’t think so. Nethertheless,
working in the open source industry is really amazing. I agree with you on
this point Luis. It’s a fantastic approach to satisfy our client’s needs and
the best way to produce software. Sadly, open source can not make better
personns of us. Personnaly, I prefer let that to psychotherapy.
Be fair and square, that’s how we roll at Nuxeo, since the beginning, and that’s how
we build our … Read more
CPS4/Z3ECM sprint, day 4, Javascript unit testing automation
For the last day of sprint, I wanted to set up a Javascript unit test
automation,
in order to be able to run all Js unitests like Python tests are through
buildbot.
Scriptaculous unit testing framework provides a way to do it: the tests
results are sent to a url through an Ajax call.
More infos on unit testing javascript here: Scriptaculous
Unit testing
Therefore, I have coded:
- a small python script that launches html unit tests with
mozilla-firefox, then close it - a small python http server that retrieves results sent by the
javascript
Some caveats to correct before its useable in a Zope project:
- Right now the results sent by the unit test is just a simple ‘SUCESS’
or ‘ERROR’ string, and I need to change it so I can get the full error log
when they are errors, like the one displayed in the browser, and convert it
Dump and load foreign subversion repositories using svnadmin and svndumpfilter
What for ?
This is mostly a reminder for mysef about the way of dumping and loading subversion repositories.
Let's say I have two subversion repositories. repoA and repoB. I got a component called P at the root of repoA as below:
repoA / P / trunk / branches / tags /
What I'd like todo is to copy P from repoA to repoB preserving all the history logs for P.
Dumping the repository
Let's say I started the developement of P with revision 28000 and my last checkin related to P is at revision 38000. The revision numbers are important because it will decrease the needed time to dump the actual svn repository. Less revisions to dump means less time needed
We will use svnadmin to do that.
Go on the server hosting the subversion repository and dump it this way:
$ svnadmin dump --quiet --revision 28000:38000 … Read more
Python event in “Le Monde en Tique” book store in Paris the 13th May
We’ll continue our Python evangelism work with Stéfane the 13th May, at le
Monde en Tique, a book store in Paris.
We’ll meet people from 3 to 6 pm, around the “Programmation Python” book to
convince more developers to switch to Python and join the community
Web site: http://lmet.com
Address: 6 rue Maître Albert – 75005 PARIS – FRANCE
Access map:
Mappy
Tube, RER:
Ligne 10 : Station Maubert – Mutualité
Rer B : Saint Michel – Notre Dame, Sortie : Notre-Dame
Rer C : Cluny – La Sorbonne, Sortie : Boulevard Saint-Michel /
Boulevard Saint-Germain
(Post originally written by Tarek Ziadé on the old Nuxeo blogs.)
