Sector(s)

Team Members

Visit the site

Visit the site

Organizations Involved

SensDesk.com is a B2B IoT platform developed by HW group that monitors and manages thousands of sensors and devices in data centers, hospitals, and industrial facilities.

The system not only collects and visualizes data but also handles the complete management of connected devices and the distribution of firmware updates. Technically, it is a distributed system released as a Debian package running on LXC containers.

About the project

Data collection and processing (e.g., triggering alarms) are performed by Linux daemons, resulting in external database writes outside of Drupal (for processing speed). Therefore, data consistency must be addressed. By combining Drupal's Entity API with custom SQL tables and InfluxDB for chart data, the platform handles significantly higher loads with better response times. It also uses WebSockets for real-time data.

Migration Challenges

Critical Availability: In addition to migrating a huge codebase of custom code, the system migration required a highly customized engineering approach to ensure zero data loss for devices communicating 24/7. Any prolonged downtime or data inconsistency could cause financial losses for end clients.

Non-standard Architecture: The application relies on deep customizations, including direct writing to database tables by a Linux daemon running in the background.

Distributed Deployment: The migration could not be performed manually by developers. It had to be a "one-button" script capable of autonomous execution in a containerized environment at the client's site without breaking the system.

The Solution

Drupal's readiness for migration to newer versions, whether in the core or via contrib modules, was a great help here. However, due to the nature of the project, it was also necessary to create a set of migration scripts outside standard Drupal database tables and relationships, disable database triggers, and implement symlink strategies to handle gigabytes of data in limited environments at various clients. A huge benefit was also the integration of dozens of customized commands for Drush (allowing direct interaction with Drupal from the command line), whether for the partial migrations themselves or for thorough verification of data integrity.

The fully automated migration script enabled a smooth transition in a distributed environment with minimal downtime, thereby protecting the continuous flow of data. In addition to better performance, cleaner and more manageable code, the project gained increased security thanks to the migration to a newer version and is now fully ready for the future. The transition to the latest version of Drupal secured the platform against vulnerabilities, which is a key factor for a B2B service.

Why Drupal was chosen

Drupal was a clear choice for this project because it offers robust user management, detailed permission control, language support, and flexibility regarding custom entities.

Thanks to its modular architecture, we were able to focus on developing the required functionality without building the application from scratch.

SensDesk fully utilizes the advantages of Drupal’s custom entities, as well as custom access, custom field types, computed fields, advanced caching, complex time zone management, and much more.
 

Sensdesk.com Homepage

Technical Specifications

Drupal version:

Key modules/theme/distribution used:

Sensdesk.com with dashboard and mobile screens
Sensdesk.com Devices screen