• Search:

Planet eZ publish

tobias schlitt  eZ systems employee

› eZ Components and PEAR

Finally we managed to release a first beta of eZ systems' new open source product eZ components. As I'm part of the development team, it's a great pleasure for me to see our work becoming ready after all. The project went quite good from my viewpoint, although it was a bit hard to manage work and university in paralell after the great summer vacation time (we have around 2-3 month of free time here).

Some people asked me recently, how I see the eZ components compete with PEAR? My usual answer here is in only very few parts. After one can now see clearly, in which direction the components will go, I see it as a great addition in respect to PEAR, since it manages to combine the best of both worlds. PEAR's approach in the past 3 years (wow, really, Monday was my 3rd anniversary with PEAR) could be described as following:

  • Provide a component for almost every imaginable purpose in any imaginable area.
  • Provide each component as compatible as possible (PHP 4.3.0, therefore PEAR_Error handling).
  • Make the PEAR Installer become the standard in PHP application distribution.

These goals have been reached successfully up to a certain, far grown point, at least with the release of PEAR 1.4, which finally allows to install real applications. As to interpret the first 2 goals, PEAR has become the perfect tool for a rapid prototyping development approach. Once you are used to the PEAR style of coding .o0(...maybe this is why collegue told me recently "yes, because you come from the strange world of pear"...), you can realize a fully working prototype of any custom application really fast.

So good, let's take a look at the approach of the eZ components project:

  • Provide a unified, well selected set of rock solid components, which are comonly needed to build a web based application.
  • Keep basis of development at the cutting edge PHP version, since this must be frozen when released stable first (Beta1 is PHP 5.1).
  • Provide an enterprise approach to a well selected library (open source, but commercial support behind it through eZ publish, if you wish).

And I think the eZ components have reached their goal quite well, too, by now, from both aspects: The open source and the eZ publish point of view.

I don't really have really in depth experience with eZ publish itself, at least I had my hands in 3 customer rojects on basis of eZ publish. From the API point of view, the newly taken component approach will ensure, that development of real applications will become much more convenient on the basis of eZ publish and thererfore that library.

The documentation is much cleaner and the use of OO features is much more convenient. Also, the documentation is on a very high quality level (complete API docs + examples + misc docs) and the test driven development approach should ensure a good amount of start up quality and a solid basis for additional development on it.

While the eZ internal developers and all open source contributors get a well defined starting point for refactoring eZ publish, the eZ publish customizer get a cleaner and more modern API for building large applications and the PHP community get's at least a nice new framework, for companies, this time there is even a company behind it.

So, let's get back to the initial question: How do the eZ components compete with PEAR?. As one can see, both projects follow completly different approaches, and where they collide, the range is pretty small: In the eZ approach, the closed collection has a high priority, therefore we have 19 usuful, stable and consistant components, which compete with functionality of (after a quick search and some brainstorming I counted) about 35 PEAR packages. That sounds like a large number, but only at the first glance, because with today there are 487 packages in PEAR, so the collision rate makes rounded 7% (from a functionality point). Mapped these data to the declared approaches above, one could say that both projects reach theires quite well: The eZ components take a different architectural approach than PEAR overall and reduce the library size (by now) to a minimum. PEAR instead has come close to being a collos of whatever-you-may-need libraries.

The non-competetive part is much more interessting: The eZ components will have their fixed place in the upcoming major eZ publish version (which will end up for you in a highly integrated PHP Application Framework), taking huge parts of the everyday work from your shoulders (user management, content management, and whatever eZ publish can do). On that basis, the development of enterprise PHP applications get's quite comfortable.

But when it comes to customer adjustions, the rapid prototyping approach can come into the game. Most higher level PEAR components are build on a driver based design. Same applies to the eZ components. That will be a real community thing, if people start mixing up both parts in projects and maybe integrate even packages of the libraries. I mixed PEAR with eZ publis in a customer project, where we build the main business logic on PEAR components (namely coding around DB_DataObject) and left all the standard stuff the like front end and user management to eZ publish. Integration with the CMS by now was a bit tricky and needed some experiences (thanks Kore N. ;). That'll be the fine thing about the new version un basis of the components. Both libraries are build so generic, that you can savely take components of both and mix them maybe even up...

So long, with the PEAR Installer, there is another part of PEAR, which is not present in the eZ components. A very good decision on the eZ side was, to take the community approach here and settle on the basis of the new PEAR Installer. I believe that both projects will have a very high benefit from each other. (Take a look at the extended entry to see how to try it out!)

