## Überblick und Ausblick zum
Au
tomated
Ra
dio Projekt @ [ZWCM2020](https://www.community-media.net/) jackie / Andrea Ida Malkah Klaura <
jackie@diebin.at
>
David Trattnig <
david.trattnig@o94.at
>
the internet, 7. November 2020
Diese Präsentation und ihr [Sourcecode](https://gitlab.servus.at/aura/meta/-/blob/master/presentations/zwcm2020) stehen unter einer [AGPLv3](https://gitlab.servus.at/aura/meta/-/blob/master/LICENSE) Lizenz. Wir verwenden dazu das Präsentations-Framework [reveal.js](https://revealjs.com), welches unter einer [MIT](https://github.com/hakimel/reveal.js/blob/master/LICENSE) Lizenz veröffentlicht ist.
# 90min roadmap - AuRa zum Radiomachen -
was kanns?
- AuRa als Softwareprojekt -
wie läufts?
- AuRa als Architektur -
wo läufts?
- F&A und visuelle Einblicke -
wie schauts aus?
# AuRa zum Radiomachen ##
was kanns?
## AuRa users -
Radiomacher*innen
- Verwalten ihre eigenen Sendungen: - Hochladen von vorproduzierten Sendungen - Einstellen von Playlisten - Beschreiben einzelner Sendungstermine -
Programmkoordinator*innen
- Verwalten Sendereihen: - Erstellen neuer Sendereihen - Erstellen neuer Senderhythmen und Sendungstermine - Erstellen und Zuordnen neuer Radiomacher*innen-Accounts - Bearbeiten von Metadaten einer Sendereihe - Deaktivieren von alten Sendereihen
## AuRa users (indirect) -
Leute im Studio
- Schauen auf die Studio-Uhr -
Website-Besucher*innen
und
Hörer*innen
- Wollen wissen wann was läuft - Wollen wissen wann was lief - Wollen Infos zu einzelnen Sendereihen - Wollen Livestream oder archivierte Sendungen hören
## Interface requirements - am besten alles von einem Ort aus machen - aber egal von welchem Ort - mobile ready - an eigene Bedürfnisse anpassbar - gleiches Interface für RM und PK - aber mit mehr capabilities für PK - auch externe Workflows (z.B. CBA) integrieren
## Was AuRa noch können soll - Cut & Glue von archivierten Sendungen - Jingles verwalten (fürs Radio und für Sendereihen) - Dynamische Playlisten (z.B. Musikpools) - Automatisierte Sendungswiederholungen - Automatisierte Sendungsübernahmen
## Was AuRa (noch?) nicht macht - Live studio mixing - Live studio info -> trackservice - Kaffee kochen
# AuRa als Softwareprojekt ##
wie läufts?
## “free” as in “free speech”,
not as in “free beer”
(source:
https://www.gnu.org/philosophy/free-sw.html
)
## Ausgangsbasis ### bei ORANGE 94.0 (Wien) - ~ 450 Radiomacher*innen und 198 Sendereihen - Ein veraltetes unmaintainable Playoutsystem (YARM) - Ein Programmverwaltungssystem das auf OpenACS basiert (in TCL geschrieben) und auf einem AolServer4 aufsetzt - Eine veraltete Website mit unzähligem unmaintained Script-Patchwork - Ganz viele Bash- & PHP-Skripte dazwischen und rundherum
## Ausgangsbasis ### bei den Projektpartner\*innen - FRO (Linz): Playout via YARM, kriselt schon, ~ 280 RM - FRF (Freistadt): früher YARM, inzwischen Airtime, > 100 RM, 70 Sendereihen - Helsinki (Graz): Rivendell, selbst entwickelte PV (aus der AURA Steering wurde), > 220 RM - Radiofabrik (Salzburg): Playout via YARM, läuft noch (!) ganz ok, > 350 RM, 204 Sendereihen, ~8.5 Std. Programm-Neuschöpfung / Tag
Stand, Nov. 2020, statistische Daten von den Websites der Radios übernommen
## Beispiel ORANGE 94.0
## "Allein machen sie dich ein" ### why
Y
et
A
nother
R
adio
M
anager?
## Y.A.R.M. - Java-basiertes Playout-System - 2004 bei der Radiofabrik Salzburg entwickelt - Von mehreren anderen Freien Radios übernommen - Inzwischen veraltet und unmaintained - Entwicklung blieb an einer Person hängen und vollständiges Open Sourcing hat nie geklappt
[Y.A.R.M. im Webarchiv der Radiofabrik](https://radiofabrik.at/organisation/projekte/abgeschlossene-projekte/y-a-r-m-2004-2014/)
## Initiative zu AuRa - Radiofabrik, Radio FRO, Freies Radio Freistadt, ORANGE 94.0 hingen (damals) alle noch am YARM - Dringender Bedarf für etwas Neues, gut Handhabbares - Erhebung von über 50 Anwendungen (FLOSS und kommerziell) ergibt - Keine bestehende Software erfüllt alle unsere Anforderungen ausreichend - Radio Helsinki (Graz) hat bereits eine eigene brauchbare Programmverwaltung auf Django-Basis öffentlich entwickelt (https://git.helsinki.at/) - Michael Liebler (Radio Z, Nürnberg) hat ein Playoutsystem mit Python öffentlich entwickelt (https://gitlab.janguo.de/groups/comba)
##
Arrr!
Auf zu neuen Ufern!
(2017)
- Wir
poolen unsere Ressourcen
: - FRO, FRF, ORANGE und Radiofabrik sowie Helsinki stellen Kohle bzw. Arbeitsleistungen zur Verfügung - 4 Core Developers (2x FRO, 1x Helsinki, 1x ORANGE) - insgesamt ~ 1 bis 1.5 Vollzeitäquivalente an Entwickler\*innenzeit - Wir
setzen auf bereits bestehende Projekte auf
: - Helsinki Programmverwaltung in Django (Python) - Python-basiertes Playout auf COMBA-Basis - Einarbeitung des gemeinsamen Pflichtenhefts
mehrerer Radios
-
Extensive Planung
von Architektur & APIs
VOR der Implementierung
- Wir entwickeln
von Anfang an öffentlich als freie Software
## Aktueller Status ### Komponenten -
steering
(= Programmveraltung): aus der Helsinki PV weiterentwickelt -
engine
(= Playout): ursprünglich COMBA-based, im Grunde neu geschrieben und reduziert -
tank
(= Importer): auf Helsinki-Komponente basierend neu für AuRa -
dashboard
(= UI): Neuentwicklung spezifisch für AuRa (siehe vorige Screenshots) -
battery
(= Aufnameverwaltung): in Planung
## Aktueller Status ### Team - 5 Core Developers (2x ORANGE, 2x Helsinki, 1x Radiofabrik) - 1 Projektleitung - 1 UI Tester und GFX Contributor
## Aktueller Status ### Work packages - 122 open issues - 110 closed issues - 20 epic issues - for AuRa 1.0: - 49 open issues (7 epics) - for AuRa 1.1: - 30 open issues (6 epics)
## Aktuelle Herausforderungen - Keine klaren Maintainer-Strukturen & -Kapazitäten - Requirements werden langsam unübersichtlich, geraten in Vergessenheit oder tauchen neu auf - 20 Wochenstunden pro Komponente mit nachhaltiger Beteiligung wären eigentlich ein Minimum - zur Zeit haben wir 2 davon (die beiden neuesten Core Devs)
## Aktueller Zeitplan - Jänner 2021: Vollständige API-Spezifikationen - Februar 2021: Start der "Playout" Testphase (AuRa 1.0) - Juli 2021: Start der "High Availability" Testphase (AuRa 1.1)
# AuRa als Architektur ##
wo läufts?
##
au
to
ra
dio - https://gitlab.servus.at/autoradio
## Technisch-organisatorische Anforderungen: - Modularer Aufbau, bei dem einzelne Komponenten ausgetauscht werden können - Transparente und gut beschriebene Schnittstellen, die mit einer REST API implementiert werden - Aufbau auf bestehenden Teillösungen die in einzelnen Radios bereits erprobt sind - Verwendung etablierter Entwicklungsframeworks
## AuRa Datenmodell
## AuRa Komponenten -
dashboard
(Javascript, Vue.js) -
steering
(Python, Django) -
engine
(Python & Liquidsoap) -
tank
(Go) -
battery
(Python)
## Ursprüngliches Architekturmodell
## Aktuelles Architekturmodell - möglichst simpel auf zwei Maschinen umsetzbar (theoretisch auch auf einer) - oder als redundante HA Variante - [aura-network-diagram-0.6.pdf](imgs/aura-network-diagram-0.6.pdf)
## Setup - zur Zeit noch nicht ganz trivial und ohne Linux admin skills nicht unbedingt zu empfehlen - einiges ist schon containerized - Ziel ist ein fully/mostly containerized setup (mit Docker) - Setup procedure sollte im Idealfall reduzierbar sein auf: - repositories pullen - globale Umgebungsvariablen setzen - per Skript (oder direkt docker-compose) die Services starten
## Contributions - für größere code contributions sollten wir vorher maintainers haben - über einfachere bug fixes freuen wir uns - eigene GitLab Instanz - ist in dem Fall eher ein Hindernis - über Accounts lässt sich aber reden - am einfachsten können wir mit Doku contrib umgehen - ein gemeinsamer Standard/Format wär aber gut - Lokalisierungen können auch bald gemacht werden und lassen sich gut auslagern
# Infos, Ressourcen und Kanäle - GitLab:
https://gitlab.servus.at/aura/
- v.a. das meta Repo mit Infos zum ersten Einstieg und den docs - und auch dieser Präsentation - AuRa users mailinglist:
https://mailman.o94.at/mailman/admin/aura-users
- AuRa Test Instanz:
https://aura-test.o94.at/
(write us for accounts) - API Definitionen:
https://gitlab.servus.at/aura/meta/-/blob/master/docs/api-definition.md
- Engine API spec:
https://app.swaggerhub.com/apis/AURA-Engine/engine-api
- Mattermost (bislang nur intern)
#
F
&
A
- Welche Fragen habt ihr? - Was wollt ihr sehen?
## Überblick und Ausblick zum
Au
tomated
Ra
dio Projekt @ [ZWCM2020](https://www.community-media.net/) jackie / Andrea Ida Malkah Klaura <
jackie@diebin.at
>
David Trattnig <
david.trattnig@o94.at
>
the internet, 7. November 2020
Diese Präsentation und ihr [Sourcecode](https://gitlab.servus.at/aura/meta/-/blob/master/presentations/zwcm2020) stehen unter einer [AGPLv3](https://gitlab.servus.at/aura/meta/-/blob/master/LICENSE) Lizenz. Wir verwenden dazu das Präsentations-Framework [reveal.js](https://revealjs.com), welches unter einer [MIT](https://github.com/hakimel/reveal.js/blob/master/LICENSE) Lizenz veröffentlicht ist.