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.
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.
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.
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
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.
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.