Local Tennis Leagues automates pretty much everything with Drupal

Local Tennis Leagues (LTL), the largest tennis league organization in the United Kingdom, has been growing at an incredible pace for years, and now has over 8,000 active players. The organisation is dedicated to giving tennis players on park courts and public places the chance to play competitive matches. In 2014 LTL entered into a formal partnership with the LTA, the governing body of tennis in the UK.

LTL has always been innovative, finding budget-conscious IT solutions which have allowed the organization to scale without compromising its personalized approach. However, the data entry tasks were rapidly becoming overwhelming. The leagues and store were run out of a FileMaker database, while the website was frequently updated, by hand, to match the information in the database.

Inner File Software worked closely with LTL to develop a two-stage plan, supported by the LTA, that would bring their infrastructure into the modern world and reduce the painful requirements of duplicative data-entry.

Phase one: Upgrade to Drupal 7, design new theme, integrate with FileMaker database

LTL's website had a lot of great content, but it didn't do much and the design was, well, dated. The site was powered by Drupal 6, which was about to be retired, and needed to be rebuilt in a modern version of Drupal. Drupal 8 was not yet launched, and LTL's needs included many contrib modules that were not yet ported to Drupal 8, so we decided to use Drupal 7, which was rock-solid with a mature contrib eco-system. We migrated their content and worked with our design partners at MadeByWe to create fun, memorable branding and a sleek, easy to use, mobile-friendly website design.

The FileMaker database powering the leagues had been built over many years and was full of important, sophisticated, business logic that could not quickly or easily be re-written. The FileMaker database was reliable, tested, and the staff were comfortable in it, so we decided not to retire it right away. We were, however, able to remove the vast majority of the duplicative data entry by authoring custom Drupal modules that read from, and wrote to, FileMaker. We also created a Drupal user role for tennis players, and were delighted to discover that the players themselves were happy to take on the data-entry requirements of reporting scores after matches, once they could do so through a web browser on their phone or computer.

Phase two: Goodbye FileMaker, hello Drupal web-app

This also meant the need to finally say goodbye to FileMaker forever. Don't get us wrong, we love FileMaker, but one database is always better than two. Since the website is the location that needed to collect and display the data, it was an easy decision to make Drupal the canonical (and only) database. Most Drupal systems just manage and display content, but we needed LTL's to be a full fledged web-application.

Converting hundreds of thousands of lines of code in FileMaker into a suite of Drupal modules was no small task. It may sound like a website supporting tennis leagues would be simple, but the complex requirements proved to be anything but. The tiny, but important, detail of validating a reported score took over 1,000 lines of DRY code by itself. The sorting algorithm ranking teams, again just a small part of the project, proved to be so sophisticated that LTL are considering employing it in a joint project with London School of Economics centred on predicting the skill level of tennis players before they play any matches against each other. The e-commerce aspects of the site required custom coupons and tokens with requirements that went beyond the (vast amount of) options available in the Drupal Commerce contrib world.

The new site went live in September 2016 and will be fundamental to the continued expansion of  LTL as it seeks to being “friendly, competitive tennis on a court near you” to more and more players.