Skip to content

Nahezu beliebige URLs mit oEmbed auflösen

Das oEmbed Plugin löst oEmbed Anfragen für Services eigenständig auf, die selbst bereits oEmbed unterstützen. In den anderen Fällen benutzt es "generische oEmbed Provider". In der Liste der unterstützen Services des Plugins sieht man das an der "via" Angabe bei dem Service.

Generische oEmbed Provider sind Anbieter, die selbst für Services, die gar kein oEmbed unterstützen, eigene Provider anbieten. Man kann sie sich als eine Art Proxy vorstellen, bei dem man anstatt des eigentlichen Services nach einer oEmbed Ersetzung anfragt.

Wenn man sie benutzt, profitiert man zum einen von einer Auflösung nahezu beliebiger Links und davon, dass die Provider von einem Service gewartet und überprüft werden, der sich nur mit dieser Aufgabe beschäftigt. Man kann also davon ausgehen, dass man zu jedem Zeitpunkt die gerade bestmögliche Auflösung bekommt. Der Nachteil dabei ist klar: Man ist von einem externen Service abhängig, der evtl. auch Geld kostet.

Generische oEmbed Services sind z.B.:

  • noembed.com: Dies ist ein freier Service, der sogar OpenSource ist. Da dieser Service nur eine relativ überschaubare Anzahl an Providern anbietet, hat das Serendipity oEmbed Plugin 1.0 bereits nahezu alle Angebote dieses Services integriert.
  • oohembed.com: Dies ist ein Anbieter, der frei verfügbar ist und eine sehr große Anzahl an Providern anbietet. Dieser wurde allerdings von embed.ly aufgekauft, deshalb ist der Zugriff auf seine API mittlerweile offenbar sehr limitiert. Das Plugin hatte auch von diesem Service einige wenige Provider integriert, das wird aber in der nächsten Version wegen der Limitierung entfernt.
  • embed.ly: Dies ist der einzige der 3 Services, der heute auch noch gepflegt wird. Er hat eine enorme Anzahl an Services, die er mit eigenen Providern unterstützt. Selbst für Services, die er noch gar nicht kennt, liefert er eine sehr brauchbare Ersetzung. So kann er z.B. sogar Links auf mein Blog durch ein Preview und einen sinnvollen Text ersetzen.

In der nächsten Version des Plugins kann also ein Fallback eingestellt werden: Wenn das Plugin selbstständig eine URL nicht auflösen kann, dann gibt es diese an einen generischen Service weiter, den ihr auswählen könnt. Im Falle von embed.ly ist dies ziemlich genial: Ihr müsst euch nicht mehr merken, welche Services unterstützt werden. Embed.ly liefert euch eigentlich für alles eine sinnvolle Repräsentation.

Der Nachteil von embed.ly ist, dass es ein kommerzieller Service ist, den ihr bezahlen müsst. Allerdings wird auch ein kostenloser Account angeboten (den man etwas suchen muss). Dieser ist dadurch limitiert, dass er nur den oEmbed Service von embed.ly ermöglicht (der Service kann noch viel mehr) und dass er im Moment nur 10.000 Anfragen im Monat zulässt. Da das Plugin allerdings jedes Resultat, das durch oEmbed abgeholt wurde, in einer internen Datenbank speichert, bedeutet dies, dass ihr pro Monat insgesamt 10.000 [e link] Einträge in euren Artikeln verteilen könnt. Ich möchte das Blog sehen, das dieses Limit erreicht. ;-)

Ich habe in meinem Testblog wieder eine Betaversion des Plugins zum Ausprobieren hinterlegt. Ich würde mich wie immer über Tests in weiteren Blogs freuen mit einer Info, ob die Tests erfolgreich waren oder Probleme produzierten. In meinem Testblog funktioniert die neue Version jedenfalls schon prima. :-)

Update: Offenbar ist embed.ly auch nicht ganz fehlerfrei. Im Moment gibt es ein Bad Gateway..

Gut, dass das Plugin einen Cache hat, somit ist einmal gezogenes vorhanden, egal, wie es dem Service dahinter gerade geht.

Update 2: Mario testet gerade das erweiterte Plugin. Er hat sogar einen Test auf einen Eintrag bei Amazon bei sich. Das kannte ich noch gar nicht, kommt ja klasse! :-)

Update 3: Version 1.01 mit Support für "generische Provider" ging soeben nach Spartacus. :-)

Trackbacks

RobLen

RobLen am : RobLen via Twitter

"RobLen via Twitter" vollständig lesen
RT @gbrockhaus: gebloggt: Nahezu beliebige URLs mit #oEmbed auflösen http://t.co/dTPJJRkj #s9y
Hommel-Net Weblog

Hommel-Net Weblog am : Noch mehr Funktionen für das oEmbed-Plugin

"Noch mehr Funktionen für das oEmbed-Plugin" vollständig lesen
Kaum ist die erste stabile Version freigegeben, da geht es schon weiter. Das oEmbed-Plugin wurde jetzt so erweitert, dass man über generische Provider beinahe beliebige URLs einbinden kann. Realisiert wird das über den Dienst embed.ly. Ich teste hier dann
rowi.standardleitweg.de

rowi.standardleitweg.de am : Die Erde im Zeitraffer mit oEmbed | Der Standardleitweg

"Die Erde im Zeitraffer mit oEmbed | Der Standardleitweg" vollständig lesen
Auf der Strasse durch's Leben Suche Navigation StartFotosAndroidÜber michImpressumDatenschutz var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.stdlw.de/piwik/" : "http://sta[..]
Nur ein Blog

Nur ein Blog am : Nur wer viel twittert ist noch kein Spammer

