Empty

Efter att ha testat bit.ly Pro som ger möjlighet att använda ett eget domännamn som url-förkortare beslöt jag att ta steget fullt ut och hosta min egen.

För ungefär ett halvt år sedan kollade jag alternativen, men tyckte inte då att det fanns något som kändes tillräckligt polerat och under aktiv utveckling för att vara värt att satsa på, men de senaste månaderna har jag hört en hel del gott om YOURLS och beslöt mig för att prova sätta upp min egen privata url-förkortare.

Till att börjas med gällde det att hitta ett lämpligt, och framför allt kort, domännamn för ändamålet. Eftersom jag normalt hostar allt på sjostrom.fi så beslöt jag att registrera strm.fi som en kort variant av det. Även om det inte är jättekort, framför allt jämfört med t.ex. j.mp så blir ändå de slutliga urlarna lika korta eftersom jag med en egen domän klarar mig ett gott tag på strm.fi (7 tecken) följt av 2-3 tecken, medan en url förkortad med j.mp (4 tecken) idag måste följas av minst 6 tecken för att vara unik.

Med en egen domän att hosta yourls på och tillgång till PHP och MySQL var den egentliga installationen en bagatell. Man kan välja att göra YOURLS tillgänglig för alla eller skyddad med användarnamn och lösenord. Jag valde att göra min installation privat. Med YOURLS bookmarklet går det sedan smidigt att skapa korta urlar av webbsidor. Förutom att urlen naturligtvis kan genereras automatisk går det också att manuellt specificera mera förklarande urlar om så önskas. Det går också att direkt posta den förkortade url:en vidare till Twitter, FriendFeed eller Facebook. Admin-gränssnittet ger sedan utförlig statistik gällande hur de olika förkortade url:arna har använts (antal klick, geografisk fördelning, m.m.). Efter en månads användning måste jag säga att jag tycker att det fungerar mycket bra. Framför allt som YOURLS även går att integrera smidigt med andra verktyg jag använder.

Tweetie 2 för iPhone

Tweetie 2 som är min oftast använda Twitter-klient på iPhonen ger möjlighet att specificera en "Custom" url-förkortare och följer man instruktionerna så fungera en egen YOURLS-installation precis lika smidigt och transparent som t.ex. bit.ly. Tyvärr har jag inte hittat andra Twitter-klienter som ger möjlighet att fritt specificera sin egen url-förkortare vilket verkligen är synd. Om någon känner till sådana är jag intresserad.

Twitter Tools för WordPress

För mina WordPress-bloggar använder jag Twitter Tools av Alex King för att bl.a. posta till Twitter om att ett nytt blogginlägg lagts ut. Twitter Tools understöder inte YOURLS direkt, men efter lite Googlande hittade jag John Girvins tillägg som gör jobbet så att även Twitter-uppdateringarna utnyttjar min egen url-förkortare.

Med min installation (Twitter Tools 2.2.1 och Twitter Tools YOURLS 1.1) hade jag tyvärr lite problem med JSON-funktionerna vilka har ändrat lite i WordPress 2.9 och gett vissa plugins problem. Om du får ett felmeddelanden vid postning av ett inlägg eller det bara inte dyker upp i Twitter kanske du har samma problem som jag.

Båda de nedan föreslagna lösningarna fungerade för mig, men den senare är bra mycket enklare så prova den först.

Första försöket till lösning byggde på att jag laddade ner Pear:s JSON paket. Packade upp det och strök allt utom filen JSON.php som jag placerade i samma mapp som twitter-tools-yourls pluginen. Sedan adderade jag följande rad till twitter-tools-yourls.php ganska i början, men efter definitionen av PLUGINDIR

if( !class_exists('Services_JSON') ) include (ABSPATH . PLUGINDIR . '/twitter-tools-yourls/JSON.php');

Senare upptäckte jag ett ännu enklare alternativ till fix som åtminstone fungerade på min PHP-version, dvs. att direkt utnyttja PHP:s inbyggda json-funktioner. För att göra det så gäller det att från twitter-tools-yourls.php helt stryka raden

$json = new Services_JSON();

och sedan ändra raden

$result = $json->decode($snoop->results);
$result = $json->decode($snoop->results);

till

$result = json_decode($snoop->results);

Tillägg 2011-03-28: Kolla in Remkus de Vries instruktioner om hur YOURLS kan användas tillsammans med TweetDeck. De kan sannolikt anpassas för användning på andra ställen där API-url kan specificeras.