mAirList Webinterface

Hallo liebe mAirList Community,

ich arbeite momentan mit @Noel-Schmidt an unserem Internetradio-Projekt “TubeLive”. Unser Team besteht hauptsächlich aus Radio-Neulingen und wir organisieren uns größtenteils dezentral.

Unsere Herausforderung: Wir möchten eine benutzerfreundliche Datenbank für unsere Moderator:innen schaffen. Deshalb entwickeln wir ein Datenbank-Webinterface, das die Funktionen des mAirList-Datenbankclients im Browser abbilden soll.

Die zentralen Vorteile unseres Ansatzes sind:

  • Kompatibilität mit Mac und Linux
  • Einfache Bedienbarkeit
  • Keine Notwendigkeit, Software am PC zu installieren
  • Hohe Performance

Nun seid ihr gefragt: Welche Funktionen haltet ihr für unverzichtbar? Gibt es spezielle Anforderungen oder Wünsche - vielleicht auch etwas, dass bisher in der Form noch nicht in der mAirList Datenbank möglich ist?
@Noel-Schmidt und ich sind gespannt auf eure Ideen und euer Feedback.

Hier findet ihr ein Trello-Board wo wir unsere Fortschritte dokumentieren.

Spannend für alle Programmierer:innen: Für das Projekt müssen wir die Datenbank dokumentieren. Wenn wir damit fertig sind, werden wir das auch öffentlich zur Verfügung stellen.

Ein kleines Update zum mAirList Webinterface: Der Cue Editor funktioniert nun auch!

Wow . We are intested to

Yes, this is very interesting! :slight_smile:

Nach wirklich einer Weile Pause… gehts jetzt weiter! :smiley:

Aber: Ich mache das jetzt mit Vibecoding. Falls jemand Input oder Wünsche hat, freue ich mich sehr drüber:

Mittlerweile funktioniert schon einiges für den Datenbank-Alltag (Bibliothek durchsuchen, Items bearbeiten, Playlists lesen und umsortieren und fast alle Container sind inzwischen bearbeitbar.

Alles ohne Datei-Locking-Konflikte mit dem laufenden mAirList, weil ich komplett über die REST-Schnittstelle statt direkt auf die Datenbankdatei gehe.

Woran ich hänge: Der Datei-Upload (POST /api/v1/storages/<id>/files, multipart/form-data). Ich habe den Request per Wireshark mitgeschnitten und versucht 1:1 nachzubauen - Content-Disposition mit name/filename, Content-Type, Content-Transfer-Encoding: binary, alles wie im Original. Trotzdem bekomme ich vom Server konsequent:

500 Internal Server Error
Filename was not specified

Das Format sieht nach meinem Verständnis korrekt aus, aber offensichtlich fehlt noch eine Kleinigkeit, die ich aus der reinen Paket-Analyse nicht rekonstruieren konnte (mein Mitschnitt zeigt Einzelpakete, keinen fertig zusammengesetzten Stream).

Hat jemand Erfahrung mit dieser Schnittstelle, oder weiß jemand worauf der Server beim filename-Parameter genau achtet? Ich wäre sehr dankbar über jeden Hinweis :heart_hands:

Moin!

Interessantes Projekt.

Das wäre mein Ansatz von Grundauf gewesen.

Leier habe ich keine Ressourcen um eine Node Anwendung zu hosten. Klassisches Shared hosting würde ein größeres Publikum ansprechen.

Da mAirlist DB leider weder Active Directory noch OIDC al Usermanagement unterstützt wäre das ein Feature Request, dass ich mich im Frontend damit einloggen kann und dann pro user ggf. noch mal den Login ins Backend einmal hinterlegbar durch den User.

Danke dir! Ja, Node auf Shared Hosting ist tatsächlich ein Problem, bei mir läufts einfach direkt auf dem Windows Server neben mAirList, war der einfachste Weg für mich.

AD/OIDC ist ne gute Idee, aktuell hab ich aber ne eigene kleine Benutzerverwaltung gebaut, weil mAirLists Auth bei mir nicht zuverlässig lief. Notier ich mir mal für später.

Btw. falls jemand ne Idee zum Upload-Endpunkt hat (POST …/storages/x/files), das wäre mir gerade am wichtigsten - komm da nicht weiter, Server sagt immer “Filename was not specified” obwohl das Format nach meinem Mitschnitt eigentlich passen sollte.

Ok, das ist dann vermutlich eine Religionsfrage. Node auf Windows kommt für mich auch nicht infrage und schon gar nicht auf Meinem mairlist DB Host.

Dann müsste man daraus wahrscheinlich einen Docker Container bauen und geschottet hosten.

Zum AD vielleicht noch mein AD läuft auf einem Samba nicht auf Windows.

OIDC Habe ich zur Zeit noch nicht fertig aber ich glaube die gängigsten Open Source Lösungen sind wohl Authelia, Athentik und Keykloak. Eins davon wird es bei uns dann werden. Ald “Docker-Container” aber rootless mit Podman gehostet

Für Microsoft 365 Kunden wäre dementsprechen Entra-ID interessant was unter der Haube aber auch angeblich ein Standard OIDC ist. Würde mich aber nicht überraschen, wenn Microsoft da wieder irgendwelche Microsoft Dinge tut.