Dev @ Work

A day in the life of a developer

Quick Status Update

December 12th, 2009 by

A lot of things happened in my life the last couple of weeks. It has been incredably busy and to be honest: I am more than ready for the christmas holiday. Just one more week of work now. I won’t bother you with every little detail so here is a quick list:

Posted in General | No Comments »

Liferay: Good, Bad or Ugly?

November 2nd, 2009 by

liferay logoHello, I have been developing application for Liferay for about one month now and I thought it would be a nice idea to share my experience. This is no thorough review of the product, just my personal experience with Liferay.

For those who don’t know what Liferay is: it is a portal server based on Java technology. It allows you to create portal and community websites easily. It provides more than 60 out-of-the-box and ready-to-use application called ‘portlets’. Those ‘portlets’ range from simple editorial blocks to blog engine and a chat portlet. It contains a full blown content management system and some powerful collaboration tools. See http://www.liferay.com/web/guest/products/portal/features for a comprehensive list of features.

Anyway, I have been working with Liferay for about one month now, specifically for one project. I won’t elaborate on the project in details but it is a career portal with jobs, resumes and company presentations. I have developed a considerable part of the code myself and it has been an interesting experience because I never wrote one line of Java before: I have a c++/.NET background. Fortunately, I have a good, experienced Java team to back me up.

Okay, lets get back to the subject now. I will separate my experiences into three categories:

The good

In my opinion Liferay is a complete product, the out of the box portlets are useful and you can actually create a full portal just with those portlets: that is impressive.

I also like the fact that Liferay provides pre-packaged version of their portal software which you can download and run without any special configuration. You can get a Liferay portal up and running in 5 minutes.

The Liferay community is active. You can find a lot of information in the WIKI and on the forum. I also like the fact that Liferay provides seminars around the world, to me that is a sign of professionalism.

I also like the fact that Liferay offers custom JS and CSS includes per portlet, this allows me add style and JavaScript without having to code it into the portlet itself  or in a Liferay theme.

The API is pretty powerful and usable, although it is hard to find out how it works (seen second point of The Bad).

The bad

What I think is really bad on Liferay is that there are still some major bugs open in version 5.2.3. Those bugs should have been fixed a long time ago IMHO. I am not sure if those bugs are fixed in the enterprise version of Liferay, so I am judging on that. For example LPS-114.

One other thing I think is bad on Liferay is the lack of API documentation. It is really hard to find how certain things are achieved or what methods do exactly. For example I have spend some hours finding out how I can retrieve a list of pages of the current community. I have searched the Liferay Wiki, the Liferay forums and used Google without success: I ended up reverse engineering Liferay itself. It is working beautifully now but it wasn’t a good experience figuring it out.

The Ugly

Even though Liferay is supposed to be fully compliant with JSR-168 and JSR-286, I can’t get the custom portlet mode to work properly. Although this seems to be an optional part of the JSR-286 I  assume that a enterprise product like Liferay would support this feature. I had to apply a work around which resulted in ugly code.

Considering all above points, I can say I am fairly impressed by the Liferay portal. I would choose it again for portal project.

Please let me know if you agree or disagree with me, lets get into a debate regardin Liferay! It deserves it!

a Black Day

October 27th, 2009 by

Hello, today is a black day for me: my grandfather passed away this morning. Thankfully he passed away in his sleep. He was diagnosed with lung cancer 2 years ago; the docters gave him just a few more months but he was fighting the cancer off long enough to celebrate his 80th birthday which was last week. Although I am writing my thoughts down, I can’t possible describe what he meant to me and how much it hurts to know what I won’t be able to be talk to him. Ever.

It has strange that I only now realize what he meant for me and how much he has done for me for which I am thankful. He has been a great example to me. He always encouraged me to construct something, whether it was Lego or software development, it didnt matter. He had a great influence on my career choice and one of the reasons I am who I am now.

‘Opa’, I will never forget you,

thank you for everything

I drowned myself in my work today but I realize that is no way to deal with the loss. We all go have to deal with losing a loved one at some point in our lives, I thought I prepared myself for it but it still hit me like a rock. I have no ‘cure’ for this pain but I can tell you that writing your feelings down helps me deal with it. Maybe it is the hope this post will leave a trace so my grandad won’t be forgotten.

Posted in Personal | 2 Comments »

