We decided to relax a bit Wednesday night and headed out to a Lakers game. After all, we are in LA, and we love basketball here. We had some pretty good seats. Here's a pic of Kobe laying it up.

Here's a pic of other Liferay peeps wearing our retreat shirt.

We actually got on the jumbo cam 3 times!

But nothing beats how the game ended. We were afraid it would be a blow out (Lakers beating the Clippers by 20 points or so), but the game was a nail biter. Derek Fisher drove in and made the winning shot at the very last millisecond (literally) possible. We reviewed the footage, and to our surprise, we were actually in it.

It's a little hard to see (you can click on the photo to make it bigger), but that's Jorge next to #9's butt and a bunch more of us who were wearing our Liferay shirts on the left and right. We'd like to think that our cheering had a hand in helping Derek Fisher make the shot :) We got this photo by taking a screenshot of this video.

But it really wasn't about the game. It was about hanging out and getting to know each other outside the context of normal day to day duties. We were blessed with a really good time of fun and fellowship - something we do not deserve.

Just released Liferay Portal 6 RC 2. We are very close to getting the GA now. We had originally scheduled to make this the GA, but our release team wanted to make one more round of releases. We're now scheduling to release GA in another 2-3 weeks.

The major changes between RC 2 and RC 1 include changes to Workflow and OpenSocial as a first class citizen. Go here for a full list of changes.

We recently installed 100 custom built Hudson test servers at our colo facility. They are maxed out on the RAM, have the fastest quad core available, and the second generation Intel SSD hard drives that Linus Torvalds recommended us. We had calculated the cost of doing it on the cloud, but it was a lot more economical for us to run it at our own colo facility because these test servers require so much horse power and run continuously on every SVN commit.

So why did we need so many test servers? Our EE builds are each certified with rougly 10,000 tests per version.Each test must be run on all of our different supported combinations (i.e. application servers, databases, and operating systems). The time required to run these tests vary roughly from seconds to hours depending on the test itself and the environment we run the test on (ie. deploying a portlet to WebLogic and WebSphere takes a lot longer than deloying to Tomcat).

These servers are another milestone in helping us reach the quality that our enterprise clients depend on.

Here's the front view of our cage. It's quite massive. It stacks up to way over 7 feet.

We aren't just fanatics about our code quality, we're also fanatics about how we tie the cables for our test servers.

That's Jeff testing the network.

And that's Louis goofing off by cutting the cable that Jeff was testing. All in good fun.

Just playing with ya Louis. Our IT and QA staff worked countless hours planning and building this to ensure that we can ship out the best product possible. We hope that you guys get to enjoy our labor of love.

I barely made it to the Spain Symposium one hour before the event was supposed to start because of the chaos from the Icelandic ash cloud. But I'm glad I made it there safely. The event was very well attended and we could feel the excitement that the Spanish market has regarding open source, and specifically, regarding Liferay.

Here's a picture of me giving a talk about Liferay on the Cloud.

It was funny hearing our Spanish coworkers giving a talk about innovating with Liferay, but in their native tongue...

After the event, we took some time out to try some tapas...

And if you ever thought you only see weird foods at Chinatown, that's not true. Spain's got its fair share. Apparently, they buy a pork leg and eat it for several months.

Paul brought along his son for some good father / son bonding time. Mike was such a good example, he didn't even break any drinking laws.

Enjoying a late lunch with our Spanish developers at VIPS. Spaniards tend to eat lunch at around 2-3 pm. I couldn't handle it so we all ate early at around 1:45 pm.

Just released Liferay Portal 6 RC. It inclues a ton of bug fixes, included more of the plugins (workflow, etc.) that were not ready during Preview, and the new 7Cogs sample data. Go here for a full list of changes.

This is a worker at my hotel who helped me replace my laptop hard drive. It was 4 am and I had given up because I didn't have a small screwdriver. We tried everything. Finally, he creatively used pliers and a large screwdriver to replace my Sony laptop hard drive. Not an easy thing to do.

