Praktische Anwendung von ADORE

13 Sep

Es ist mal wieder Zeit, etwas über ADORE zu berichten. Es sind noch ca. 1,5 Monate bis zur Abgabe der Arbeit. Die eigentliche Programmierung ist recht weit fortgeschritten, und in diesem Blogpost möchte ich ein praktisches Beispiel vorstellen.

Als Grundlage betrachten wir TheMovieDB – eine offene Datenbank für Filme, Schauspieler und verwandte Informationen. Ein Beispiel-Screenshot zeigt eine Darsteller-Seite.

Darsteller-Seite

Die Idee war es nun, zu demonstrieren, dass vorhandene Websites mittels ADORE erweitert werden können. Da ich natürlich keinen Zugriff auf den Quellcode von TheMovieDB habe, habe ich das ganze als Greasemonkey Userscript implementiert. Dies hat als Bonus den Vorteil, dass verschiedene, auf ADORE basierende, Erweiterungen für eine Website einzeln ein- und ausgeschaltet werden können.

Wie sieht nun die Erweiterung für TheMovieDB aus? Da ADORE die Beziehungen zwischen (sozialen Objekten) darstellen kann, versucht die Erweiterung bei Aufruf einer Darsteller-Seite, alle Verbindungen dieses Darstellers zu einem anderen Darsteller zu finden. Der „andere Darsteller“ ist in diesem Fall einfach der Darsteller, den man vor dem aktuellen betrachtet hat. Hier sind natürlich Variationen denkbar, wie z.B. alle Verbindungen des aktuellen Darstellers zu meinem Lieblings-Darsteller o.ä.

Um diese Verbindungen zu finden, habe ich die JSON API benutzt, die TheMovieDB anbietet. Da diese leider eine Begrenzung in der Anzahl der Abfragen hat, musste bei der Länge der Verbindung eine Einschränkung gemacht werden: Es wird die Verbindung meines aktuell betrachteten Darstellers zu einem anderen Darsteller über einen Film, an dem beide Darsteller gemeinsam mitgewirkt haben, angezeigt. Die CSS Formatierung, hier z.B. die Icons (= Filmplakate und Darsteller-Porträts) der Knoten wird on-the-fly generiert, ebenfalls unter Benutzung der TheMovieDB API. Aufgrund der Beschaffenheit der API und des Limits für Anfragen, sind komplexere Verbindungen leider nicht möglich. Das Ergebnis sieht dann z.B. so aus (Änderungen hervorgehoben):

Darsteller-Seite erweitert durch ADORE

Die Darstellung ist nicht vollständig formatiert, aber ich glaube das Konzept wird deutlich. Die meiste Arbeit war es, die Datensätze der JSON API von TheMovieDB zusammenzufassen und in ein ADORE-kompatibles Format zu bringen. Bei meinen Recherchen bin ich dabei auf JSON/T gestoßen – eine Möglichkeit, JSON Datensätze zu transformieren, ähnlich wie XSLT. Da ich aber, wie gesagt, komplexere Umformungen vornehmen musste, welche die Fähigkeiten von JSON/T übersteigen, habe ich meinen „Adapter“ kurzerhand von Hand geschrieben.

Ein solcher Adapter ist natürlich für verschiedene Datenquellen immer neu zu schreiben, das eigentliche Userscript passt jedoch – in diesem Beispiel – in handliche 80 Zeilen.

Ich denke, das Beispiel zeigt gut, dass mit vertretbarem Aufwand vorhandene Websites durch ADORE erweitert werden können.

Eine Antwort to “Praktische Anwendung von ADORE”

Trackbacks/Pingbacks

  1. Evaluation von ADORE! Mitmachen! « Studentenblogs DDI@UPB - 31. Oktober 2012

    […] gewählte Darstellung ein Mehrwert für den Betrachter der Seite darstellt. Dazu kommt das bereits hier im Blog vorgestellte Greasemonkey-Skript für Firefox zum Einsatz. Die Schritte sind im […]

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: