Links

OExchange: Offenes Protokoll zum Link-Sharing

23. August 2010
von

Spätestens seit dem Erfolg sozialer Netze wie Facebook und XING ist das Teilen von Links populär geworden. Bisher haben die sozialen Netze und Bookmark-Dienste für sich alleine und dementsprechend unterschiedlich geregelt, über welche Schnittstelle Links auf ihren Seiten geteilt werden. Mit OExchange gibt es nun ein offenes Protokoll, mit dem das Weitergeben von Links vereinheitlicht werden soll.

Was soll OExchange?

Bei Nachrichtenportalen und Blogs gehört es mittlerweile dazu, dass man am Ende eines Beitrags eine ganze Reihe von Links anbietet, über die man den aktuellen Beitrag in diversen sozialen Netzen und Bookmark-Diensten mit anderen gemeinsam nutzen beziehungsweise veröffentlichen kann (was das mit “teilen” etwas unglücklich, nämlich falsch aus dem Englischen übersetzte “share”, besser trifft – Anmerkung der Redaktion).

spiegel teilenicons1 foto

Iconleiste mit Anbietern auf SPIEGEL ONLINE

Da es bisher kein verbindliches Protokoll gab, galt es, für jeden Anbieter die entsprechende Einbindung des „Teilen“-Links herauszufinden. Mit OExchange lassen sich Links nach einem einheitlichen Muster veröffentlichen. Lediglich der so genannte „Offer Endpoint“, also die URL, an die der betreffende Link angehängt wird, ändert sich:

http://www.example.com/teilen.php?url={Link}

Die URL bis zum Fragezeichen ist der Offer Endpoint, der bei jedem Anbieter anders ist. Alles, was danach kommt, wird durch das OExchange-Protokoll vorgegeben. Beim Sharing-Dienst AddToAny, über den man einen Link auf verschiedenen sozialen Netzen beziehungsweise Bookmark-Diensten publizieren kann, sieht der Link so aus:

http://www.addtoany.com/share_save?url={Link}

Was kann OExchange?

OExchange bietet verschiedene Parameter, über die man den Link spezifizieren kann. So lässt sich ein Titel sowie eine Beschreibung angeben. Auch lässt sich der Inhaltstyp des Links, wenn es sich etwa um ein Bild oder einen Flash-Film handelt, übergeben:

http://www.example.com/share.php?url={Link}&title={Titel}&
  description={Beschreibung}&ctype={Inhaltstyp}

Es gibt vier verschiedene Inhaltstypen, die übergeben werden können:

  • Links („ctype=link“),
  • Bilder („ctype=image“),
  • I-Frames („ctype=iframe“),
  • Flash-Filme („ctype=flash“).

Da der Typ Link Standard ist, muss er nicht gesondert angegeben werden. Je nach Inhaltstyp stehen weitere Parameter zur Verfügung wie Höhen- und Breitenangaben. Bei Bildern, I-Frames und Flash-Filmen gibt es je einen weiteren URL-Parameter, der zur jeweiligen Mediendatei führt:

http://www.example.com/share.php?url={Seitenink}&ctype=image&
  imageurl={Bildlink}&width={Breite}&height={Höhe}
http://www.example.com/share.php?url={Seitenink}&ctype=iframe&
  iframeurl={Framelink}&width={Breite}&height={Höhe}
http://www.example.com/share.php?url={Seitenink}&ctype=flash&
  swfurl={Flashlink}&width={Breite}&height={Höhe}

Bei I-Frames und Bildern kann zusätzlich noch ein Screenshot übergeben werden:

http://www.example.com/share.php?url={Seitenink}&ctype=flash&
  swfurl={Flashlink}&width={Breite}&height={Höhe}&
  screenshot={Screenshotlink}

Links lassen sich zudem mit Tags versehen, um sie mit bestimmten Begriffen in Verbindung zu bringen:

http://www.example.com/share.php?url={Link}&
  tags={Begriffe durch Komma getrennt}

OExchange „entdecken“

Ob eine Website einen Service zum so genannten Teilen von Links anbietet und wie der „Offer Endpoint“ lautet, lässt sich über eine XRD-Datei definieren. XRD steht für „Extensible Resource Descriptor“. Es handelt sich dabei um eine XML-Datei, in der unter anderem der „Offer Endpoint“ angegeben wird. Darüber hinaus lassen sich weitere Angaben festlegen:

<?xml version="1.0" encoding="UTF-8"?>

