Successfully Embracing JIRA in the whole Project Lifecycle
This two-part series shows how JIRA can be used for other things than just bug tracking and presents mgm's experiences with embracing JIRA in...
Must-Know URL Hash Techniques for AJAX Applications
By coding the page state into the URL, even single-page web applications can support deep bookmarks and the browser's back button. The most accepted...
Effective and Efficient Techniques for a Rule-Based Test-Data Generator
This part explains some of the sophisticated software technology that is working behind the scenes in our rule-based test-data generator for form-centric applications. You...
How Google’s Geocoding solves Address Validation
For the e-commerce business, it is very important to have a valid and correct address base. Sending packages to incorrect addresses causes significant losses,...
GR8Conf: A gr8t Conference on Groovy based Technologies
On May 17th-19th, I took the opportunity to escape the daily "Java business as usual" on the GR8Conf conference in Copenhagen, Denmark. The three...
Rapid Prototyping with Spring Roo
Spring Roo, a new contender to Grails and Ruby on Rails, provides flexible scaffolding for Spring based applications. We used Spring Roo in a...
Getting the most out of LiquiBase
This last part of the series, we focus on successful database schema evolution with LiquiBase. You will learn about LiquiBase features that we find...
Non-Standard Ways of using Lucene
For our recent online shop project, we required a full-text, multi-criteria product search. Lucene, the popular Java search engine, is an ideal candidate for...
Why Functional Tests don’t belong in a Build Environment
The previous part discussed why a unit test for a class should be written by the developer of that class, and why a functional...
Portlets with XForms in Liferay
This posting discusses how we integrated an web application with XForms as one of the main view technologies into a Liferay portal. We were...