I'm quite satisfied with the work on the eZ components. It's been a very productive process in every direction so far. A very sympatic and competent development team brought members of highly different araes together (from PHP core, eZ publish core through PEAR and C/C++/Java background mixtures). My major feeling, that the approach will have success, relies on the fact, that in the end we all agreed on the design of each of the components and therefore should have taken a very general and inovative approach. Let's see, what the community states after some testing. I'm sure, the feedback will be quite positive (as it was until now, afaik). Anyway, working at eZ systems is real fun, and for that part of my live I reached an important goal in my eyes: I found someone to pay me for exactly what I want to do... Open source! Thanks eZ systems! :)

In the PEAR direction, I have not been that active in the past weeks, which was mainly because the recent milestone of the eZ components project colided a bit with the start of the university winter term. But this should change latest around christmas, when university has some free time again. By now I'm working on an educational project in a way. But more on that later. After that I plan to raise my resources on PEAR again. So, stay tuned and have a good time...

Find in the extended entry:

  • eZ components, how to get started
  • Quick stats of competing packages

Continue reading "eZ Components and PEAR"
01/12/2005 10:56 am (UTC)   Tobias Schlitt   View entry   Digg!  digg it!   del.icio.us  del.icio.us

php developer

› phpRiot.com: Creating multi-step forms and wizards in PHP

If you've ever wanted an easy, structured way to create a wizard-type form on your site (ie a multi-step form), then you might want to check out this new tutorial from phpRiot.com today.

There will be many situations when creating web forms, that either you cannot accept all data on one page, either because certain responses result in a different set of subsequent questions, or because you form is so long that you need to split it up into multiple pages.

This tutorial covers how to implement such forms using PHP. This will include covering the various issues that need to be taken into consideration, as well as a class to help build such forms. Finally, there will be real-world example of implementing a multi-page form using the class.

He shows you the creation process using his own "lightweight Wizard class" instead of a standby like PEAR's QuickForm for structural reasons. QuickForm works great for single-page forms, but trips up a bit when it comes to more than one. He talks about considerations you'll need to take, and provides the code for his "ZervWizard class"...

30/11/2005 2:31 pm (UTC)   PHP Developer   View entry   Digg!  digg it!   del.icio.us  del.icio.us

php developer

› SitePoint PHP Blog: eZ components - New competition for Zend PHP Framework

In this new post on the SitePoint PHP blog today, Maarten Manders asks the question of whether the latest offerings from eZ Systems (the "components") are a threat to the Zend Framework still in development.

Just about a month ago Zend Technologies announced Zend PHP Framework in line with the Zend PHP Collaboration Project with the stated goal to offer a "de facto standard PHP Web application development and deployment environment".

While Zend is enjoying the attention in the PHP world, eZ systems determinedly worked on a very similar project called eZ components, of which a first beta version is to be released tomorrow Monday. Let’s have a closer look at what it has to offer and how it compares to Zend’s PHP Framework.

Stepping through the component framework, he notes the deisgn of it all, what the components are and how they're strutured, the license behind it all, and when it will all be made public. In his opinion, this offering from eZ Systems as trumped the Zend Framework - for now...

28/11/2005 1:32 pm (UTC)   PHP Developer   View entry   Digg!  digg it!   del.icio.us  del.icio.us

php developer

› Sebastian Bergmann's BLog: Enterprise PHP {Components|Framework}

In his latest blog post today, Sebastian Bergmann looks at two of the major offerings that are avilibile to advanced PHP developers and some of the confusion surrounding them - the Zend Framework and eZ publish Enterprise Components.

There is a lot of discussion in the PHP Blogosphere about eZ systems' Enterprise Components for PHP and the Zend Framework that I do not quite understand.

I do not see a real competition between the two as one can use components from both and combine them and use them together.

He also mentions another similarity between the two - that they both use PHPUnit for their testing and results....

28/11/2005 1:14 pm (UTC)   PHP Developer   View entry   Digg!  digg it!   del.icio.us  del.icio.us

alberto mucignat

› [linuxday] talk su ez publish

Il mio talk sull'architettura delle informazioni con ez publish è stato seguito da un pubblico curioso. Alla mia domanda se si studiasse "architettura delle informazioni" a scienze dell'informazione, c'è stata scena muta. Pochi sapevano di cosa si trattava, quindi ho avuto il piacere di introdurre degli studenti ad una disciplina che secondo me sarà chiave nel futuro.
Il talk di Ciccio era invece focalizzato all'estensione dei moduli di eZ publish e l'ho trovato molto chiaro e puntuale.
Alla fine abbiamo dato vita ad un micro-dibattito su eZ publish ed è stato molto interessante, a parte Fullo il guastatore che ha tentato di provocare i conferenzieri (senza successo).