I had a 250 gb ocz solid state hard drive. It's fast for email usage, but turns out it's horrible for doing any type of development work. Suresh and I swapped hard drives. He gave me his 7200 rpm laptop drive, and I gave him my solid state. He was happy cause he got the better end of the deal. I was happy cause I could code again.

That's a rickshaw. It's the preferred vehicle of choice when traveling short distances.

Rajesh and Karthik from Sun convinced me to ride one with them. All three of us have big butts, so it was quite a squeeze.

It felt a lot like the Indiana Jones ride at Disney.

They took me out to a nice Indian restaurant. I spent a lot of time with the developers on the Sun portal team as part of our collaboration with Sun. They are a smart bunch of guys and gals.

Oh, and the food was really good.

We decided to walk back to the Sun campus because we ate too much. It was fun wandering the streets of Bangalore.

A bunch of us in an elevator. I'm surprised we fit.

I had dinner with the other JAX speakers. I got to hear Keith and Craig argue about JPA vs. JDO. Craig is the spec lead for JDO and Keith is a spec member for JPA. Ken talked about how he loves to fly his private plane. And the Ruby guys kept making obscene jokes.

On my way to the airport, I got to meet the guys from mPower. They've implemented a lot of Liferay solutions the last few years. One of them is www.inikah.com, a marriage website for Muslims. They also gave me flowers when I met them. I've never gotten flowers before. Caris, I don't think you need to worry.

They made us some yummy lamb and chicken. I didn't feel comfortable eating rice with my hands though, so I had to use a spoon.

And last but not least, I got to make new friends with folks from our new Indian office. It was a fun week.

Here are some pictures of our new India office. It's in the Raheja Arcade, smack in the center of the Koramangala, the IT district of Bangalore. I was deeply humbled to witness our expansion into India. In these tough economic times, not too many companies are expanding. We've been blessed to be a leader in the open source portal and collaboration space, where demand has actually gone up during this economic downturn because we've been able to deliver more bang for the buck than our commercial counterparts at IBM and Oracle.

They are really into ceremonies in India. I got to cut a ribbon.

This office is different from our other offices around the world in that it has two floors and many rooms. Our other offices follow the format of one big war room or several war rooms.

An office is nothing more than real estate and furniture. To make it work, you gotta add that secret ingredient... people. I'm amazed at the talent of our growing Indian team.

The opening ceremony was on Good Friday, and to my surprise, it was a public holiday in India. It's not even a public holiday in the US.

My stay in India was much more comfortable this time around than two years ago. Infrastructure is improving. My hotel was quite nice. In fact, it's as nice if not nicer than what I have at home.

I stayed at the Iris Hotel, where the rest of the speakers of JAX India stayed. We were on Brigade St., the happening street in town. It is the equivalent of Michigan Ave. in Chicago. Here's a view of it at night with all of its trendy shops and bars.

Here's a view of it out of my window in the morning.

Here's a view of it out of another window. I was shocked.

So I zoomed in. There I was, brushing my teeth in a nice western style hotel, and the next lot over is another valuable human being, brushing his teeth with his fingers.

While I was sleeping in a comfortable bed, they were sleeping on the floor with a few sheets.

While I had running water, they had to use buckets.

I pray that I can be wise and loving in leveraging what I have to help those who have less.

It's a humbling reminder that Java, AJAX, and the latest Saturday Night Live skits aren't on Time's list of ten ideas changing the world right now. Sure, no one doubts that technology (and especially 2.0 technology) has been revolutionary, or that funny TV shows are a good way to relax. It's just a joyful reminder that we live in a big big world, and that big timeless ideas are majestic.

Here are some pictures from our third annual company retreat in Los Angeles.

It was really fun hanging out with everyone.

And what do we do when we get together? Play an international sport everyone loves. Soccer! That's Ed, our head of sales, chasing Sang, our general manager in South East Asia. Glad no one got hurt.

