WaveMetrics

WaveMetrics

WaveMetrics

Two major Drupal upgrades and a custom syntax highlighting migration to highlight.js, keeping scientific documentation accessible without interruption.


Development

Industry

Software

Timeline

Ongoing Partners since 2021

Technology

Drupal 10, highlight.js

Highlights

Hello World has partnered with WaveMetrics for over four years, maintaining their Drupal infrastructure and executing two major version upgrades from Drupal 7 to 9, then 9 to 10. We migrated their custom syntax highlighting module to highlight.js for broader language support and easier maintenance, all without service interruption.

Services

Drupal Development & Upgrades
Custom Module Migration
Platform Maintenance
Technical Strategy

Overview

WaveMetrics builds Igor Pro, a leading technical graphing and data analysis platform used by research institutions, universities, and industries worldwide. Their website serves scientists and engineers who depend on detailed documentation, code examples, and community resources to get the most out of the software.

When Hello World began working with WaveMetrics, the site was running on Drupal 7, an aging platform approaching end of life. The site featured a custom syntax highlighting module critical to their documentation, where code samples are a core part of the user experience. The challenge was clear: modernize the platform without breaking the tools their community relies on.

The Challenge

Two Major Upgrades. One Custom Module. Zero Downtime.

Drupal 7 to 9 was not a simple update. It was a full migration: new database schema, rebuilt content types, and every custom module needed to be rewritten or replaced. The site’s custom syntax highlighting module, built specifically for Igor Pro’s programming language, had no off-the-shelf equivalent.

After successfully reaching Drupal 9, the clock was already ticking on the next upgrade. Drupal 9’s end of life meant another migration to Drupal 10 was needed, requiring further compatibility updates across the theme, contributed modules, and custom code.

Throughout both upgrades, the site needed to remain fully operational. WaveMetrics’ users expect reliable access to documentation, downloads, and community forums at all times.

Our Approach

Drupal 7 to 9: A Full Migration

We planned the Drupal 7 to 9 migration methodically, auditing every content type, custom module, and third-party dependency before touching production. Content was migrated using Drupal’s migration framework, with custom migration scripts for the syntax highlighting data. We staged the migration in isolated environments, validated content integrity, and coordinated the cutover to minimize disruption.

Custom Syntax Highlighting to highlight.js

The original custom module was tightly coupled to Drupal 7’s architecture and only supported Igor Pro’s language syntax. We migrated it to highlight.js, a widely adopted client-side library that supports hundreds of languages. This gave WaveMetrics broader syntax highlighting capabilities while dramatically reducing maintenance overhead. We wrote a custom highlight.js language definition for Igor Pro to preserve the specialized formatting their users depend on.

Drupal 9 to 10: Staying Current

With the foundation solidified in the Drupal 9 migration, the upgrade to Drupal 10 was more straightforward but still required careful attention. We updated deprecated APIs, ensured contributed module compatibility, and validated the theme layer against Drupal 10’s updated rendering pipeline. The highlight.js integration carried over cleanly, validating the decision to move away from a tightly-coupled custom module.

Ongoing Maintenance

Beyond the major upgrades, we provide ongoing maintenance: security updates, performance monitoring, module updates, and incremental improvements. Communication has been clear and consistent throughout the partnership. We explain things plainly, respond quickly, and deliver on commitments.

Results

  • 2 major Drupal upgrades (7→9→10) completed without service interruption
  • Custom syntax highlighting migrated from a bespoke Drupal module to highlight.js with a custom Igor Pro language definition
  • 4+ years of reliable partnership with clear, consistent communication
  • Reduced maintenance burden by adopting widely-supported open source libraries
  • Zero downtime across both major migrations and ongoing maintenance