"Nur wer viel twittert ist noch kein Spammer" vollständig lesen
Auf Formspring habe ich eine Frage beantwortet. Und dank des oEmbed Plugins muss ich nicht mehr drüber schreiben sondern binde mit einem Link den ganzen Inhalt einfach ein Also seht selbst… #embedly_formspring_87758684 { background:#ff
Grischa

Grischa am : Projekt: Serendipity mobil benutzen - Der Client

"Projekt: Serendipity mobil benutzen - Der Client" vollständig lesen
Anfang des Monats schrieb ich über mein "Projekt: Serendipity mobil benutzen". Inzwischen bin ich schon ein gutes Stück weiter gekommen! Ich habe mit dem WordPress für Android Client bereits meine ersten Artikel geschrieben, editi
Grischa

Grischa am : Projekt: Serendipity als Microblog

"Projekt: Serendipity als Microblog" vollständig lesen
Die Ausgabe 14 des s9yInfoCamp Podcasts ist fertig und ich durfte wieder teilnehmen. Wie schon letztes Mal hat es mir auch diesmal wieder großen Spaß gemacht. Danke für die Einladung an Robert und Matthias!Speziell an dieser Ausgabe war,

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

rowi

rowi am :

Sehr schönes Plugin, Danke!

In meinem frisch aufgesetzten Testblog funktioniert es einwandfrei: http://s9ytest.stdlw.de/archives/1-oembed-test1.html

zwei Vorschläge habe ich aber doch:

- zumindest Youtube funktioniert nur wenn der Link als http angegeben wird, nicht bei httpS

- Bei Youtube würde ich mir zusätzlich noch den Link selbst als Alternative für RSS Leser ohne Videounterstüzung wünschen, ist soetwas automatisch machbar?

Grischa

Grischa am :

- Youtube via https: Geht denn da auch https? Ich schaue mir das mal an, wäre einfach entsprechend anzupassen.

- Als link im RSS: Hmm.. Ich weiß nicht, ob ich im Plugin erkennen kann, ob gerade für einen RSS Output oder für das Blog Content erzeugt wird. Ich vermute mal: Es geht. Dann kann ich da in der Tat etwas machen. Ich schaue mal.

rowi

rowi am :

jop, Youtube kann https, wenn man ein Plugin wie https everywhere oder dem kb ssl enforcer nutzt landet man auch standardmässig dort.

Ich denke es müsste reichen generell einfach auch https zuzulassen, oder wie wird der Link geparst?

Momentan ergänze ich einfach einen Link manuell hinter dem Video. So hat man beides und RSS-Leser mit Videosupport sehen auch das Video im Feed. Evtl. könnte man einfach ein Textfeld in der Einstellung haben in dem man einen freien Text (den HTML-Link) mit Platzhalter für den URL angeben kann. Das wäre universell und ohne Sonderbehandlung für youtube/RSS

Grischa

Grischa am :

"Evtl. könnte man einfach ein Textfeld in der Einstellung haben in dem man einen freien Text (den HTML-Link) mit Platzhalter für den URL angeben kann. Das wäre universell und ohne Sonderbehandlung für youtube/RSS"

.. das habe ich glaube ich nicht verstanden? :-O

rowi

rowi am :

ich meinte, dass hinter dem oembed-Code einfach noch einmal der Link den man im [embed ] eingibt ausgegeben wird.

Und halt im Plugin konfigurierbar wie das ausssehen soll, also dass ich da etwas eingeben kann wie "span style='font-size:0.8em;'> a href="$1">Direktlink /a /span>"

Grischa

Grischa am :

Dazu benötigt es keine Konfiguration, genau dafür ist eigentlich das oembed.tpl da.. Kopiere das einfach in Dein Template Verzeichnis und passe es Deinen Vorstellungen an.

Z.B. unten drunter:

(span style='font-size:0.8em;')(a href="{$oembedurl}")Direktlink(/a)(/span)

Runde Klammern natürlich entsprechend ersetzen..

Grischa

Grischa am :

In dem Template wird übrigens auch nach Typen unterschieden. Du könntest diese Änderung z.B. nur in den div für Video embeds einfügen..

rowi

rowi am :

Danke, das ist wohl genau das was ich suche. Da versuche ich mich heute Abend mal dran.

rowi

rowi am :

Es funktioniert :-)

http://rowi.standardleitweg.de/archives/2069-Die-Erde-im-Zeitraffer-mit-oEmbed.html

Grischa

Grischa am :

YouTube https: Ich wunderte mich zuerst, dass mein Testblog die bereits einfach so schon ersetzt. Lag aber daran, dass ich dort eben schon den generischen Provider konfiguriert hatte und der einfach alles ersetzt. :-D

Ich habe jetzt eingebaut, dass das Plugin das selbst schon kann, um die embed.ly Rate zu schonen. Embedly (und diese Änderung hier) sind in Spartacus, dürften also morgen früh verfügbar sein.

RSS: Hmm.. Ich finde auf die Schnelle nicht, wie ich RSS von normalem Content unterscheide. Offenbar ruft die RSS Erzeugung die normale Artikel Erzeugung auf. Muss ich wohl mal im Forum fragen, wie ich die beiden Situationen am besten auseinander halte. Vermutlich will man dann alle Video oEmbeds gegen Links austauschen, denke ich. Wobei auch ein RichEmbed ein Video sein kann, aber die will man genau im RSS Feed beibehalten. Das wird etwas tricky.. Ich schaue mal heute Abend. :-)

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Dieses Blog erlaubt Dir, Audio Kommentare über audioboo.fm hinzuzufügen. Erstelle einen neuen Boo und gib hier den Link auf die Seite Deines Boos ein.
record
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
(Bedingung: 1 Kommentare geschrieben)
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
tweetbackcheck