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

Ich habe auf der Webseite http://www.urlshorter.de/integration.php auch so ein Script gefunden. Da kann man dann seinen eigenen Urlshorter machen mit der Datenbank von denen

I took the index.php, pruned it down and reworked some of the code. I came up with the code block I listed at http://mikebeach.org/2010/07/drupal-and-yourls/

It works in every case I’ve tested it in, even if Drupal and Yourls are on different servers. Also tested working in Joomla.

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);

Ich hatte letztens auch versucht, einen solchen Dienst zu programmieren. Leider reichen meine Kenntnisse. Danke daher für die angebotene Lösung.
Jetzt muss ich die nur noch bei mei auf http://www.picbutler.de integrieren und dann bin ich happy.

Grüsse Alberto

Neuen Kommentar schreiben