Main

December 13, 2008

Watch out! Hippo ECM is coming!

Beta The past 3 months have been crazy. You might already have read it somewhere on the world wide web, but if you haven't, we're very close too a first official release of our new ECM product.

It was September when Arjé did his announcement of Hippo ECM and CMS 7 and it has come a long way since. More features have been added and the product has grown a lot since then. Hippo CMS 7 is still in a beta phase, but that won't be for long.

The next couple of weeks I'll try to share my experience, some thoughts and plugins, which I'm in the process of creating. For now I'll go for a short introduction on what's new and how you can compare it to version six.

Continue reading "Watch out! Hippo ECM is coming!" »

August 9, 2008

The Hippo Site Toolkit (HST)

Blogging has not been one of my priorities these past couple of months as you might have noticed. I've been so busy at the Hippo office and at customers, that I was unable to find some decent time to start a new blog post.

I realize I should have written this post 6 months ago, since the project I'm going to write about has been around even longer than that, but as far as I can remember, nobody has ever written a post about it. I think that's a shame and you guys should be made aware of this piece of software.

A new set of development component were created to develop web application with JSP or JSF in combination with Hippo CMS. We called it the Hippo Site Toolkit and it has been available for quite some time.

The HST will allow us to provide default component that aid developers in their work while building web applications with JSP or for instance Apache MyFaces.

There are some example projects available from the Hippo SVN, so be sure to check it out if you're thinking about using JSP or JSF.

April 9, 2008

ApacheCon Europe 2008 Day 1

basic_234x60.jpg The ApacheCon Europe has landed and the first day is already behind us. This morning I arrived at the conference location in Amsterdam for a full day of sessions. Monday and Tuesday were mainly filled with meetups, hackathons and training sessions, which I was unable to attend, but today was reserved for some interesting talks.

Looking back at today I had a mixed agenda with technical and business tracks. This morning I started off with "The Business of Open Source - Power, Prestige, and Propulsion" hosted by
Sally Khudairi. It was great to see other companies talk about how they experience working with open source and how their customers experience their first steps with open source.
Working for a company that runs on open source, I was familiar with most remarks and comments, but it was nice to hear how other companies of different size and different market had experienced this.

Next up was Gianugo Rabellino with "Your Open Source strategy sucks!". I met Gianugo a couple of years ago and when I'm at conference I always try to attend his presentations. They are solid and straight forward and give you a nice insight on the subject that he's talking about. It was another good one Gianugo!

After lunch I went for my first technical talk of the day about "Apache Felix - A Standard Plugin Model" by Richard Hall. A had heard about the Felix project before and that it involved OSGI, but it was a refreshing view and a great eye opener on the subject. I really like what it's capable of and I'm curious too see if I can somehow use this in the near future.

Back to the business room for Arjés talk on "Open Source Business in Europe". Even though I work with Arjé, I've been outside of our office for the past couple of weeks, so it was good too see him in action again. He gave us a nice insight in how Europeans work with open source and how this has evolved over the past couple of years. Thanks Arjé!

I ended the day with two technical sessions. "Advanced JavaServer Faces - Using cool JSF Technologies" by Matthias Wessendorf and "Building scalable AJAX Push applications using Comet" by Jeanfrancois Arcand. The first talk attracted my attention, because I recently had to do some maintenance on a Myfaces project and after learning the basics, this talk gave me a nice impression on what I will be able to do more with MyFaces, then what I've seen so far.

The last session of the day was a bit hard to choose, because I also wanted to attend Jeremy Quinns ('sorry I did not attend your talk Jeremy') "Break my site", but I had never really had to get the change to see what Comet was. Last year, the Comet talk was at the same time as ours (Jasha and mine) about Cocoon, so I went for the Comet one this time. It was an interesting subject, and it was great to hear about this way of development. I was unaware that this was already possible.

Looking back it was great again to see all my friends of all the different Apache projects and meet new people along the way. The social part is one of the great thing about the ASF.
For those that were not able to attend today, be sure that you visit tomorrow or Friday for some more interesting talks. See you there!

March 20, 2008

Hippo is expanding its borders

Some of you might have seen the news out there on the web, but for those that did not, Hippo has expanded it's borders to the US! Last week it all became final and Hippo bought BlueSunrise.

Hippo and BlueSunrise have known each other for a while now, because both companies are very active inside the Apache Software Foundation. The Apache Portals project is one specific project that both have been working on over the past couple of years.

I think this expansion was to be expected, since we had an ongoing demand from clients outside Europe and mainly in the US. To be able to give sufficient support to these clients it's best to have a Hippo location in the same country.