Le slide del mio talk: Architettura delle informazioni con eZ publish (pdf)

Le slide del talk di Francesco Trucchia: eZ publish cms enterprise (pdf)

Update: qui trovate le foto del Linuxday a Cesena, comprese quelle che mi ritraggono impegnato nel talk.
26/11/2005 3:20 pm (UTC)   Alberto Mucignat   View entry   Digg!  digg it!   del.icio.us  del.icio.us

derick rethans

› eZ conference CfP

This year eZ systems (the company that rents my brain) will organise the 4th edition of their conference. This year we broaden the scope a bit with an "Enterprise PHP" track. For this track, and the others (eZ publish and "Enterprise CMS"), we are looking out for interesting subjects.

If you think that you have a good subject, please have a look at our Call for Papers. The submission deadline for all proposals is January 16, 2006 and the conference will take place in Skien, Norway, from June 20-23, 2006.

24/11/2005 10:40 pm (UTC)   Derick Rethans   View entry   Digg!  digg it!   del.icio.us  del.icio.us

php developer

› Community News: WebTech Con. 2006 - Call for Papers

I recieved a note today from the organizers behind the WebTech Conference today announcing the opening of their Call for Papers.

WebTech 2006 is in need of your talk. Usually talks are 20,40 or 60 minutes long. All topics which concerning web technologies in any way could possibly be of interest for a talk at the Conference.

The languages of the conference are Bulgarian and English. Please send us an abstract on your suggested talk. You can propose more than one topic if you like to.

The bastract needs to be about 1000-1500 characters long, and should provide a good overview of what you want to talk about. You can send them in either plain-text or PDF format to papers @ wtconferences.com. You can also visit their site for complete details...

24/11/2005 12:37 pm (UTC)   PHP Developer   View entry   Digg!  digg it!   del.icio.us  del.icio.us

php developer

› Community News: International PHP Conference 2006 Call for Papers

The crew behind the International PHP Conference has released the Call for Papers for their 2006 (Spring Edition) conference in Amsterdam.

Software & Support Verlag (publishers of the International PHP Magazine) is pleased to announce the International PHP Conference 2006 (Spring Edition) in Amsterdam, Netherlands. The Call For Papers (CFP) is currently open, and you are encouraged to submit your proposals for various sessions at the conference. We are seeking proposals on indepth, cutting-edge topics that subscribe to the various tracks that we have lined up for the conference.

Some of the tracks for this year include: "General PHP", "PHP & Business/Integration", "PHP Extensions", and "PHP Security". The conference itself will happen April 4th and 5th with a pre-conference day on the 3rd of tutorials. To submit your information/proposal, head on over to their submission page and get your idea in today!

For complete details/specs on what the papers need to be like, check out the list here...

23/11/2005 1:36 pm (UTC)   PHP Developer   View entry   Digg!  digg it!   del.icio.us  del.icio.us

derick rethans

› eZ components: LGPL vs. BSD

If you're writing a large library of code which you want to see other people used too, picking a license is a very important thing. We were standing for the same choice for our eZ components. Originally we were using the LGPL as this is more in line with the GPL that we currently use for eZ publish. Now just before the release of the first public beta (in a few days, stay tuned) we decided to switch to the New BSD license. We feel that choosing the New BSD license would make it easier for people to use the components library without having to worry about the restrictions of the LGPL.

22/11/2005 11:33 pm (UTC)   Derick Rethans   View entry   Digg!  digg it!   del.icio.us  del.icio.us

sandro groganz

› Call for Papers: eZ publish Conference 2006

The call for papers for next year's eZ publish Conference is out.

eZ is accepting proposals on the following topics:

  • eZ publish
  • Enterprise CMS
  • Enterprise PHP

The submission deadline for all proposals is January 16, 2006.

eZ publish Conference 2006 will take place in Skien/Norway from June 20-23, 2006.

Of course, the eZ Enterprise Components [1] will be a hot topic there, as well as the forthcoming eZ publish 4.0.

Looking forward to seeing you there!

[1] Components from SVN Tutorial

22/11/2005 6:08 pm (UTC)   Sandro Groganz   View entry   Digg!  digg it!   del.icio.us  del.icio.us