Skip to main content

Scuba: Drupal Style

Over the past few months, I've been enjoying my other passion, scuba diving. At the end of each dive comes the boring part ... logging the dive. Most everything is kept in my dive computer, but I still have to download it to my laptop using the manufacturer's dive log software which doesn't have the best UI experience in the world but it works. There are a couple of problems with it, more like one problem and one missing feature, however.

First, the printing of logbook pages straight up sucks. The text is entirely too small, it's not in the standard logbook page size, and other more minor issues. Second, the software runs on the computer desktop and I'd like to keep my logbook "in the cloud" to be able to access it from anywhere ... even on dive sites.

I found a few websites and third-party dive log software applications that let me manipulate and convert my software's format and post online with public or private URL's. Even with doing that, it wasn't good enough. The presentation of those websites was pretty basic and had limited features. Most only displayed the basics of the dive and I don't think I found any that let you upload photos and/or videos as part of a dive log.

For this reason, I decided to begin the quest of building a scuba logbook module suite in Drupal 7. Why? Not only am I a big fan of Drupal, but it also allows other users to extend and build upon my work to add features that THEY WANT with very little effort.

As of this writing, the module suite is still in alpha stage, but the very basics of logging a dive are accounted for and working. Some of the design requirements that I set in the beginning, and are present in the alpha version, are:

  • Multi-user support Each user on the Drupal site can have his/her own dive log and tested with Drupal Commons 7.x-3.x.

  • User-configurable measurements Each user can control whether his/her data is displayed in either metric or imperial units.

  • Dive profile If a user dives with a computer and can download the data, they can enter that data to display a dive profile for the dive. This is a separate module and is not required to use the dive log.

  • Locations Using the Locations or other geospatial modules available for Drupal, dives can be mapped using Google Maps or OpenLayers.

  • Feeds importing of data The Feeds module can be used to import CSV formatted dive data. Several import parsers are planned in the future to make importing dive data from different computers and applications more straight forward. There is currently a klunky, albeit working, prototype for the TUSA IQ-700 dive log files.

For a more detailed look at the module(s) in operation, visit my sandbox project. The dive log pages are actual data downloaded from my TUSA® IQ-700 dive computer using TUSA DiveLogBook version 1.113.