It's great to see a company grow like this. I've been working at Hippo since early 2003 and I can remember sitting with 6 of my colleagues at the Hippo office in a building somewhere in the north of Amsterdam.Now ... 5 years later, we have about 45 people working at Hippo and multiple locations around the world.

I'm excited to see what will be next...

March 12, 2008

ApacheCon Europe 2008

I've been too busy lately to actually keep track off the things going on around me. I almost even forgot that the ApacheCon Europe 2008 is only a couple of weeks away. This year I will not be doing any talks, since I thought there was nothing interesting for me to talk about. I enjoyed giving the Cocoon talk together with Jasha last year, so perhaps you'll see me/us speaking again at one of the other ApacheCons.

I have a couple of ideas now for new presentations, but I'm not sure yet if I can put my ideas into actual concepts, before actually sending in a proposal. We'll see! For those of you coming to the ApacheCon in Amsterdam (I really suggest you to come), I hope to see you there. If you have any question about Cocoon or Hippo CMS, be sure too stop me if I'm walking past you. I'm looking forward to some talks.. See you there!

Exciting things are happening over at Hippo

There is some exciting stuff happening over at Hippo!

More details about this soon..

January 4, 2008

Hippo Site Sample with Cocoon 2.2

It has been there for a while now, but I was not able to find some decent time to write a blog entry about it. A while ago I made a Cocoon 2.2 block out of the Hippo Site Sample. This can become very interesting for developers starting with Hippo in 2008, since Cocoon 2.2 will be coming out very soon.

You can get the site sample block out of the Hippo svn repository.

I've tested it with the following settings:

  • Maven 2.0.8
  • Sun JDK 1.5
  • Cocoon 2.2 trunk
  • Ubuntu Linux 7.10

Please note that this is very experimental and I still recommend using Cocoon 2.1 for projects that will go in production in the next 6 months.

I've put a page up on the Hippo Wiki that describes all steps.

Have fun!

October 24, 2007

Hippo in the US of A

The Empire State BuildingI could not have been more lucky. During the Cocoon GT I found out I had to take another business trip to New York a couple of days later. It was going to be my first visit to the US and I was really looking forward to it.

We went to New York on official Hippo business. Taking a cab from the airport to downtown Manhattan gives you an amazing view of the New York skyline. After arriving at the clients office, we had two days filled with meetings. The talks I had were very interesting and I've met some great and very high skilled people.
The three days went by very quickly.Luckily on Friday I had a couple hours off to walk around town. I must say it's really an amazing city that never sleeps. I'm thinking of taking a vacation to see more of what New York has to offer. I still need to see so many things. A small impression of my walk can be found on Flickr.

I really hope to visit NY again in the near future.

October 22, 2007

Cocoon GT 2007 Day 2+3

Wow the past weeks have flown by. I made a start with this post on the plane back from Rome to Amsterdam, but I could not find the time to finish it. So here goes:

The last two days happened so fast, I was unable to continue my daily blog writing. Day two of the Hackathon was a day of trying out and playing around more with Cococon 2.2. I continued my quest together with Jasha, while he was working on his presentation in the mean-time, with the webdav block. During the day I also attended a couple of talks on 'What to deprecate in 2.2', 'The future of Cocoon Forms and Dojo' and 'Cocoon Marketing'. These talks were held in small groups of about 12 people and were very interesting. Jeremy initially started the talk about Cocoon Forms, which attracted quite some audience. He proposed to migrate Cocoon Forms to the 1.0 release of Dojo, once it's final release is there.
At the end of the day we all went out for some nice real italian pizza and after that a good strawl around town. We got to see the Trevi fountain and the Pantheon. They are both amazing to see.

On the conference day there were a lot of good talks. Some of them I had heard before and others were completely new. Jasha did his talk about the cocoon project wizard, which received some good response from the audience. At the end of the day it was time to clean up and head home. It were 3 amazing days with lots of italian culture, good Cocoon talks andnew friends. I hope to see everybody at the next GT again. Till next year!

October 4, 2007

Cocoon GT 2007 Day 1

The first day of the Cocoon GetTogether 2007 Hackathon has just ended and I have to say the it's great to be in Rome. We've been really lucky with the beautiful weather here. It's about 26 degrees Celsius,lots of sunshine and a perfect blue sky and it appears to stay that way for the next couple of days. The past 1,5 day have been great. Italy is such a wonderful country.

Our journey started on tuesday when Arthur, Jasha and I left the Hippo office around 4pm and took a cab to Schiphol airport, where we met Arje. The check-in went pretty smooth and after a while we boarded the plane. During the flight to Rome we had a great view of the Italian Alps, because of the great weather, which ended in some beautiful images.

