DrupalCon 2013 Prag och gemenskapens styrka

Jag hade nöjet att delta i DrupalCon 2013 i Prag. DrupalCon är i grunden en teknisk konferens där alla utvecklare som jobbar med Drupal samlas ihop. Just nu ligger fokus kraftigt på följande version, Drupal 8. Det är stora förändringar på väg, vilket väcker både stora förhoppningar och farhågor inom Drupalcommunityt.

DrupalCon 2013 Prag gruppbild
DrupalCon 2013 Prag gruppbild. CC By-SA Michael Schmid http://www.flickr.com/photos/x-foto/

Mindre aktörer är oroliga över att de inte längre ensamma skall kunna hantera en Drupalsajt, att de blir för komplexa. En del användare börjar använda Drupal på nya sätt så att de skär av trådarna mellan backenden (den tekniska bakgrunden) och frontenden (det som användarna ser på sina skärmar). Andra vill fortsätta att utveckla Drupal 7 ännu, eftersom det är ett fungerande system. Och ytterligare andra kan inte vänta på att Drupal 8 skall lanseras för att kunna utnyttja de nyheter som är på kommande. Klart är dock att fler utvecklare redan nu har bidragit till utvecklingen av Drupal 8 än av någon annan tidigare version.

Och det är verkligen mycket nytt, Drupal 8 innehåller över 200 nya egenskaper. Dries Buytaert, ”Drupals pappa”, tog i sin keynote särskilt upp Drupals samhälleliga betydelse, vad systemet möjliggör som ett open source webbpubliceringssystem. I linje med det fokuserade Dries också mycket på egenskaper som tillgänglighet (accessability), mångspråkighet och mobilanpassning i sitt tal. Det var också glädjande för mig att höra att en stor vikt lagts på att semantisk annotering i Drupal, huvudsakligen i linje med definitionerna i schema.org (mer om vårt arbete kring detta i ett senare inlägg).

Andra dagens keynote hölls av Lisa Welchman som pratade om vikten i att vårda den community som byggts upp. Det finns en paradox för öppna gemenskaper, där just öppenheten blir den drivande faktorn för tillväxt och kreativ gemenskap, vilket väcker krav på styrning, vilket riskerar kväsa communityt. Det här är något som man sett inom Drupalgemenskapen där dessa DrupalCons och också mindre träffar har varit fantastiskt inspirerande. Och den hjälp som utvecklarna ger till varandra helt gratis och av pur välvilja är helt fantastik. Och tänkt ur ett mer krasst affärsperspektiv otroligt prisvärd. För det arbete som gemenskapen gör och ger varandra är värd miljontals euro!

Men samtidigt kommer den andra sidan in. Då en verksamhet växer så börjar den spreta åt olika håll och kan inte längre fungera effektivt utan styrning. Men där måste man gå försiktigt tillväga. Och även styrning är något man kan göra tillsammans. Och på så vis övervinna paradoxen mellan den inspirerande och tillväxtgivande friheten och den potentiellt kväsande styrningen.

En lärdom som vi gärna kunde överföra till fler verksamhetsområden, inte minst journalistiken.

Nedan en Storify som samlar mitt twitterperspekiv på DrupalCon Prag:

Vad är en patch? Steg för steg guide hur du själv gör en till Drupal

En patch kan jämföras med ett plåster med en unik passform för ett unikt skrubbsår. Patchen bygger man för att fixa något som man tycker är fel i en modul (core eller contrib) som man använder. Då man listat ut hur man kan fixa den kan man först applicera den på sin egen sajt, och sedan dela den med communityn så att alla kan få nytta av den. Passar väl rätt bra ihop med public service eller hur?

Min första patch skapade jag förra veckan. Vi använder Redirect modulen för att hantera namnbyten på artiklar. Om en artikel byter namn på vår sajt ändras nämligen också adressen till artikeln, och om artikeln då redan hunnit delas i social medier så skulle besökare den vägen inte hitta artikeln utan redirect modulen.

Problemet uppstår ifall artikeln först döps till ”Kalle Anka är bäst!”, sedan döps om till ”Kalle Anka bäst!”. Då skapas en hänvisning från ”Kalle Anka är bäst!” till ”Kalle Anka bäst!”. Om man sedan döper om artikeln till ”Kalle Anka är bäst!” döps artikeln om, och det finns redan en hänvisning som pekar på ”Kalle Anka är bäst!”. En infinite loop har skapats, då besökaren skickas runt i en cirkel utan att någonsin kunna stanna (Sajten märker dock av felet och bryter loopen, men besökaren kan inte läsa artikeln).

