Startseite » netzwahn.net » Torsten's blog

YOURLS und Drupal

Microblogging-Dienste, wie Twitter oder Identi.ca, haben URL-Shortener und die daraus resultierenden KurzURLs einer breiten Masse bekannt gemacht. Gerade bei Nachrichten, die aufgrund ihres limitierten Zeichensatzes kurz gefasst werden wollen, macht es einen Unterschied, ob http://netzwahn.net/google-chrome-os-quellcode-veroeffentlicht oder http://bit.ly/drupal-test mitgeschickt werden.

Alternativ zu den bekannten URL-Shortenern, wie bit.ly, TinyURL.com oder is.gd, bietet YOURLS die nötigen Skripte, um einen URL-Shortener auf eigenem Webspace zu betreiben. Wordpress User können diesen eigenen KurzURL-Dienst ohne weiteres über das entsprechende Wordpress-Plugin in ihr Blog integrieren. Drupalnutzern steht ein solches Modul nicht zur Verfügung, für die Integration in das Twitter-Modul oder Shorten URLs ist daher etwas Handarbeit nötig.

YOURLS: Your Own URL Shortener
Voraussetzung für den Betrieb eines eigenen URL-Shorteners mit YOURLS ist Webspace mit PHP ab 4.3, MySQL ab 4.1 und Apache mit mod_rewrite. Nach dem Download der aktuellen YOURLS-Version, müssen in der beiliegenden config.php lediglich die notwendigen Angaben zur entsprechenden Datenbank und URL angepasst werden, sowie der Standard Username:Password nach eigenen Bedürfnissen gesetzt werden, und schon kann nach dem Upload der eigene URL-Shortener in Betrieb genommen werden.
http://yourls.org/

YOURLS und Drupal
Je nach Bedürfnissen bietet sich die Verwendung von YOURLS in Drupal mit 2 Modulen an. Zum einen kann man den Dienst in das Modul Shorten URLs integrieren. Dies ist allerdings mit etwas Handarbeit verbunden, da das Admin-Backend und die Ausgabe der Dienste berücksichtigt werden wollen.

Nutzt man das Twitter-Modul und verzichtet auf den Einsatz der Shorten URLs, die automatisch berücksichtigt werden, lohnt sich ein Blick in Zeile 150 von twitter.module

   $response = drupal_http_request("http://tinyurl.com/api-create.php?url=" . $url);

Unter Verwendung der von YOURLS ausgegebenen Signatur, lässt sich die API z.B. über folgende Änderung ansprechen:

    $response = drupal_http_request("http://domain/yourls-pfad/yourls-api.php?signature=abcdefg&action=shorturl&url=".$url);

Kommentare

Danke für den Beitrag!
Ich habe es nun auch bei mir zum Laufen gebracht. Allerdings muss (zumindest mit den aktuellen Versionen) beim Aufruf der API-Funktion noch der optionale Parameter format=simple angegeben werden.

Dann wird nur die shorturl zurückgegeben. Im anderen Fall wird ein ganzes xml zurückgegeben, welches dann das twittermodul nicht mehr verarbeiten kann:

$response = drupal_http_request("http://domain/yourls-pfad/yourls-api.php?signature=abcdefg&action=shortu...".$url);

Neuen Kommentar schreiben

Powered by Drupal