Continue reading "Cocoon GT 2007 Day 1" »

September 21, 2007

Hippos on a plane

Hippo plus passport Hippo is an international company,so working overseas is one of the fun parts of our jobs. This tuesday for instance I went to the UK together with Wouter for a meeting at a customer. I always love traveling (except if there are any delays of course).

The past couple of months I've been working on several different projects in different cities in and outside of Netherlands. That's when I came up with the idea to show you guys where my work brings me, so I packed my tiny digital camera to bring along on this trip I took for my company. To do it in Hippo style I brought a tiny Hippo along as well, which we ordered a while ago for the ApacheCon EU 2007. Unfortunately the Hippos came in too late and we were stuck with a couple of hundred Hippos, but I'm happy too see that all our customers love the tiny little creatures.

This tuesday it was a bit rainy here in the Netherlands so I was a bit disappointed that I could not take so many outside photos, but here is one from the plane while flying above the UK. More Hippos on a plane

September 19, 2007

Cocoon GT 2007 update

It seems the Cocoon GetTogether 2007 program is available at the Cocoon GT website. I knew Jasha was going to submit a proposal and it seems it has been accepted. "Create your website in 5 minutes with the Cocoon Project Wizard". I've seen Jasha doing his magic a couple of times and this is something really worth seeing. It gives you a head start when starting out an Apache Cocoon project. I would say: Show us what you got Jasha!

It was a complete surprise to see another familiar name in the program list. One of my other colleagues, Martijn Vos, apparently had submitted a proposal and it seems his talk has also been accepted! I've not been able to meet up with Martijn yet, since I've been more out, then inside the Hippo office, but I'm very curious about "Use more Java!".

But those are not the only talks. There are more interesting talks like: "Break my site: Practical Stress Testing and Tuning of Cocoon Applications" by Jeremy Quinn and "Hands on Cocoon" by Francesco Chicchiriccò and so many more. Just go and check out the full program at the Cocoon GT website!

September 17, 2007

Cocoon GT 2007

Well the Cocoon GetTogether 2007 is coming up. It's only a bit more then two weeks from now. Have you registered? I know I just did! Be sure to register on time, because the space is limited. I think Rome will be a great place for a GT. I've never been to Rome myself, so I think it's going to be a great experience and I'm definitely going to bring my camera.

I can't wait to meet up with all my fellow Cocooners, have some laughs, drink some beers, eat some great food and see what's hot in the world of Cocoon. For the hackathon there are some plans to do some Cocoon 2.2 integration with Apache Wicket. I've noticed there are a lot of people spending time on Wicket, so it's a framework to take into account.

Of course there will be a Hippo team present. You can probably spot us by the blue t-shirt with the big red Hippo's on the back. Have you used the CMS before or you're perhaps thinking about it, just walk bye and come and have a chat!

See you in Rome!

September 12, 2007

Hippo CMS in Italian

The great thing of having an Open Source CMS is getting feedback and contributions from the community. Last night I had such a moment when Marco Casavecchia Morganti send me an email that he had translated Hippo CMS entirely to Italian. He wondered if we were interested in the Italian translations? Sure we are! As a matter of fact I committed the translations today into the trunk and 6.05 branch of the CMS. So the 6.05.01 release will also have an Italian translation pack.


Italian Hippo CMS

Thanks again Marco for you contribution!

August 16, 2007

Conferences coming up

The vacation period is almost over and the conference season is starting up again. First up is the Cocoon GetTogether 2007. Gianugo recently announced the Cocoon GT 2007 which will be held in Rome this year. The dates are now final, so mark the 3th,4th and 5th of October into your schedule. This year there will be two days of Hackathon and one sessions day. Jasha and I are thinking of doing a session at the GT this year. We're not 100% sure what it's going to be about, but perhaps a session on Cocoon 2.2 from a beginners perspective. It all depends on how much time we can spend on digging a bit deeper into 2.2.

A week later at the 11th of October there will be a dutch conference called J-Fall, organized by the NLJUG (Dutch Java User Group). I've submitted a proposal last night, which is a slightly modified version of our ApacheCon EU talk. Let's just wait and see if it gets selected. Speaking at a dutch conference will be a completely new experience for us.

In the beginning of November there is also the ApacheCon US in Atlanta. Unfortunately Jasha and I were too late with sending in our proposal, but Arjé and Ate will be speaking at the US edition this year. Let's see if we can use our talk, which we'll be preparing for the GT, at the ApacheCon US next year.

July 4, 2007

Hippo CMS on Ohloh.net

Hippo CMS is getting a lot of attention in the Netherlands and around Europe these days, but of course our goal is to make it a world-wide well known product. The only way to achieve that is by promoting it a bit more then letting the product promote itself.

