Förbättrad länkning i Drupal

För några år sedan när jag jobbade på Kodamera byggde vi nästan alla våra webbplatser i Drupal, som låg oss väldigt varmt om hjärtat. Vi hade även nöjet att utbilda våra kunder i administrering av systemet, i att skriva ariklar och blogginlägg. Vi fick en stor inblick i hur våra icke-tekniska användare brukade systemet och med detta även möjlighet att påverka upplevelesen, på olika sätt.

För några år sedan när jag jobbade på Kodamera byggde vi nästan alla våra webbplatser i Drupal, som låg oss väldigt varmt om hjärtat. Vi hade även nöjet att utbilda våra kunder i administrering av systemet, i att skriva ariklar och blogginlägg. Vi fick en stor inblick i hur våra icke-tekniska användare brukade systemet och med detta även möjlighet att påverka upplevelesen, på olika sätt.

Min uppfattning är att användbarheten för ett system står i stark korrelation till att användarna kan förstå och interagera med systemet på egen hand. När det gällde Drupal upptäckte vi att många användare hade problem med att länka genom WYSIWYG-editorn, som används för att skriva inlägg på webbplatsen. Vi konstaterade att det saknades ett intuitivt grafiskt gränssnitt för att kunna länka till interna sidor (samma webbplats) och externa sidor (andra webbplatser) utan att råka göra fel. I Drupal kan man råka göra fel på olika sätt, speciellt när man länkar internt, till exempel genom att länka till fel domän (typ test-servern), eller länka till ett alias (en sökväg) som sedan kan ändras, misstag som resulterar i brutna länkar. Under våra möten mellan utvecklarna konstaterade vi att det här var en svag länk, som behövdes förbättras.

En ny Drupal-modul

Detta gav upphov till födelsen av modulen Linkit. I täten för utvecklingen stod Emil Stjerneman, som idag står för tre fjärdedelar av commit-historiken (och jag för den sista fjärdedelen). Jag var inblandad framförallt med användbarhet, systemdesign och grafiskt gränssnitt. Idag är Linkit ett aktivt projekt på drupal.org och används på cirka 15 000 webbplatser enligt rapporteringen på drupal.org. Linkit är självklart fri mjukvara (open source, GPLv2) och finns till Drupal 6 samt 7.

Screenshot av autocomplete i dialogrutan i Linkit

Linkit gör det enklare att länka till interna sidor, genom att använda ett autocomplete-fält där användaren kan söka efter sidan (i stället för att öppna sidan i en annan flik och kopiera sökvägen från adressen). Om användaren kopierar den absoluta URLen från en intern sida och klistrar in den i Linkit konverteras den till en intern sökväg. Autocomplete-funktionen har stöd för alla Drupal-entiteter såsom noder, användare, taxonomi-termer och filer.

Screenshot av dialogrutan i Linkit

Och hållbart är det. Ändra server-adress och port, länkarna kommer att fortsätta fungera! Använder man Linkit tillsammans med den utmärkta modulen Pathologic av Garret Albright kan man även slå på eller av "clean URLs" och flytta Drupal till eller från en underkatalog utan att riskera brutna länkar. Dessutom får länkarna automatiskt korrekt alias, och inte bara den kanoniska sökvägen, t.ex. "node/123".

Sist men inte minst ska även nämnas att Linkit kan utökas med tredjeparts-plugins. Syftet är att låta utvecklare skapa kopplingar till annat länkbart innehåll, internt eller externt, genom autocomplete-fältet i Linkit. Följ utvecklingen av Linkit på drupal.org.

Några ord om autocomplete i Linkit

I början utnyttjade Linkit den inbyggda autocomplete som finns i Drupal-kärnan, men efter ett tag upptäckte vi att det fanns vissa buggar och begränsningar. Det var en så central del av Linkit att vi bestämde oss för att utveckla vår egen autocomplete. Detta utvecklade jag som ett separat JavaScript-bibliotek, Better Autocomplete, som nu finns med i Linkit, och bland annat gör det möjligt att gruppera resultat och visa dem på det (attraktiva) sätt som framgår av det övre screenshotet ovan.

20 mar 2013
  • Drupal
  • JavaScript
  • open source
  • PHP

Kommentera