Extending your Successful Website: Improve your Search Engine

October 24th, 2009 by

convert search into moneyAs I showed you in my previous post, Expanding your Website: Make your Visitors Feel Home, innovation on your website is a must in order to keep ahead of your competitors.

Everybody knows that making your content findable is important. There are numerous websites dedicated to optimizing your website for the Google, Yahoo, Bing and Ask. The term SEO (Search Engine Optimization) is commonly known and I am not going to talk about that!

In this article I am going to talk about improvements you can make to your website’s internal search engine. If your website does not contain a lot of content or the content is highly volatile this article might not be relevant for you.

However if your content is really specific, for example:

  • Job offers
  • Location based (company addresses, houses, appliances, etc.)
  • Articles or Whitepapers about specific subjects

This article is a must read for you. First we will get through 2 cases I made to give you idea in what ways you can improve the user experience. Next we will talk about different technologies and selection criteria for search engines.

Read the rest of this entry »

Ping

October 24th, 2009 by

Echo, yes I am still alive, don’t worry. It is has been pretty busy lately. here is a list of things currently happening in my life:

  • My grandfather is very ill, my thoughts are with him
  • My girlfriend are in the process of buying a house and moving
  • I am fighting a deadline for a project developed in a technology (Java) I am no expert in
  • Both are cats are still a little ill

Anyway, I am going back to work now.

Posted in Personal | No Comments »

My First Java Steps

August 25th, 2009 by

Hello all, sorry for the radio silence lately, you might wonder what I have been doing lately. Well I have committed a terrible sin against the .NET framework (my previous home :P ): I started learning Java.

Why Java? Because several clients of Liones demand that their applications must be build on the Java platform and I am deeply involved in the process. I am not going to bother you with the organizational side of the process, I will focus on sharing my experience.

Learning Java isn’t really the objective for me, it is just another programming language and C# is similar enough to not cause any problems for me to program in Java. The real objective is to be able to develop applications (called portlets) for the Liferay portal framework. The hidden challenge, for me, turned out to be setting up the environment.

I got everything up and running today: Java, Ant, Tomcat, Liferay and I developed my first custom portlet (an application for Liferay) using above technologies and Java Server Faces. I will post an article on how I did it soon!

Posted in Java | 1 Comment »

Implementing a front end for Microsoft Dynamics CRM

July 30th, 2009 by

Microsoft Dynamics CRM 4.0Today I was working at a custom front end application for Microsoft Dynamics CRM, a project I have been blogging about before. The goal of that project is to create a client portal showing information directly from the CRM. I am going to describe to you the 3 steps you need to take to implement your own front end for Microsoft Dynamics CRM.

Read the rest of this entry »

My Outsourcing Experience :: Status Update

July 21st, 2009 by

Let me give you a quick update regarding my project with outsourcing: the agreement is signed and the work is in progress. I am pleased with the way things are going and I am looking forward to the first batch.

What I love about this way of doing business is the enormous commitment from people you have never seen and the feeling of trust it creates.

Implementing Microsoft Dynamics CRM 4.0 :: First Experience

July 8th, 2009 by

Microsoft Dynamics CRM 4.0Last week at Liones we started a custom front-end project for Microsoft Dynamics CRM 4.0 and I am one of the developers working on the project. It is my job to write a library around the web service which MS CRM provides. The service itself is pretty easy because it contains only 7 methods:

  • Create
  • Retrieve
  • RetrieveMultiple
  • Delete
  • Execute
  • Fetch
  • Update

The difficult part is to get the queries right because it is hard to determine how entities are related to each other if you don’t know the system. However I found a really useful tool to do this for me: FetchXML Wizard.

This is just a short post, next time I will tell you more about my adventures with MS CRM.

My Outsourcing Experience :: Second Week

July 3rd, 2009 by

Hello and welcome back to my series of post about my first experience in outsourcing content transformation in India.

In the first week we (the company in India & Liones) discussed the specs of the projects and we sent some sample file.

This week we finished the discussion about the specs and I got some samples back to check against those specs. At first glance there seemed to be a problem in a date field but it turned out to be a bug in my PDF reader tool. I was impressed by the quality of the work the Indian company delivered.

They were able to give me a sharp quote, which I could pass through to the client; they even were able to give an exact turnaround time.

We are currently finishing the price negotiation.