menu


Objektorientierter Videofeed
von Brickmotion am 01.11.2022

Damit dieser Entwicklerblog mal wieder benutzt wird, gebe ich hier mal ein kurzes Update, an was ich derzeit so auf der Website gearbeitet habe. Neben einigen bislang noch unfertigen Projekten wie die Umstellung der Artikel und Blogbeiträge von meinem Pseudo-Datenvormat "BMMarkup" auf XML oder der Einführung anderssprachiger Versionen der Seite (welche nach Fertigstellung hier im Blog genauer erläutert werden) habe ich nun erst einmal das Verarbeitungsformat der Videos auf den Seiten der Website verändert.

Videos nun objektorientiert gehandhabt

Während die Videos bislang sehr umständlich als reine ansammlung an Arrays eingelesen und aufwendig dargestellt wurden, habe ich nun eine objektorientierte Lösung implementiert, in der lediglich die JSON-Dateien mit den Videoinformationen eingelesen und dann die fehlenden Daten mit objektspezifischen Funktionen ergänzt werden. Dies bedeutet, dass für die Darstellung eines Videos nun lediglich wenige Funktionen aufgerufen werden müssen, anstatt dass auf jeder Seite etliche hundert Zeilen an Code eingebaut sein müssen.

Zentraler Code für Videoobjekt

Zudem habe ich den Code für die Videodarstellung nun in einer zentralen Datei implementiert, die von den verschiedenen Seiten mit Videodarstellung (Videofeed, Kanal-Homepage und Videoseite) lediglich importiert wird. Zuvor war auf jeder dieser Seiten der Code für die Videodarstellung seperat implementiert, da jede der Seiten die Videos anders darstellte. Durch die objektorientierte Lösung ist dies nun nicht mehr notwendig. Dies sorgt auch dafür, dass gewisse auf einigen Seiten fehlende Features wie die kombinierte Viewzahl eines Videos über alle Sprachen nun überall richtig angezeigt wird.

Dynamische Videotitel

Neben der neuen Darstellung habe ich auch die Grundlage für ein schon länger geplantes Feature implementiert, nämlich die dynamische Verarbeitung und Darstellung des Videotitels. Dies bedeutet, dass der Titel nicht mehr als ganzes in der Video-JSON-Datei gespeichert ist, sondern als Array aus einzelnen Titelelementen (Folgentitel, Folgennummer, Spiel, etc.), die dann von der Videoklasse zusammengesetzt werden. Dies hat den Vorteil, dass man nun zum Beispiel auf der Videoseite direkt im Titel einen Link zur Serie des Videos einbauen kann. Bei einigen Videos ist dieses Feature schon eingebaut, bei anderen ohne dynamische Titel ist die Serie nun zumindest klein über dem Titel verlinkt (was auch zukünftig bei Videos der Fall sein wird, bei denen der Serienname nicht im Titel enthalten ist).

Was noch zu tun ist

Ein aktuell fehlendes Feature ist der Bandcamp-Player, der vor allem bei Solar Audio verwendet wird. Dieser war bereits seit längerem aufgrund von Änderungen bei Bandcamp kaputt und konnte die Audiodateien nicht mehr abspielen. Da Bandcamp keinen vernünftigen Player zum Einbetten anbietet (der einbettbare Player kann nur mit Höhen- und Breitenmaßen in absoluten Pixelangaben benutzt werden und hat eine Maximalgröße, sodass er nicht ins dynamische Format der Seite passt) muss ich für diese Dateien einen eigenen Player verwenden, der nur so lange funktioniert, wie Bandcamp sein Seitenlayout behält. Hier werde ich versuchen, zeitnah eine Lösung zu entwerfen.

Auch in der ständig nicht funktionierenden Suche sollen die Videoklassen künftig verwendet werden, dafür muss ich die Suche zunächst jedoch generell wieder zum laufen bringen. Diese basiert aktuell noch auf einer längst nicht mehr eingesetzten Videospeichermethode, die von ihr erzeugten Links funktionieren also nicht.

Das dürfte es für diesen Post jedoch auch gewesen sein. Sobald neue Features erscheinen, werden diese hier ebenfalls berichtet.


Das könnte dich interressieren: