The challenge

I have been getting complaints from people who were trying to suggest a podcast to Podcastpedia.org, and that for a good reason. They were getting a page with the following message:

"Unknown error. Please inform us about it with the Error indication form."

This is the default page rendered when an unknown exception occurs. Although this is prettier than displaying the error stacktrace, it should be avoided – it didn’t tell the visitors much and me neither.

Octocat Source code for this post is available on Github - podcastpedia.org is an open source project.

Continue Reading ...

There are to main applications, that power Podcastpedia.org, one that is actually the web application and another one where I do administrative stuff and podcast updates. Experience has shown that if I want to run the podcasts updates in the background and do some testing/debugging/redployment on the front-end application it’s better to have them running on different Tomcat instances on the development machine.

Continue Reading ...

Every webmaster should know by now, that the <title> of a webpage, is one of the most important factors for ranking in the search results. Not only it is the title of the tab or browser windows, but it’s also the first line people see in the search results, followed by the URL and the snippet(this is usually the content of the <meta name="description"/> combined maybe with a date):

Search results - print screen snippet

Search results – print screen snippet

Octocat Source code for this post is available on Github - podcastpedia.org is an open source project.

You’ve seen in a previous post – SEO: Friendly URL construction with Spring MVC – how to build (search engine) friendly URLs (or permalinks). Well, in this post I will present how to generate dynamic titles and meta descriptions with Tiles on top of a Spring MVC application, which currently powers Podcastpedia.org.

Continue Reading ...

Note: This is a re-edit of the post Spring 3 and Tiles 2 Integration. It uses now the latest version of Apache Tiles (at the time of the writing 3.0.1) and presents how Apache Tiles is used on top of Spring/Spring MVC to construct the layout of the Podcastpedia.org website

1. Why Apache Tiles?

Well, because it

  • is a free open-sourced templating framework for modern Java applications.  Based upon the Composite pattern it is built to simplify the development of user interfaces.
  • remains, for complex web sites, the easiest and most elegant way to work alongside any MVC technology.

Tiles allows authors to define page fragments which can be assembled into a complete pages at runtime. These fragments, or tiles, can be used as simple includes in order to reduce the duplication of common page elements or embedded within other tiles to develop a series of reusable templates. These templates streamline the development of a consistent look and feel across an entire application.

Octocat Source code for this post is available on Github - podcastpedia.org is an open source project.

Continue Reading ...

I’ve just upgraded the web application that powers Podcastpedia.org to use Apache Tiles 3 instead of Tiles 2. I am particularly interested in the Tiles integration with Velocity for email generation.

Note: You need at least the Spring 3.2 release for this to work.

This occured in three small steps:

  1. upgrade maven dependencies
  2. upgrade tiles elements in the Spring application context
  3. upgrade tiles dtd version