<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">

  <Subject>http://www.example.com/</Subject>

  <Property type="http://www.oexchange.org/spec/0.8/prop/vendor">
    Example GmbH
  </Property>
  <Property type="http://www.oexchange.org/spec/0.8/prop/title">
    Ein Linkl-Tausch-Dienst
  </Property>
  <Property type="http://www.oexchange.org/spec/0.8/prop/name">
    Linktauscher
  </Property>
  <Property type="http://www.oexchange.org/spec/0.8/prop/prompt">
    Teilen mit Linktausch
  </Property>

  <Link
    rel= "icon"
    href="http://www.example.com/favicon.ico"
    type="image/vnd.microsoft.icon" />

  <Link
    rel= "icon32"
    href="http://www.example.com/favicon32.png"
    type="image/png" />

  <Link
    rel= "http://www.oexchange.org/spec/0.8/rel/offer"
    href="http://www.example.com/teilen.php"
    type="text/html" />

</XRD>

Der Wert „Subject“ beschreibt den Hauptlink zu dem Dienst, die „Property“-Werte beschreiben den Anbieter des Dienstes („http://www.oexchange.org/spec/0.8/prop/vendor“), den Titel („http://www.oexchange.org/spec/0.8/prop/title“), den Namen des Dienstes („http://www.oexchange.org/spec/0.8/prop/name“) sowie den Text, der mit dem „Teilen“-Link versehen werden soll („http://www.oexchange.org/spec/0.8/prop/prompt“).

Darüber hinaus werden drei „Link“-Werte übergeben, die zum einen auf zwei Icons des Anbieters („icon“ und „icon32“) verweisen und zum anderen den Link zum so genannten „Offer Endpoint“ beinhalten („http://www.oexchange.org/spec/0.8/rel/offer“).

Diese XRD-Datei enthält also alles, was man wissen muss, um einen „Teilen”-Link des Dienstes auf der eigenen Website bereitstellen zu können. Der Anbieter AddToAny nutzt eine solche XRD-Datei, um seine Schnittstelle zum Teilen von Links auf diese Weise bekanntzugeben.

Damit auch alle wissen, wo die XRD-Datei bei einem Dienst zu finden ist, muss sie in der sogenannten „host-meta“-Datei des Dienstes angegeben werden. Die Idee einer „host-meta“-Datei ist die, dass allgemeine host-weite Meta-Angaben über ein zentrales Dokument zur Verfügung gestellt werden. Die „host meta“-Datei muss über folgende URL aufrufbar sein:

http://example.com/.well-known/host-meta

Die Daten der „host-meta“-Datei werden ebenfalls im XRD-Format angegeben. Für die Angabe der OExchange-XRD-Datei sollte die „host-meta“-Datei wie folgt aussehen:

<?xml version="1.0" encoding="UTF-8"?>

<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"
  xmlns:hm="http://host-meta.net/xrd/1.0">

  <hm:Host>www.example.com</hm:Host>

  <Link
    rel="http://oexchange.org/spec/0.8/rel/resident-target"
    type="application/xrd+xml"
    href="http://www.example.com/oexchange.xrd" >
  </Link>

</XRD>

Über den „Link“-Wert wird die URL zu der XRD-Datei angegeben, in der sich die Angaben zum OExchange-Protokoll befinden. Auch AddToAny hat eine solche „host-meta“-Datei.

Fazit

Das OExchange-Protokoll vereinheitlicht die Schnittstelle zum Teilen von Links. Die Auflistung verschiedener Dienste wie Facebook, Delicious, Mister Wong et cetera lässt sich mit dem Protokoll bequem automatisieren. Der Nachteil bei dem Ganzen ist, dass noch nicht alle Dienste dieses Protokoll benutzen, insbesondere auch Facebook nicht. Dennoch hat OExchange mit Google und Microsoft schon zwei namhafte Unternehmen, die das Protokoll unterstützen.

(tm), (mm),

 foto

Denis Potschien

Seit 2005 arbeitet Denis als freier Grafik- und Webdesigner.

Ein Kommentar zu „OExchange: Offenes Protokoll zum Link-Sharing

  1. Alex am 28. August 2010 um 19:02

    *Sarkassmus an*

    Sollte man sich nicht überlegen, ob es nicht bald mal Sinn macht die ganzen verschiedenen Communities zusammen zu legen?
    Oder besser noch, bei einem angemeldet, bei allen angemeldet?

    *Sarkassmus aus*

Ein Kommentar? Schön!

Wir freuen uns immer über Leser, die durch nützliche und konstruktive Beiträge zum Thema eine Diskussion anstoßen oder den Artikel mit weiteren Informationen anreichern. Alle Kommentare werden in diesem Sinne moderiert. Zum Kommentar-Fairplay gehört für uns auch der Einsatz von rel="nofollow". Bitte verwenden Sie zudem als Namen weder eine Domain noch ein spamverdächtiges Wort. Vielen Dank!

*