Tamedia—a leading media corporation in Switzerland—offers their customers electronic access to the print newspaper archive as part of their digital news subscription. The existing graphical user interface (GUI) which is used to browse and access PDFs of past articles was outdated and barely usable. In addition, the former service provider responsible for providing the print archive content discontinued the service. Therefore, a new solution, with a modern GUI, providing newspaper archive content to readers was needed. Tamedia had already set up a new database and a data interface (REST API) for the archive contents. However, the data interface was not intended to be publicly exposed on the internet. Therefore it was barely protected and the load of public traffic could not be handled. Thus, some sort of middleware, able to handle the public load and to protect the content from unauthorized access, was also needed.
Multiple requirements make the development of a new print archive solution a challenge for which no internal development resources were available within a reasonable time. The new solution needed to be self contained but integratable into the digital news products. In addition, the new solution must be able to provide content of all news products (Tages-Anzeiger, Basler Zeitung, Der Bund, etc.) in the corresponding language (DE, FR). Every user should be able to search for archive content, but only users with an active subscription for a certain news product are allowed to download the PDFs of that news product. The solution therefore required a business and access logic.
To deliver the new archive search solution in a short time we focused on an efficient development approach based on time-boxed sprints. Time-boxed sprints combined with a state of the art web technology stack and development environment allowed us to deliver a first working implementation within a couple of days and operate it in a productive cloud environment. In further iterations, we improved the solution and added additional features. These changes were tested, built and, thanks to our automated CI/CD pipeline, deployed effortlessly to staging and production environments. We delivered our solutions containerized as Docker images. As a result, our client can operate them without worrying about environment dependencies or version compatibility. The images run exactly the same everywhere—locally on a developer's machine, on an on-premise server or in the computing clouds of providers like Amazon Web Services (AWS), Google Cloud or Microsoft Azure. We operate our solutions in a Kubernetes Cluster for continuous availability and automatic horizontal scaling.
The new archive solution was delivered in time for the go-live of the first news product, the Bernerzeitung. The solution is a self contained web app, which can be integrated into the news product's websites and native mobile apps via the CMS. Furthermore, it can be placed at any desired location. The design of the UI adopts the design of the new news websites and is fully responsive for mobile and desktop. Although all news products call the same instance of the app, only the contents of the corresponding product are displayed and accessible. Additionally, the language of the UI automatically adapts to the corresponding news product. To decide whether a user is authorized to access the archive content, the archive web app obtains encrypted user information from the news product. Based on this information, the PDF content is then either delivered to the client or not. Thus, the treasures of the archive are server-side-protected and users are encouraged to pay for quality news content.
lines of code