Sports at the Beach hosts youth baseball and softball tournaments. The 95 acre facility, located near the Delaware beaches, draws teams primarily from the Northeast and Mid-Atlantic states. Inclind began its relationship with Sports at the Beach in 2001, designing and constructing both public and private websites. Since then, Sports at the Beach has flourished and has become the top attraction for youth baseball tournaments on the east coast other than Disney World’s sports complex in Florida.
From ColdFusion to Drupal
The main objective of the project was to migrate the website away from the aging ColdFusion language to a powerful PHP application founded on Drupal. The website was originally launched by Inclind in 2005 on ColdFusion 6, hosted on a dedicated Windows/MSSQL server. We re-architected the application in the Drupal 7 framework, leveraging it's combined capabilities of a CMS, CRM, and eCommerce system (via Drupal Commerce) to manage tournament products and tournament registrations, and provide a cleaner and more intuitive customer workflow from creating an account to registering a team and making registration payments.
Migrating Ten Years of History
Sports at the Beach database contains data going all the way back to 2002 when their very first system ran on top of an MS Access database (yep!). All of that history has been preserved and imported into their new system.
Utilizing Migrations, we were able to keep every single database record, normalize and clean the data for MySQL/Drupal, and fill in all the gaps that were lost over time either due to old bugs, mis-entries, or other anomalies. After a weeks worth of analysis of the MSSQL schema and data, we were able to craft a dozen Migration scripts to transpose the data over to MySQL. Since we use Migrations, we can quickly spot bad data coming in and stop and adjust the import, rollback and try again without any hassle. In the end, all of the 2 million database records made their way over. Migrating and importing a decade of content, users, orders, payments, registrations, tournaments, games and results took just around 3 hours (which is impressively fast for all that data to propagate through the Drupal ecosystem!).
Drupal Commerce & Event Registration System
The backbone of the site is a custom event registration system running on Drupal Commerce. Users who wish to sign their teams up for tournaments are actually submitting a registration for a tournament product, broken up by age brackets, and purchasing their slot on each respective tournament. To do this, we had to bypass the common workflow of E-Commerce and not require payment upfront. Customers are allowed to pay as they go, with payments set forth as business rules so they can pay in increments and retain their spot in the tournament. If no payment is made in the given payment schedules, the slot is released, and another registered team can claim the spot.
To do this, we customized the experience and changed the Drupal Commerce workflow to bypass the payment screen if the user was registering for a tournament. Since there are plans to have a full merch store as well, the original workflow occurs if the customer is only buying a t-shirt or other physical item. Through some custom code and permission, a customer can complete the checkout of a registration without making a payment. After they checkout, their registration is submitted, at which point they can continue to their account overview and make a deposit or pay the full balance.
This flexibility keeps a maintainable structure to not only converting users, but keeping tournament registrant lists flexible right up to the week before a tournament. Teams can hop in and hop out at any time, and other teams can be shifted into their place by staff members without any fuss.
Sports at the Beach's new website was designed from the ground up to be 'mobile first'- meaning we focused on the mobile aspect before polishing the desktop experience. Everyone attending tournaments can pull up the website on their phone or tablet device and check the day's schedule and game results, which is critically important as people find themselves less and less at a desktop computer and more on the go. Their new website is implemented in a responsive design fashion- the website reacts and responds to the display screen. Not sure what that is? Try resizing your browser on their website to see it in action. Staff can also login from anywhere on the premises and update scores or adjust the schedule on the spot without returning to the office.
Our hosting company, Acquia, has come through for us again providing us with a lightning fast server for our Drupal application. Combined with technologies like Varnish and MemCached, Sports at the Beach can withstand traffic surges and spikes of thousands of users and still stay online, which is typical activity during a tournament in the summer. The user experience is extremely fast and we are aiming to make them even faster.
Many moving pieces were involved in this conversion process. To address the specifics on how we achieved certain aspects of the system under Drupal Commerce or custom data models (for you dev geeks), we will be writing more specific posts about how we accomplished those parts. But for now, check out the new Sports at the Beach website!