5000 device types split across 10 brands, 5000 functions from 6 disciplines, 30 languages - potentially 750,000,000 pieces of content. One of the challenges facing today’s consumer product manufacturers is to keep expanding the product range while providing content tailored to the devices.
Our client is a global consumer goods manufacturer that specializes in a wide variety of brands and products from a broad range of disciplines. Due to increasing individualization and internationalization, it is becoming more and more complex to find a content management system that meets all requirements. It must be able to handle the enormous amount of content and provide the editors in a meaningful way at the same time, have integration with a translation agency, import data from other systems, and in turn provide interfaces for integration, among other things. Authentication should take place via the company’s own user administration and should also feature a concept for authorization.
This project was specifically about texts for device functions, i.e. generic things like “On”, “Off”, “Firmware update available”, or also specific functions like “Device function X for brand Y” or “Device function A for devices with requirement B”. These are needed to enable control of the devices from a smartphone app and to display the same text to the customer as is displayed on the device itself.
Since the predecessor system, a heavily modified open source CMS (Drupal), went through a long history of development like most software solutions, both extensions and operation became more and more complex. Therefore, we created a new concept that focuses on flexibility. Where originally there were only four different distinguishing criteria, it should be possible to add new criteria regularly with little effort, which describe devices with identical texts. In addition, the new system was to be more modern and powerful.
For this purpose, a web application was developed using React (client), NodeJS (server) and PostgreSQL (database) technologies. To prevent possible concurrency issues, a Redis was used as a processing queue, which structures the processes and brings them to execution in the correct order. Automated testing ensures quality and facilitates further development by immediately revealing when a new feature breaks an old functionality. The delivery process has been significantly streamlined in the new system. It is now possible to request up-to-date data in real time. The new concept also allows editors to see in the web interface what content to expect on a device and to react to it if necessary. Texts can be translated into all supported languages via an in-house translation system, either independently or with the help of an external service. Users are authenticated via the existing Active Directory and the application is run in AWS using Cloud Foundry, making it available worldwide.
With a team of developers, scrum master and product owner, Scandio was responsible for conception, development and testing in this project. The team was accompanied by a responsible product owner on the customers side, who completely trusted the team and gave them almost free rein. The project was launched as a fast-lane project alongside an agile framework to conserve capacity. Within 10 months, the legacy system was replaced, a new API was introduced and automated unit, integration and end-to-end tests were implemented. The performance of the search has been improved and editors have been enabled to edit data already in the search results. The new system runs on the infrastructure of the entire ecosystem, uses the same tech stack, and was thus successfully handed back into the hands of the ecosystem’s developers as planned.