Sector(s)

Team Members

Project Team

The project was led by CodeLift founder Niels de Feyter, who managed the complete migration across 341 commits over approximately one year (Dec 2024 - Dec 2025), including infrastructure replication with DDEV, custom module rewrites, Search API Solr integration, and visual regression testing.


 

Visit the site

Visit the site

Organizations Involved

Community contributions

config_uuid_deterministic - A Drupal module for deterministic UUID generation in configuration management, useful for multi-instance deployments.


 

BlikOpNieuws is an online news platform serving all 12 Dutch provinces with news about automotive, health, sports, and regional topics. CodeLift migrated the complete Drupal 7 website to Drupal 10, including all 300,000+ articles, Apache Solr search integration, RSS feeds, XML sitemaps, and 8 custom modules completely rewritten for Drupal 10 compatibility.

About the project

BlikOpNieuws is a Dutch regional news platform handling high daily traffic and managing an archive of more than 300,000 articles across all 12 Dutch provinces, covering automotive, health, sports, and regional news.
 
Goals and Requirements:
- Migrate from Drupal 7 to Drupal 10 with complete content preservation
- Maintain pixel-perfect look-and-feel so the editorial team could continue working immediately
- Preserve Apache Solr search integration for 300,000+ indexed articles
- Rewrite all custom modules for Drupal 10 compatibility
- Maintain RSS feeds for app integration and XML sitemaps
 
Challenges:
- Massive content archive of 300,000+ articles requiring complete data integrity
- Complex search infrastructure with Apache Solr backend powering news overviews, RSS feeds, related articles, and the main search function
- 8 custom modules (bon_appmachine, bon_display_node_time_ago, bon_editorspicks, bon_term_block, bon_week_overview, bon_wvt, and others) requiring complete rewrites
- All Views needed conversion from database queries to Search API with Solr backend
 
Approach:
- The upgrade was executed in multiple phases: first contributed modules were upgraded to D10-compatible versions, then Drupal core was upgraded, and finally all custom modules were rewritten
- The complete production environment including the Apache Solr search engine was replicated locally with DDEV for remote development and extensive testing
- 8 custom modules were completely rewritten for functionalities including RSS feeds for app integration, editor picks, dossier blocks, weekly overviews, weather/traffic/train information, relative time display, bot protection, and form security
- AI was utilized for refactoring legacy code and converting outdated PHP patterns to modern Drupal 10 standards with dependency injection and services
- All Views were converted from database queries to Search API with Apache Solr backend
- Automated regression testing with BackstopJS across 17+ pages validated the migration
 
Outcomes:
- 300,000+ articles successfully migrated with 100% data integrity
- 8 custom modules rewritten for Drupal 10
- 17+ pages validated with BackstopJS visual regression testing
- Apache Solr search index optimized for faster results across the complete archive
- Editorial workflow remained identical for seamless team transition
- Platform secured with latest Drupal security updates

Why Drupal was chosen

The client was already running on Drupal and chose to modernize their platform rather than replatform. Upgrading preserved their existing content, workflows, and team expertise while gaining access to modern Drupal's improved security, performance, and extensibility.
BlikOpNieuws (blikopnieuws.nl)

Technical Specifications

Drupal version:

Key modules/theme/distribution used:

Why these modules/theme/distribution were chosen
Search API and Search API Solr were essential for maintaining the high-performance search across 300,000+ articles. Views provided the foundation for news overviews, RSS feeds, and related article displays. The Migrate API handled the massive content migration from Drupal 7. All 8 custom modules were rewritten to preserve platform-specific features like app RSS feeds, editor picks, weather/traffic information, and relative time displays.