Recently I came across Ohloh. Ohloh is a source directory that helps you find the software product you need. With some help of tags, stacks and the Ohloh community you can find some great pieces of software.

To help developers find Hippo CMS, it has recently been added as a project to Ohloh.

Even though Ohloh is still under development it's fun to see what the Ohloh team does with your source code. It can give you a good view on how active the committers of a project really are, how many committers are involved in a software product and there is so much more interesting information that Ohloh retrieves from your source code repository. I was actually surprised by the source code statistics which stated that the amount of Javascript/Flowscript used in the CMS was about 65% and only 6% Java code has been written until now. Since the CMS is based on Apache Cocoon there is a lot more Java involved, but that's inserted with some help of Maven.

Ohloh is still updating, but I've just also added Hippo Portal and Hippo Repository.

June 13, 2007

Hippo website revamped

The old Hippo website was created a while ago and it badly needed a redesign. Now it's finally there! If you've not been to the Hippo website over the past week, you will probably not have noticed that the entire website has been redesigned.

I think the old website was really outdated and I'm very happy with my employers new website! Of course it's powered by two products I really care about: Hippo CMS and Apache Cocoon.

June 1, 2007

Combining Cocoon and Solr

It's been quiet here this month. I've been extremely busy (what else is new) with finishing up old and starting up new projects. One of the exciting new things is that I've been asked to help out with a new project that embraces the power of Cocoon (hurrah!).

It's a very nice project with a lot of interesting features. The team is very skilled and they are very enthusiastic about the project. My job for now is to support them in their daily Cocoon development and help them out with solutions for parts of their system.

I'm currently looking at how we can implement faceted navigation and fast searching. The first thing that came to mind was Lucene and Solr. I've heard Bertrand talking about Solr so many time that I had to take a look at it. Solr seems to be very powerful,flexible and easy to use. Even for people new to Solr it's easy to setup and play with.

So yesterday I gave Solr a try, to see what we could use it for and it seems to be almost exactly what we need. Cocoon and Solr are in my opinion made for each other since you can do all sorts of XML operations with Cocoon and send and receive these to/from Solr.

While playing around with Solr, I wanted to give it a try from a Cocoon application to see how they would interact. Since you can get results back from Solr by doing an http request it's very easy to integrate this in your Cocoon sitemap. Digging a bit deeper, I stumbled upon a Solr SearchGenerator for Cocoon. Of course that sounded very interesting and I tried it at once. The SearchGenerator is actually very simple and is just a wrapper around an http PostMethod that sends a query to Solr and generates the XML response into the pipeline. Now I had all I needed.

I've even written a small faceted webapp based on the sample content provided in the default Solr checkout. It was fun to write and did not even take me that long. I'll write some more documentation about this and put it online, so other people could also try this out.

So far I really like Solr. Can't wait to spend more time on using it!

Some good links on Solr:

May 7, 2007

Looking back at the ApacheCon EU 2007

ApacheCon EU Logo Last week I had to finish up some work just before being able to leave for the ApacheCon EU 2007. I wanted to go there on Wednesday, to see Stefano's No-Nonsense Introduction to "semantic web" Technologies and some Lucene talks, but I got held up until late in the afternoon.

After my arrival at the Moevenpick Hotel I teamed up with Jasha to do some preparations for our presentation on Friday. We moved some slides and made some additions to the demo. I was pleased with the ApacheCon being held at the Moevenpick. The hotel was nice and food was good and plenty of drinks during the day time!

On Thursday there were a couple of interesting session which I wanted to attend. I started out with Apache Performance Tuning Part 1, which seemed interesting in the beginning, but in the end I noticed that my knowledge of Apache isn't as outdated as expected. Later that afternoon I visited "Up to Speed with Java Content Repository API and Jackrabbit" by Alexandru Popescu. I found it to be very interesting, since we're looking into Jackrabbit at the moment at Hippo.

Jasha and meAt the end of Thursday the lightning lottery talks took place and as usual this was a big laugh! I always find them very amusing and the speakers have a good sense of humor. Of course the Google sponsored beers helped a lot.

There were two more serious though of which one of them came by Stefano Mazzocchi. It was something he had to tell the 'Cocoon community' as a whole. Stefano invented Butterfly after leaving the message that Cocoon had become too bloated. I agree that Cocoon 2.1 is bloated, but there is a very simple explanation for that: it's lack of dependency management. That's where Cocoon 2.2 does a much better job in combination with Maven 2. I guess I will have to take an even deeper look at Stefano's latest invention, to see what he actually came up with, but it sounds interesting.