Det felmeddelande som visades var inte särskilt tydligt för en icke tekniskt kunnig. Där stod ”Oops, looks like this request tried to create an infinite loop. We do not allow such things here. We are a professional website!”.

Jag tänkte jag skulle översätta det till något tydligare, samt inkludera ett lösningsförslag åt den som skapade felet. Jag kunde dock inte göra det, för översättningsfunktionen kunde inte hitta meningen i fråga. Jag bestämde mig för att kolla på modulens kod, och kunde där konstatera att t() översättningsfunktionen saknades. Dessutom visades felet som ett grönt statusmeddelande. Jag ville ändra det till ett gult eller rött varningsmeddelande.

Genom en sökning på ”create Drupal patch” hittade jag en manual för att skapa en patch (Quick and simple patch). Man klarar sig med det som står på modulens ”versioner” sida, gör en patch för redirect. Följande Youtube video guidar dig genom git och drupal.org issue skapandet.

I korthet gjorde jag följande:

  1. Ändrade på min local dev version av redirect modulen för att kolla om jag överhuvudtaget kunde fixa problemet
  2. Installerade en ren version av Drupal 7.x (min local dev är så modifierad att det är bäst att testa och skapa patchen från en så ren install som möjligt
  3. Installerade git_deploy som behövs för att generera all info som behövs till patchen
  4. Installerade dev versionen av redirect (git clone av dev branch) och pathauto som behövdes för att testa den ändrade koden
  5. Gjorde ändringarna i filen
  6. Gå till modulens mapp med CMD, kör git status. Du ser då ett meddelande om att filen du ändrat har ändrats.
  7. Kör git diff > [description]-[issue-number]-[comment-number].patch (du kan testa att döpa den till vad som helst, för att se att det fungerar. Filen finns sedan i modulens mapp) Fortsätt sedan med följande steg och döp sedan om testfilen du skapade eller kör kommandot en gång till.
  8. Gick till drupal.org och redirect modulen och skapade en ny issue. Där beskrev jag problemet och hur jag tänkt lösa det. Ta issue nummern från url:en efter att du sparat din issue, och döp patchen enligt namngivningskonventionen. I mitt fall blev det missing_t_function-1903228-1.patch
  9. Skriv en kommentar och bifoga patchen, ändra status till needs review
  10. Vänta på att någon av upprätthållarna kollar på din patch och bifogar den först till dev branchen och sedan till den stabila versionen
  11. Om du inte kan vänta kan du också ta patchen i bruk bara på din egen sajt i väntan på att den blir tillgänglig via modulen
  12. Patchen denna bloggpost handlar om blev infogad i dev branchen efter en vecka

Här kan du läsa issuen jag skapade för patchen:
#1903228 – Missing t() function in drupal_set_message

Vill du jobba med datajournalistik eller spel? Ansökningstiden har utgått.

Den 22.11 2012 gick vi ut med att vi söker efter två utvecklare till Svenska.yle.fi. Det här är en stor grej för oss på Svenska Yle då vi inte haft en möjlighet att verkligen utvidga vårt team så här sedan början på 2000-talet, trots att behovet ökat markant på 12 år. De jobb vi nu lediganslagit, ett webbutvecklarjobb med inriktning på spel och ett webbutvecklarjobb med inriktning på datajournalistik, visar också klart på vilka delområden Svenska Yle satsar på. Vi valde avsiktligt att inte gå på Monty Python-linjen den här gången eftersom man inte kan upprepa en likadan reaktion två gånger. Förra gången vi sökte en webbutvecklare som ersatte en person som slutat gick det nämligen så här.

Båda jobben är mycket intressanta och ger den personen som får jobbet möjlighet att jobba med ett team som är framåt och otroligt duktigt.

Det har redan länge stått klart att vi behöver mer krut för att kunna presentera innehåll som datavisuliseringar och stöda datajournalistiken på Svenska Yle. Trots att vi inte haft en enda dedikerad person för jobbet så har vi lyckats skapa en hel del journalistiskt innehåll utgående från tillgänglig data. Orsaken till att det lyckats är att en av Finlands främsta personer när det gäller datajournalistik finns i vårt team, Teemo Tebest, som har gett oss en insikt i hur mycket man verkligen kan göra med den data vi har tillgång till. Det mest uppmärksammade projektet vi gjort är Maktbasen http://svenska.yle.fi/maktbasen, men vi har också jobbat fram Svenskfinland som fem storkommuner utifrån datan i Maktbasen. Därutöver har vi haft mindre projekt, till exempel Alkoholkartan och Hjälp Kalle. När vi nu utökar vårt team med en webbutvecklare som skall ha som sin huvuduppgift att jobba med datajournalistik blir det en hel del annat att se fram emot.

Varje år har BUU-klubbens webbsatsningar och spel skapat glädje och förtjusning hos både barn och vuxna. Det är helt klart ett monsterjobb som har skötts med små resurser och med stor passion. Nu ser vi en stor potential och en massa outforskade möjligheter i den barnwebbsproduktion vi kan skapa, men vi klarar inte av att göra mera utan att få förstärkning. Pia Manns är den person som drivit produktionen och även i år skapar en helt fantastiskt fin julkalender som kommer att tvinga föräldrarna att slita loss sina barn från datorerna så att de själva skall hinna spela. Det paradigmskifte vi nu har framför oss är att kunna nå ut till alla mobila plattformar, som pekplattor och telefoner, men det går inte att direkt lösa med den teknik vi använder idag. Personen vi är ute efter ska kunna se potentialen i koncepten då det gäller att anpassa dem till andra plattformar, men också att kunna göra själva jobbet. Det gäller ju inte enbart BUU, utan man har hela Svenska.yle.fi som spelplan, ja varför inte även finska Yle om det blir tid över för att kunna göra spel av journalistiskt innehåll tillsammans med hela vårt team.

Bilderna med plock ur BUU-klubbens e-post respons

 

jagfyläråridagsnälajörnyaspel

 

hei buuglup minä aijon pelata paljon teidän pelejä ne ovat  kivoja pelejä
ja hyvin keksitty ja heippa minä alan nyt pelaamaan

 

– Häj jag vill att ni lagar nya häst spell och ett nyt bill spell.

 

BUU-KLUPPEN ON KIVA PAIKKA MÄ JA MUN PIKKUSISKO PELATAA SITÄ MELKEIN AINA KUN ON TYLSÄÄ

 

jag tykär at ni har brasidår måna pusar å kramar

 

hei minä en pidä saha pelistä voisitko laittaa jotain pelejä kiitos

DrupalCon 2012 München

En del av Svenska.yle.fi hade möjligheten att som en skolningsresa delta i årets europeiska Drupalkonferens som i år ordnades i München. För mig var detta mitt första Drupalevenemang så jag visste inte riktigt vad som väntade. Då Robert Douglass dök upp i öppningen av DrupalCon iklädd dirndl och några minuter senare salen genomljöd av 1800 programmerare som joddlade steg nog orosmålen några pinnsteg …

Men snabbt blev det nog klart att ovannämnda hör till den familjära atmosfär som präglar Drupalcommunityn, och själva programmet var ytterst intressant och mångsidigt. Stor fokus låg på utvecklingsarbetet med D8, följande version av Drupal. Det arbetet är nu inne på slutrakan och de funktioner som skall med bör vara klara i december. Lansering planerad till augusti 2013. Tills dags dato har över 600 webbutvecklare arbetat med D8.

 

Utvecklingen av D8 visar på flera intressanta spår för Drupal. Ett av dem är implementeringen av php-ramverket Symfony. Detta innebär en fortsättning på breddningen av Drupals verktygspalett till externa open source-lösningar, en utveckling som redan tidigare inletts med implementeringen av javascriptbiblioteket jQuery i D7. Det här var ett spår Henri Bergius var inne på i sin keynote Decoupling content managment. I hans mening är fortfarande samtliga CMS monoliter, som borde brytas ner.

 

Utvecklingsarbetet med arkitekturen i D8 forsätter med fokus på att ytterligare underlätta såväl testning, lansering och uppgradering genom att hålla olika lager mellan innehåll, frontend och backend separata. Ett annat steg är de stora framsteg som gjort i användarvänlighet och WYSIWYG-uppdatering i D8 i och med Spark-projektet och Alhoa-editorn. Imponerande grejer! Se själv:

Förutom det mer tekniska snacket jag i ärlighetens namn stundvis hade svårt att hänga med i, kom där också många intressanta saker fram som mer berör mitt eget konceptutvecklarperspektiv. Både Dries Buytaert och Anke Domscheit-Berg pratade om hur Drupal använts för att främja genomskinlighet, samarbete och deltagande mellan myndigheter och medborgare, dvs. det sk. Government 2.0.

 

Drupal har också framgångrikt använts av ideella organisationer som behöver ett system för att med minimala instegskostnader få upp en webbplats. Öppna ”distron” är här till stor hjälp, de är liksom nycklarna-i-handen-färdiga-att-tas-i-bruk webbpaket. En intressant presentation på DrupalCom handlade om ett av dem, OpenAid.

Andan av open source kändes starkt på många håll. Förrutom ovan nämnda OpenAid så var det Sony-sponsorerade projektet med views i Drupal6 ännu i färskt minne. De investerade miljoner i utvecklingspengar för att bygga mångspråkiga sajter för fans till de stjärnor som de har hos dem. De släppte sedan allt vad du utvecklat öppet till Drupal-gemenskapen. Som sedan dess bidragit med vidareutveckling som skulle ha kostat oräkneliga miljoner . Samma kungstanke ligger bakom initiativet Large Scale Drupal (LSD) där de största aktörerna som använder Drupal samarbetar med stora utvecklingsprojekt. Jag ställde i detta sammanhang en representant från NBC frågan om detta är besvärligt ur konkurenssynvinkel, han menade att det inte är så. ”Det är ju innehållet vi konkurerar med, inte de tekniska verktygen vi använder för att publicera innehållet. Dessutom gav detta oss bra insyn och samarbete med hur t.ex. Disney löst en del problem som vi också haft”.

Utöver det officiella programmet var korridorsnacket, Birds of a Feather-sessionerna (spontana möten kring av deltagarna föreslagna ämnen) och möjligheterna att träffa de främsta experterna inom området verkligen givande. Vi fick t.ex. stor hjälp och härligt meningsutbyte av Lin Clark och Stéphane Corlosquet, de ledande krafterna inom semantisk webb och Drupal. Och Dan ”dman” Morrison gjorde en code review av Svenska Yles Onki-modul mitt under pågående konferens. Mer om allt detta kommer så småningom här på Utvecklingsbloggen.

Just dessa möten, gemenskapen, samarbetet (och det goda ölet i München) blev de stora behållingarna av DrupalCon 2012 Munich.

 

It’s all about the community

Group Photo* DrupalCon Europe 2012. Munich, Germany

PS. gratis Drupal-klistermärken till den som kan hitta bloggpostförfattaren från bilden ovan 🙂

Om betydelsen av communities

Paneldebatt på DrupalCamp

En av de stora fördelarna med att jobba med att utveckla på en open source-plattform som Drupal är att det alltid finns en massa andra som håller på och jobbar med precis samma saker. Och några gånger per år så samlas en del av dem på ett och samma ställe för att dels ta del av vad som är nytt och intressant inom Drupal-communityn men också för att träffas, mingla och skapa nya kontakter. Stora internationella Drupal-kongresser ordnas två gånger per år, en i USA och en i Europa, dit de största namnen inom Drupal-världen samlas, men minst lika viktiga är de mindre Drupal-campen som är mer regionala, och samtidigt mer intima. Man kan säga att om DrupalCon är de stora kommersiella aktörernas spelplan så är camparna de platser där man är mer jordnära och kanske mer inriktade på praktiska frågor kring Drupal och hur plattformen kommer att utvecklas.

”Drupal is standing on the shoulders of giants, but the giants have sore shoulders”

-Jeff Burnz

Jeff Burnz, som är ledare för design-intiativet för Drupal 8 höll inledningstalet, och kom med en påminnelse om att alla kan och gärna ska delta i utvecklingen av Drupal, man behöver inte vara någon expert på kodande för att kunna hjälpa till. Redan så små saker som att vara aktiv med att ställa frågor, att kommentera inlägg och att rapportera buggar hjälper till att göra Drupal till en bättre produkt.  Och det är inte bara på de stora sajternas villkor som plattformen ska utvecklas, också de tusentals mindre sajterna som drivs på Drupal behöver kunna säga sitt, och vidareutvecklingen av Drupal kan inte bara hänga på Drupal-rockstjärnornas axlar, också om det skulle kännas lättare för de flesta av användarna om det var så. Den viktigaste saken att komma ihåg är ändå att inget bidrag är för litet, och att alla verkligen får vara med och utveckla. Där ligger kärnan i hela open source-filosofin.

Av alla, för alla.