Hört macht unterstützt freie Radios
Freie Radio App - Entwickler¶
Versionen¶
Ziel ist die App im Januar / Februar 2018 zu veröffentlichen
Zugang¶
Wie kommen wir in die App?¶
- XML schreiben > Vorlage
- Auf Server legen
- Radio free FM die URL für die Datei schicken
Bei uns kann keiner XML¶
- Excel nach Vorlagen ausfüllen
- An Radio free FM schicken
- Wir konvertieren Eure Excel in eine XML und schicken sie Euch zurück
(gilt derzeit nur für die Stationsdaten - Programmdaten per Hand schreiben wird zuviel)
oder einarbeiten in XML: Kurzworkshop XML
Datenkonzept¶
Durch denzentrale Lagerung der Stationsdaten hat jedes Radio die Hoheit über seine Daten selbst.
Datenkonzept ist zweigeteilt:
- Grunddaten der Sender werden in der apk mitgeliefert
- Stationsdaten werden bei Installation nachgezogen
Grunddaten = meta.xml
- Stationsdaten ohne Programmplan
- url zu den station.xml der beteiligten Radios
- für alle Stationen zusammen eine Datei
- liegen zentral bei Radio free FM http://app.freefm.de/meta.xml (Liegt unter /var/www/app.freefm.de)
Stationsdaten = station.xml
- Grunddaten + Programmplan
- für jede Station eine Datei
- liegen bei jedem Sender dezentral
Bei Installation werden die Stationsdaten abgeholt und damit die Grunddaten aktualisiert.
Bei Aktualisierungen wird die meta.xml auf neue Grunddaten (neue Sender, neu url) geprüft und ggf. neue Stationsdaten nachgeladen.
Änderungen¶
Vielfältigkeit und steter Wandel zeichnen die Freien Radios aus. Wir haben versucht, das Konzept dafür fit zu machen:
- Neue Sender können jederzeit über einen Eintrag in der meta.xml hinzugefügt werden.
Das Aktualisierungskonzept der App wird derzeit noch entwickelt. - Ablageorts einer URL: die neue Url wird in der meta.xml geändert. Kann die app die station.xml eines Senders nicht finden, prüft sie die url in der meta.xml und findet dort die neue url.
- Mehrfachnennung: Durch Aufdoppeln der Knoten von Attributen (inklusive Unterpunkte) können Informationen bei den Sendern selbst hinzugefügt werden. In der Darstellung wird entsprechend nach unten verlängert. Bei Programmierung sollten alle Eventualitäten berücksichtigt werden.
Sendezeiten¶
Die Sendezeiten über alle Freien Radios abzubilden ist eine der grundlegensten Herausforderungen. Diese Sammlung erhebt keinen Anspruch auf Vollständigkeit und wird erweitert.
Serien | ||
tagesorientiert | einmalig | |
täglich | ||
wochenorientiert | wöchentlich | |
werktäglich | ||
14tägig | ungerade / gerade | |
laufend ab Startdatum Datum mit Wiederholungsfrequenz = 2 | ||
4wöchig | laufend ab Startdatum mit Wiederholungsfrequenz = 4 | |
4wöchig invertiert: einmaliger Aussetzer laufend ab Startdatum mit Wiederholungsfrequenz = 4 | ||
monatsorientiert | Monatswoche 1. bis 5. | |
letzter / erster im Monat | ||
zweitletzter / zweiter im Monat | ||
jahresorientiert | quartalsweise | soundsovielter im Quartal |
Wiederholungen | ||
tagesorientiert | am Tag danach / davor |
Episoden: mehrere Themenfolgen in einer Serie
Bekannte Probleme¶
- Tages- / Monats- / Jahreswechsel bei Sendungen über 0 Uhr hinaus
- 4. oder 5. fällt auf einen Monatswechsel
- gerade / ungerade Tausch, wenn KW 53 auf KW1 wechselt
Genre¶
In Freien Radio eigentlich ungmöglich: Die Festlegung auf Genre. Man will sich in keine Schublade pressen lassen. Für die Wiederauffindbarkeit der Sendungen mit ähnlichen Interessen muss es aber sein. Auf dem BfR Kongress in Potsda 2014 haben wir deshalb Genre festgelegt. Ev. werden sie in Zukunft angepasst.
ID | Name | Erläuterung |
---|---|---|
1 | Alternative | Rock, Punk, Grunge, Metal, Blues, Soul, Beat, Country |
2 | Elektronika | House, Techno, Elektro, Drum´n´Bass ... |
3 | HipHop | |
4 | Jazz | |
5 | Klassik | |
6 | Reggae | |
7 | R'n'B / Black | |
8 | Singer-Songwriter | |
9 | U-Musi & Schlager | Volkstümliche Musik, Orchester, James Last, Bert Kämpfert |
10 | Volksmusik | originale Volksmusik, Bänkelsang, Guggenmusi, Jodeln, Blasmusik |
11 | World | Worldmusik |
12 | SoundExperiment | |
13 | AndereSpachen | |
14 | Gesellschaft | Politik, Arbeit, Soziales, Wirtschaft, Antifa, ... |
15 | International | EineWelt, Frieden, Menschenrechte, ... |
16 | Inklusion | Inklusion, Behinderung, Barrierefreiheit |
17 | Kinder Jugend | |
18 | Kultur | Literatur, Fantasy, Film, Theater, ... |
19 | Medien | Computer, Social Media, Rundfunk |
20 | LGBTI-Gender | LGBTI, Gender, Frauen, Männer |
21 | ReligionEthik | |
22 | Satire | |
23 | Sport | |
24 | Talk | Talk, Diskussion, wenn sich was nicht unter den anderen spezifizieren läßt |
25 | Umwelt | |
26 | Wissenschaft | Forschung, Medizin, ... |
XML-Schema¶
info¶
media-channels¶
programme¶
Categories (Genre)¶
- Es werden maximal die ersten 3 angegebenen Genre ausgewertet.
- Die ID ist für die Anzeige ausschlagebend
- Der Name wird als Schlagwort in der Suche verwendet.
<categories>
<category name="Reagge " id="12"/>
<category name="Elektronika" id="2"/>
</categories>
Transmit-times¶
mit "transmit-times" (plural mit s) beginnt der Bereich, der alle Sendezeiten einer Sendung/Redaktion beschreibt.- es können mehrere Sendezeiten für eine Sendung angegeben werden.
- jede Sendezeit beginnt mit transmit-time (singluar ohne s)
- Rhytmusregeln werden in Sondersendung, täglich (daily), wochenbasiert (weekly) oder monatsorientiert (weekOfMonth) unterschieden.
Recurrence definiert den Unterschied zwischen Sondersendung und Serie
recurrence="false" ist eine Sondersendung
recurrence="true" ist eine regelmäßigen Ausstrahlung (Serie).
Rerun definiert den Unterschied zwischen Erstausstrahlung und Wiederholung
rerun="false" ist eine Erstausstrahlung
rerun="true" ist eine reine inhaltliche Wiederholung eines anderen Termins
- Nicht-wiederkehrende Sendungstermine überschreiben wiederkehrende Sendungstermine grundsätzlich
- Wiederkehrende Sendungstermine werden in ihrer Prio abgearbeitet, wenn alle Prios gleich sind gewinnt bei Kollisionen nur ein Termin
- Regeln werden NICHT auf Konsistenz geprüft dies muss schon bei der Sendeplanerstellung geschehen
<transmit-times>
<!--Sondersendung-->
<transmit-time date-from="2013-08-21T15:00:00.000+02:00" date-to="2013-08-21T16:59:59.000+02:00" recurrence="false" rerun="false"/>
<!--regelmäßige Ausstrahlungen (Serien)-->
<transmit-time recurrence="true">
<!-- tägliche Sendezeit beginnt mit daily ...-->
<!--- Jeden Tag von 17 bis 19 Uhr -->
<daily time-from="17:00:00" time-to="18:59:59"/>
<!--Senderhytmus wochenbasiert beginnt mit weekly ...-->
<!--- Jede Woche Montags von 17 bis 19 Uhr -->
<weekly day="MO" priority="0" time-from="17:00:00" time-to="18:59:59"/>
<!--- Alle 4 Wochen Freitags von 17 bis 19 Uhr, mit Startdatum -->
<weekly day="FR" priority="0" time-from="17:00:00" time-to="18:59:59" weekFrequency="4" date-from="2013-08-21T15:00:00.000+02:00"/>
<!--- Sonntags von 17 bis 19 Uhr, mit Startdatum, in den drei Wochen in denen das Gegenereignis nicht stattfindet -->
<weekly day="SO" priority="0" time-from="17:00:00" time-to="18:59:59" weekFrequency="4" date-from="2013-08-21T15:00:00.000+02:00" invert="true"/>
<!--- Jede ungerade Woche Freitags von 17 bis 19 Uhr, mit OddEven (gerade=even, ungerade=odd) -->
<weekly day="DO" priority="0" time-from="17:00:00" time-to="18:59:59" weekFrequency="2" oddEvenWeekNbr="odd"/>
<!--Senderhytmus monatsbasiert beginnt mit weekOfMonth ...-->
<!--- Jede 1. und 4. Woche des Monats am Mittwoch -->
<weekOfMonth day="MI" priority="0" time-from="17:00:00" time-to="18:59:59" week1="true" week2="false" week3="false" week4="true" week5="false"/>
<!--- Jeden letzten und ersten Dienstag im Monat -->
<weekOfMonth day="DI" priority="0" time-from="17:00:00" time-to="18:59:59" lastWeek="true" firstWeek="true"/>
</transmit-time>
</transmit-times>
Dokumentation¶
Vorlagen¶
- aktuelle XML und Excel http://www.freefm.de/projekte/freieradioapp/stationsdaten
Entwicklung¶
Freie Radios App-Pad https://pads.radiocorax.de/group.html/31/pad.html/g.AipjDinqCZgi0XHu$Freie%20Radio%20App
Diskussion / Dokumentation Kongresse¶
#zwcm14 Potsdam: http://www.community-media.net/wasgehtapp
#zwcm15 Ulm: http://www.community-media.net/freie-radio-app-2-0
#zwcm 17 Hamburg: http://www.community-media.net/freie-radios-app-das-finale
Weiterführende Literatur¶
Standards¶
RRULE http://www.kanzaki.com/docs/ical/rrule.html
XCAL https://de.wikipedia.org/wiki/XCal
Hybrid Digital Radio (DAB, DRM, RadioDNS); XML Specification for Service and Programme Information (SPI)
http://www.etsi.org/deliver/etsi_ts/102800_102899/102818/03.01.01_60/ts_102818v030101p.pdf
RadioDNS https://radiodns.org
https://radiodns.org/developers/documentation/
Apps¶
FRAPP
Info: https://www.nerdy-birdy.com/work/frapp/
API: http://www.fro.at/fetchprogram.php
API-Doku: http://www.fro.at/frapp/download/DatenanbindungFRApp.pdf
Radioplayer http://www.radioplayer.de
https://cloud.freiesradio-nms.de/index.php/s/9hBrhg6CEWgu2X9