Me at the ApacheConFriday was the big day where Jasha and I had to do our presentation. After some more preparations in the morning and afternoon, we went outside to get some rest and enjoy the lovely weather. I have to say that the weather during the ApacheCon was great. We talked the entire presentation through and were ready to go! First we headed for Bertrand who did an excellent talk on XSLT and XPath.

After a short break and some some delicious ice-cream it was up to us. People started coming into the room one by one and I think we had around 35 people attending our talk. For a Friday afternoon at 16.30 pm I think we did pretty well. I noticed a lot of people left early on Friday to catch their early flight or train back home. After the talk Jasha and I both had the same feeling: It went pretty well for a first time presentation together! We both found some places in the presentation where we could improve our next talk, so we'll take that along for the next one.

After attending Andrews talk on Cocoon 2.2 and Web 2.0 we went out to enjoy the weather and some nice cold, well earned beers! I think this year was another successful ApacheCon EU. Next to all the presentations the social happening is one of the great aspects of the ApacheCon. You get to meet all the people you actually only know by name. Make sure you'll be there next year. I heard it's going to be in Amsterdam again in 2008!

For all the people that attended our talk: Thank you and I hope to see you next year!

Some extras:

April 2, 2007

On my way to Brussels

I'm currently on my way from Amsterdam to Brussels together with Berry. Getting up early is not one of my favorite things, but getting there by train is so much more relaxing then by car, which I did last time. I'll be visiting Smals for the next two days.

We'll be helping them out and keeping the big Hippo under control.

March 7, 2007

A pleasant surprise

Coming back from a vacation always means you'll have to catch up on all your e-mail. Thank god for spam-filters, otherwise I would have gone nuts on all the e-mails. While reading up on my mail, I was pleasantly surprised by this e-mail on the Cocoon developers list. Thanks Andrew! I was totally not expecting this and even Arjé was astonished how speechless I was about it for the rest of the day.

Last year I worked closely with Andrew on several large Cocoon projects. Now that I'm thinking about it I've already been using Apache Cocoon for almost 4 years now and still enjoy working with it every day. Time flies I must say.

I'm also very happy to see that Felix is getting the same trust from the Cocoon community as I'm getting. I know Felix through Cocoon and Hippo CMS and we met last year for a couple of minutes in one of the restaurants at the Cocoon GT. Felix has been putting a lot of effort into Cocoon 2.2 lately, so I think he really deserves it! Keep up the good work Felix!

January 29, 2007

ApacheCon EU 2007

Well it seems the word is out and our ApacheCon talk has been accepted! We were waiting for a confirmation before spreading the word, but the schedule seems to be final now.

Jasha and I were pretty amazed to hear that our proposal was selected out of all the submissions. Looking at the speakers list it's amazing to see us between all those well known Apache member and committer names. The fun part is though that if you look at the list, it seems that we're almost the only two speakers who are not in some sort affiliated with the Apache Foundation other then using one of it's great products: Apache Cocoon.

It seems that us rookies will have to compete with two big shots for audience. It's too bad that Ate Douma is speaking at the same time, since I was curious about his talk on "JSR-286: Portlet Specification 2.0 for Portal and Portlet Developers". I've been working closely with Ate lately on a new and exciting Hippo project, so the portal subject really interests me.

It seems Apache Cocoon is closing the ApacheCon Friday with Andrew coming right after us with "Web 2.0 with Cocoon 2.2". I think the order is great, because you can go from a novice to an experienced session. We hope to get your Cocoon knowledge up to date for Andrews session later that day.

If you're interested in what Apache Cocoon is all about, be sure to come and visit our session! Remember: "Basic web application development with Apache Cocoon" is where you have to be! ;-) We're more then willing to answer all your questions and hope you will enjoy our talk.

See you on the 4th of May!

Debugging with FireBug is great!

I guess I don't have to tell everybody how great FireBug is for Web Development, but I'm going to do it anyway. FireBug is so easy to use and so feature-rich that I think it's the best plugin available for FireFox. I think it's a must for every web developer these days and I can't image working without it, since I first started using it.

I've your not familiar with FireBug yet then here is a good article for you to read. In short: FireBug is an open source feature-rich web development plugin for FireFox. It has features like, debugging, profiling and javascript logging within your browser.

This month FireBug is more then a year old and has grown enormous over the past year. A couple of days ago version 1.0 came out and it's extremely stable. I use FireBug all the time while working on Hippo CMS, since it's full of Javascript and XMLHttpRequest calls and it helped me out a lot.

If you're not using FireBug yet, be sure to check it out and play with it for a while to get familiar with it.

January 13, 2007

