DjangoCon Europe 2023 | The evolution of a Website into a radio automation back-end.
The evolution of a Website into a radio automation back-end. by Ernesto Rico Schmidt https://pretalx.com/djangocon-europe-2023/talk/9MBQEB/
What started as a Website to show the schedule of a free radio, has resurfaced as the back-end of a radio automation software suite that provides the schedule and acts as an OpenID Connect provider.
There are both commercial and open-source solutions for radio automation, but the requirements of free radios are very different from commercial radios, specially regarding the scheduling options and the end-user interface.
With AURA, we are developing a free and open-source software automation suite for free radios.
At the core of AURA is steering, a Django application that serves as the "source of truth" for the schedule and acts as an OpenID Connect provider for the components of the suite.
First, I'll describe the situation free radios in Austria face: The commercial radio automation software available, and the only supposedly free solution, currently in use at some radio stations in Austria, have showed that a (Java) monolith and a single developer is not the best approach for the rather complex and varied schedule and play-out requirements of free radios.
This moved a group of free radios in Austria to start the development of a free and open-source software suite of radio management, program scheduling and play-out automation software: AURA.
Second, I'll give a short overview of the distributed architecture and the components of AURA, and focus on how it distinguishes from the monoliths that are currently in use at some of the free radios in Austria.
Then, I'll explain the data models behind the Django application, with a special focus on the recurrence rules and the schedule conflict resolution, the most complex parts of steering.
Finally, I'll show how steering also serves as an OpenID Connect provider for all the components of the software suite and uses LDAP Authentication.
I will focus on the architecture decisions we took during the planing and development, and how the open-source development is a better and more sustainable approach to a common problem for free radio stations.
I will show small snippets of code of the most interesting parts of the Django application, and explain the rationale behind them, specially the recurrence rules, and the schedule conflict resolution.
In this case Django is not providing a Web application or a Web site but it is providing a REST API and acts as the back-end of a software suite, and serves as the "source of truth" for the scheduling and the play-out automation of the radio station, but it also serves as an OpenID Connect Provider to the components of the AURA suite.
Captions based on transcripts of original live captions, used with permission of the Reporter. This transcript was provided as communication support for deaf and hard of hearing people. It should not be regarded as a fully checked and verified verbatim record; it has no legal standing. It should not be circulated or copied to other parties without the permission of the Reporter. Original transcript by Speech to Text Reporter: Andrew Howell
Date Added: September 19, 2024
Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.