Look at Dave chase that soccer ball. If you think he looks intense there, wait til you see him solving complex problems at a client site.

Our German and Spanish offices duked it out in the finals of the soccer tournament. Our US, China, and Brazil offices just didn't stand a chance against the eventual winner, the Spanish office. That's cause they had Jorge, and he really, really wanted to win.

But it wasn't all fun and games. We talked for hours about our business and technology in ways that can't be done except in a face to face meeting.

And then we got back to playing more games. This game involved building a structure out of marshmallows and toothpicks. The first person would get to the see the structure. He would then have to communicate what he saw to another person who would then have to tell another group of people how to rebuild the original structure.

We split up everyone into 10 teams and then competed for gift cards. Here's Scott's team intensely building the structure. They worked hard but didn't win.

Bryan may look confused... but his team won. They came up with a very good system of communication and nailed every detail.

We're always looking out for ways to save money. And the best way to save money is to house as many core developers at my house instead of at a hotel. This year, we had 9 people staying at my tiny 1000 square foot, 3 bedroom, and 2 bath house. That's actually not the record. Two years ago, we had 11 people staying in a 1 bedroom apartment with 1 bathroom. But at least we had a fast connection and were quite productive. :)

The number of committers to our SVN repository and the sheer amount of activity have both skyrocketed this past year. Sun now has over 25 active contributors and Liferay, Inc. has been hiring key developers from all over the world as well. While that means increased productivity overall, it also means that SVN responsiveness is now much more important than it used to be.

SourceForge's SVN services served us well for many years, but now it's time we had our own SVN hardware.

As of yesterday, all SVN write access to SourceForge has been turned off. Committers must now commit to a new SVN repository which will have its changes pushed to SourceForge. That means SourceForge will continue to serve as our public mirror, but committers will have to use another URL.

So if you're a committer and wondered why your commit access stopped working, do this:

Your login will no longer by your SourceForge account, but will now be your www.liferay.com screen name and password. Just log into www.liferay.com and on log in, your credentials will automatically be propagated to our SVN server.

And don't worry about your WOL or Ohloh stats. We'll be syncing the SVN author names for everyone.

For those who just want read access to our code, please continue to check it out on SF.net. It'll usually be 10-20 minutes delayed since we use another application called SVK to sync our SVN repositories.

Thanks to everyone who came to the European symposium. It was extremely fun and enjoyable! Here are some pictures and a summary of what happened.

Here's Bryan Cheung giving his talk about how the UN uses Liferay. Just trying to do our part.

Here's Jorge giving his session on leveraging the new portlet specification.

Here's HanseMerkur giving a session on how they've used Liferay the last few years. BMW and Kempinski also gave sessions as well on their usage of Liferay.

But what's a point of gathering in Germany without some good sausages?

And music...

And beer...

And games...

And as always, we make some new friends. Here's Nicola from Thessalonica. That's right. Good old Thessalonica. I've been reading a lot about that city lately.

The hotel put up a flag. It was big.

And at the end of the second day, the Liferay staff all went out for some nice food.

We did do other things, like, announce a new product, our enterprise edition, etc. Details were discussed with the crowd so we could gather feedback before announcing it publicly. Look forward to our announcement in the coming days...

Previously, to customize a core portal JSP, you would have to use the ext environment.

You can do it now in a plugin via our liferay-hook.xml file. Just specify a directory of where your custom JSPs are, and on deploy of that plugin (portlet, theme, hook, etc.), the core portal JSPs will be overwritten with what's in your plugin, and on undeploy, it'll be reverted back.

When writing these custom JSPs, you cannot assume that you will be the only plugin to do this. So this feature is really geared more for SI's that are customing Liferay for a client and don't want to go through the trouble of an ext environment.

This makes sense because you can already override the implementation of beans (via Spring by just setting another implementation) and you an already set events and override portal.properties, so why not JSPs.