ApacheCon Europe 2007 proposal

The ApacheCon EU 2007 is coming up and the deadline for proposals ended last night. I've seen several ApacheCon proposals come by over the past weeks and was thinking together was Jasha that we had to do something ourselves this year.
We've both worked on a lot of projects build with Apache Cocoon for a couple of years now and know most of the pains when starting with Cocoon, so we decided to submit a proposal ourselves: "Basic web application development with Apache Cocoon".

If the proposal gets approved the session will be very low level. As less code as possible, but more of an explanation about what can be done with Cocoon, how Cocoon handles itself in the web 2.0 hype these days and why Cocoon could be useful for you.
Cocoon can do so much more then most people think. You can create really powerful applications, high performance websites and multi-publishing platforms.

We'll just see what happens next!

December 20, 2006

HippoCMS.org restructure

As you might have noticed, we are currently moving some pages around on the HippoCMS.org website. This really needed to happen, since it was becoming one big mess. I think that a good product needs good documentation, so i'll try to add as much undocumented features on the website over the next couple of weeks.

But of course you can help us out here. If you found out some nice feature of Hippo CMS , which does not have any documentation on our website, be sure to post your story on to our mailinglist, so we can put it up there!

December 18, 2006

Hippo CMS progress update

As I promised a while ago I would keep everybody up to date on my progress with some new/improved CMS features.

So what's new? Well there are two new/improved features available in the Hippo CMS trunk.

  • Multiple asset upload
  • Copy document made it into the document actions panel

More exciting things are coming up soon. I will keep you posted!

December 4, 2006

What's up for this week?

Well last week I was told that I was about to get some time for implementing cool new features in the CMS like Niels mentioned last week.

First up is the multiple binaries upload which will make working with the CMS a lot easier for most people. I'll promise to keep you up to date on my progress and let you know as soon as possible when these features are available, so you could give them a try.

October 24, 2006

Hippo CMS compatible with Internet Explorer 7 and Firefox 2.0

After Microsoft's release of Internet Explorer 7 last week, we had to make sure that the changes made in Internet Explorer 7 wouldn't affect the functionality of Hippo CMS. The only thing which had to be tweaked was a CSS file, so from now on you can also use Hippo CMS together with Internet Explorer 7!

Mozilla is also releasing Firefox 2.0 soon, so gave it a go, but it appears to works as with preview versions of Firefox.

October 11, 2006

CocoonGT: The week after

It has been a week since the CocoonGT2006. Time really flies, but now it's time for a quick flashback of all the things that happened during those days.

The GT Hackathon started for me on tuesday, since I was tied up at the office with still a lot of work to do before the big day. I was glad to be there for a couple of hours at the hackthon, so I was able to join Jeremy's talk about CForms and Dojo. I think we both came to the conclusion that Dojo is great and Cocoon should try to embrace Dojo even more, but the question remains: "What's the best way of integrating Dojo in Cocoon?".
After this interesting talk I had to head back to the Hippo office to finish up some unfinished work.

Wednesday was the big CocoonGT conference day. It started out early at 9am and kicked off with Arje's opening speech. I've seen several interesting talks about LDAP, Daisy, Hippo CMS and a very funy talk from Andrew, but there was one talk which showed something really new and exciting. Simone Gianni was talking about Cocoon blueprint. The demonstration by Simone was very interesting and Blueprint gives you a completely different perspective on building Cocoon websites. I hope he continues working on blueprint and there will be a release soon.

There are some photos available of the GT at Flickr, so be sure to check them out.

Well that's it for now. If you want to know more about the GT, be sure to attend it next year. There have been rumours going on, that it might be in Rome next year!

September 7, 2006

Cocoon GT edition 5 is coming up

Year in year out people travel around the world to spread the word about this great product called Apache Cocoon. From ApacheCon's to OSCON's you will find people doing talks about Cocoon. The best place for talking about Cocoon is the annual Cocoon GetTogether where people from around the world meet and share knowledge about Cocoon.

This october will be edition number five of the Cocoon GetTogether and it will be held in Amsterdam, just like last year. The only difference with last year will be, that all events will take place at one location: The Felix Meritis.
Last years hackathon was succesfull, so this year there will be two days of hackathon again. The third day will be the conference day, where there will be a lot of people talking about new features, Cocoon's roadmap, existing projects and so on.

This years GT will be held from 2-4 October. Currently the counter is at 40 people from 7 different countries and it's still a month to go! It looks like this will be another succesfull year for the CocoonGT.

I will be there. Will you?

July 31, 2006

New Open Source Web Development IDE: Aptana

Aptana is a web development IDE based on the eclipse platform. It has a strong focus on Javascript, but it's a real nice plugin for web development. Since I try to use nothing else then Eclipse during my development, I'm very happy to see it's also available as a single Eclipse plugin. It's free and soon to be open sourced.

Via Ajaxian.

July 7, 2006

Debugging the Hippo CMS GUI framework

All user interface components within Hippo CMS are handled by a javascript framework, which regulates the interaction between the different views and perspectives within the user interface. This framework will also handle the AJAX requests to the server for updating all perspectives and views.

I think one of the most unknown and underestimated features within Hippo CMS is the ability to debug this framework. If you want to create a new view or perspective within the CMS you will have to get a deeper understanding of what is going on in the background.

Ok well I will stop talking and show you guys how to do this! The configuration for the framework can be found in the framework component.xml. Each important component in the CMS has it's own component.xml. (perspectives, framework, workbench). For the debugger window to appear you will have to modify the following framework attributes:

  • showLogger: set this to true
  • logEnabled: set this to true
  • logLevel: set this to '1' to put this to DEBUG
  • logger: this should be the name that represents you component in the debug window.

A typical example of the framework component configuration is shown in the next code sample.




 






Each perspective has it's own component.xml file, where you can add the logger attribute to display only the messages of that specific perspective. So did you modify your component? OK! Now refresh the CMS instance in your browser window and you will notice the debug window in the bottom of the page. You can also detach this window if you want or detach it by default (see the other configuration options in the framework configuration). This debug window should give you enough information on what's going on inside the CMS, why your new view isn't working or what calls are beeing made to the server.

logframe.png

More information on how to handle debugging in Hippo CMS can be found on http://www.hippocms.org.

July 6, 2006

Configurable cocoon.createObject()

Today I was working on a new feature in the CMS. I had to do some flowscript coding in order to implement this feature. By default you can create an instance of a Java class in flowscript by using the following syntax:

cocoon.createObject(Packages.nl.hippo.cms.Class);

Since I did not want to hardcode my class file, but wanted to create a configurable object, I had to find a solution. So first I set the value of the variable in the DefaultsModule. (this can also be a XMLFileInputModule so you can really make this configurable from outside of you Cocoon application.

<component-instance class="org.apache.cocoon.components.modules.input.DefaultsModule" logger="core.modules.input" name="myconstants">
   <values>
     <cms-object>nl.hippo.test.XMLDemo</cms-object>
   </values>
</component-instance>

So now from my flowscript I can fetch the value of the cms-object constant.

var myConstants = cocoon.getComponent(InputModule.ROLE + "Selector").select("myconstants");

var myObject = myConstants.getAttribute("cms-object",null,null);

// Add the "" to the myObject variable, otherwise the interpreter will think that it's a scriptable object instead of a String or Class object.

var myXMLObject = cocoon.createObject(myObject+"");

You will have to declare the import for the Cocoon input package at the top of your flowscript before this will work.

importPackage(Packages.org.apache.cocoon.components.modules.input);
Well that's it! I could not find any documentation about how to do this. I hope this small chunk of code will help others out in the future.

Usefull links:

July 1, 2006

ApacheCon Europe 2006 part 2

I'm sitting outside now in sunny Amsterdam, after catching up some sleep, rethinking the ApacheCon Europe 2006 in Dublin. Arthur, Dennis and myself arrived on wednesday evening, so we had all thursday to attend sessions. Most of them were about AJAX, but there were some other interesting sessions that I really wanted to attend as well.

Continue reading "ApacheCon Europe 2006 part 2" »

May 31, 2006

Attending ApacheCon Europe 2006

ac2006eu_250x92trans.gif It looks like some fellow Hippo developers and myself will be attending the ApacheCon Europe 2006 in Dublin next month. This will be my first big Apache Conference with developers from different projects within the Apache Software Foundation. I'm really exited about it and while looking at the sessions, my interest is going out to the Ajax and Apache MyFaces sessions (next to the Cocoon sessions of course).

I noticed more Cocooners are joining me in Dublin and it looks like Cocoon is well represented at the ApacheCon with people like Gianugo Rabellino (SourceSense), Bertrand Delacrétaz (Codeconsult) , Carsten Ziegeler(S&N) and Doug Tidwell (IBM) doing session about Cocoon.

I also see that there are some sessions on other CMS's. Maybe it's an idea to do a session on Hippo CMS next year? Sounds like a great idea to me! ;-)

May 29, 2006

Looking into Ruby on Rails

rails.png Since I've been very busy lately, I have not been able to find time to dig into development techniques like Ruby on Rails. RoR seems to be quite hot these days. After reading Ugo's blog about Ruby for Java programmers it made me even more curious. Since I wanted to experiment with other techniques and combine them with Hippo CMS I think Rails might be nice to start with. After doing some research I found out that Stuart Eccles was already working on a WebDAV plugin for Rails. The plugin is not released yet, but when that happens, I am going to give it a go. In my opinion it would be nice to have a sample of how to connect Rails with Hippo CMS. I hope it's going to be released sone, so I can try and write some documentation about how to connect RoR with Hippo CMS. I'll keep you posted!

April 24, 2006

Performance boosting your Cocoon web application

As you might know, the user experience of a web application is very important. Fast request and response times are a must! You can do so much with Cocoon that sometimes you don't even know the functionality is there. There is already a lot written about Cocoon performance on the website as well as on the wiki, but over the past couple of years I came across a couple of things that could speed up the performance of you Cocoon web application. Here are a few tips:

  • Be carefull with non-caching components inside your caching pipelines (like the request generator).
  • Be carefull with using the resource-exists selector on non-filesystem sources.
  • Make good use of http headers within your sitemap( like the expires header ) for images, css and javascript. Cocoon is good in processing, but is not fast with sending resources back to the client. Make sure you keep the amount of requests to Cocoon as minimal as possible.
  • Pick the best XSLT processor in case you need to do a lot of transformations: Saxon or Xalan.
  • Try to keep the number of pipelines for a request as small as possible. All pipelines will have to be checked for their validity when a request comes in.

I hope you'll find these tips usefull. Always try to get as much out of you web application as possible!

April 11, 2006

XHTML versus your browser

Using XHTML with Cocoon is sometimes a little frustrating. It seems that by using the default XHTML serializer configuration located on the Cocoon Wiki your rendered page is not valid XHTML.
While taking a closer look at the configuration (see below) you will notice that it uses the XMLSerializer as its source.

<map:serializer name="xhtml" 
          src="org.apache.cocoon.serialization.XMLSerializer"
          mime-type="text/html" logger="sitemap.serializer.xhtml" 
          pool-max="64">
  <doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public>
  <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system>
  <encoding>UTF-8</encoding>
</map:serializer>

While the output is XML valid, the browser does not completely seem to understand the requested XHTML.
For example: If you would use a div element that doesn't contain content it would make the browser choke and all the XHTML after that element, would be included in the div element. If you would view the page source, everything seems fine, but the browser does not parse the XHTML correctly because of the closed tag. The page source will show you the closed div tag.

<div />

The above looks valid in an XML point of view. But the only way the browser likes it, is if you open it and close it again.

<div></div>

At first I thought it was the browser to blaim, but after quick look at the W3C specs it seems that according to the official DTD you are not allowed to create 'empty' div elements or empty textarea elements. With 'empty' they mean <div />. A quick workaround is to put a space inside the empty element. This is not a clean way of fixing things and it could also break the design.

After digging through the Cocoon blocks I found a XHTMLSerializer in the serializers block that did fix this problem. The XHTMLSerializer has an closeElement implementation that leaves certain elements 'open', so the browser will render the page correctly.
This serializer has one disadvantage though: if you use inline Javascript, it will convert all quote characters to &quote;. A quick workaround is to put all your Javascript in to script tags and include them from a remote file.

That leaves me with a choise between two options that are not 100% what I need. For now it seems that I can continue to work with the XHTMLSerializer from the serializers block since I do not have inline Javascript function calls.

UPDATE
After reading Arthur's comment ( thanks !! ), I found out that I missed a part of the W3C specs. According to the W3C specs you will also have to provide the correct mime-type for the browser to render it as XHTML. When using XHTML you must send application/xhtml+xml as the mime-type to the browser and not text/html. After a quick test it seems that FireFox can handle this, but IE 6 can't. I've not been able to test it on IE 7 yet, but let's hope they fixed it.

In the end it still leaves me with the problem that I can't render my XHTML the way I want, without doing any work-arounds for some browsers.

April 8, 2006

Cocoon 2.1.9 released

Today Carsten Ziegeler released Cocoon 2.1.9. This new release brings lots of CForms fixes and many new Ajax-related features. Since the 2.1.9 release Cocoon implements Dojo as its JavaScript toolkit. More info about the latest Cocoon release can be found at the Cocoon website.

April 4, 2006

Hippo Repository 1.2.6 released

Today Hippo Repository 1.2.6 was released. This new release brings us an updated version of Apache Lucene.
Lucene 1.9 speeds-up Hippo Repository even more, because of all the optimizations since the 1.4.x versions.

At the moment it's only available from SVN. If you want to give this new version a try, make sure you read the nice Getting Started Track at www.hippocms.org.