Netsensei

Much Ado About Nothing

Software en Programmeren

Wat is Drupal

Mja, wat is Drupal? Ik blog er wel eens over. Maar eigenlijk neemt het flinke hap van mijn leven in. Als ik er al eens iets over vertel, dan verlies ik al eens snel mijn gesprekpartner. Tjah.

Om even een lange lap tekst te vermijden, een korte presentatie:

Drupal is dus software waarmee je snel een website kan bouwen en gemakkelijk onderhouden. Vroeger was een systeem zoals Drupal voornamelijk bedoeld om snel pagina’s te maken en tekst te publiceren. Eventueel opgeleukt met een fotootje. Vandaag ligt dat anders. Websites zijn meer dan een verzameling pagina’s. Het zijn echte applicaties geworden. Denk maar aan Facebook, Twitter of Google. Maar ook: webshops, weblogs, forums, media,…

Drupal probeert aan die behoefte om meer te kunnen, te voldoen. Eigenlijk is het een blokkendoos: zowat alle functionaliteit komt als modules. Jij activeert de modules die je nodig hebt om jouw site te kunnen bouwen. Daar houdt het niet bij op. Naast de standaardmodules kan je ook nog eens 8000+ modules vrij downloaden en gebruiken.

Allemaal gratis? Jawel, allemaal gratis! Hoewel, gratis is hier niet het juiste woord. Drupal is vrije software. Dat betekent dat de licentie je toelaat om vrij de broncode te downloaden, te bestuderen, aan te passen, uit te breiden en zelf opnieuw te verspreiden. Voor noppes en nada. Dat is de grote kracht aan Drupal. Met je laptop en vrije software kan je meteen aan de slag. Drupal is een succesnummer omdat er duizenden ontwikkelaars over de hele wereld de klok rond bezig zijn om nieuwe stukken toe te voegen, te onderhouden of te verbeteren.

Voor een groot deel wordt dat gedaan uit puur idealisme. Of omdat het gewoon kicken is om iets te schrijven in je vrije tijd en te zien dat Grote Projecten daar dan gebruik van maken. Voor heel grote groep mensen is Drupal dus een hobby. Maar voor heel wat mensen, zoals ik, betekent het dagelijks brood. Op het werk bouwen we alle projecten met Drupal. Onze klanten betalen ons dan ook niet voor de software zelf, maar omdat we die door en door kennen en er heel snel, veilig en stabiel hun project mee kunnen bouwen.

Klanten vertrouwen ons dus. En wij vertrouwen Drupal en de mensen die het onderhouden. Dat doen we niet zomaar. Omdat het zo belangrijk is dat Drupal steeds beter wordt, geven we ook terug aan het Drupal project. Vinden we in ons dagelijks werk een bug? Dan fixen we die. Hebben we een module gebouwd die zo handig is dat anderen er ook wat aan hebben? Dan zetten we die vrij on line… en krijgen we al snel feedback terug hoe we die nog beter kunnen maken.

Voor de meesten klinkt dit allemaal heel erg vreemd. Zomaar gratis weggeven? Dat doet zelfs Microsoft niet! Klopt. Je betaalt Microsoft om hun software te mogen gebruiken. Je mag er dus zelf niets aan aanpassen of verbeteren. Een fout ontdekt? Helaas: je zal moeten wachten tot Microsoft die corrigeert.

Het mooie aan vrije software is dat het ook echt werkt. Door de software zelf niet te gelde te maken maar op basis van respect en vertrouwen te werken, wordt ze vanzelf beter. Wie daar meer over wil weten raad ik het essay The Cathedral and the Bazaar van Eric S. Raymond aan.

Afin. Dat is natuurlijk niet het enige. Het motto achter Drupal is: Come for the software, stay for the community. Er worden over de hele wereld bijeenkomsten georganiseerd. Zoals de lokale drupal user groups waarbij geïnteresseerden maandelijks samenkomen om nieuwe weetjes en tips uit te wisselen. Of DrupalCamps die soms uitgroeien tot heuse beurzen. En natuurlijk is er tweemaal per jaar een DrupalCon waarbij hackers over de volledige wereld bijeenkomen. Daarnaast kennen de meeste in het wereldje elkaar ondertussen.
Er zijn zelfs al relaties uit Drupal gegroeid… en, jawel, op Drupalcon Londen is er tijdens een sessie zelfs een huwelijksaanzoek gebeurd tussen twee drupalista’s!

Tjah, Drupal neemt dus nogal een grote hap in. Ik heb al een piepkleine bijdrage aan Drupal geleverd, onderhoud een module, fix bugs, schrijf links en rechts documentatie, bouw er websites mee en what-not. En dat voor iemand die er als student gewoon mee beginnen prullen is op zijn computer op zijn slaapkamer. Niet slecht!

Nog meer weten? En je hebt wat tijd? Dan raad ik je de talk van Gabor Hojtsy op DrupalCon Kopenhagen van vorig jaar even te bekijken.

Zelf eens spelen met Drupal? Dat kan. Je hoeft de software ook niet zonder meer te downloaden. Je kan op Drupal Gardens zelf een Drupal site maken en beginnen rondklikken. Net zoals je dat kan met WordPress.com of op Blogger.

Drupalcon

Ik schreef dit reeds donderdagmiddag. Maar ik had pas vandaag tijd om af te werken. Met een beetje vertraging dus.

’t Zit er bijna op. Ik zit nu in de coderslounge met nog een half uurtje te gaan voor we terug naar het vasteland vertrekken. Het was, zoals altijd, geweldig om weer eens Drupalcon te mogen ervaren.

De eerste dag bestond voornamelijk uit werken. Voor De Job had ik beloofd om ter plaatse wat uurtjes te maken. Geen probleem. Dus zaten we met een paar mensen op een klein hotelkamertje op houten stoeltjes te hacken, mailtjes te sturen en te vergaderen. ’s Avonds was het zoeken naar een goed restaurant. Het werd The George waar ik sausages with mashed potatoes and peas koos. De avond bestond uit pils, en gesprekken over Drupal en Boedha.

Dag twee, daar herinner ik mij niet zoveel van. Ik heb een paar sessies gezien. Eentje over The Biology of the Page Request en eentje over Easy Drupal Hosting Lifecycle. Ergens vielen ze een beetje tegen in dat ze nogal heel algemeen waren. Er werden niet meteen dingen verteld die ik nog niet wist. De rest van de dag was mensen ontmoeten, meer mensen ontmoeten, veel code schrijven, zotte ideeën uitwisselen, koffie drinken en foto’s nemen.

Hoogtepunt van de dag was de presentatie van collega’s Swentel en Jyve over Display Suite. Hun project draait op 8000+ websites en laat je toe om heel snel en makkelijk mooie websites te bouwen. De organisatie had zelfs een tweede zaal ingezet met een videolink.

Tegen de avond ben ik vrij snel terug richting hotel gekeerd met een stevige verkoudheid. Ook hier toonde het weer zich niet van zijn fraaiste kant. Bovendien zitten we hier met 1800+ mensen opeengepakt in een ietwat krappe venue.

Gisteren ging het gelukkig een stuk beter. De dag stopte wat vroeger omdat er ’s avonds naar Batman Live werd gegaan. Als je een ticket had tenminste. Het geluk was aan mijn zijde: blijkbaar deelden ze last minute nog wat gratis tickets uit.

Met een colonne typische rode dubbeldekkers trokken we van Croydon naar de O2 Arena. Ik geloof niet dat ik eerder zo onder de indruk was van een overkoepelde ruimte. Je mag er echt geen pleinvrees hebben. De eigenlijke arena is niet veel groter dan de Lotto Arena. De show zelf was een acrobatisch circus met veel special effecten, dans, kunsten, video en, jawel, vuurwerk. Het was allemaal op kindermaat geschreven: verstand op nul dus.

Vanmorgen trok ik naar de keynote van de Standardistas over Designing the Sustainable Web. Heel interessante en inspirerende sessie over de geschiedenis van het WWW en welke principes er écht belangrijk zijn wil je een goede website bouwen. De rest van de dag was het voornamelijk mensen ontmoetten.

Straks gaat het met de ferry terug richting vasteland.

Blitz

DrupalCon komt eraan! Nog een kleine 10 dagen en we trekken naar de overkant van het kanaal.

Nu mag je eens raden waar dat allemaal door gaat.
Juist.
In Croydon, Londen.
Waar het lijkt alsof de Blitz nog eens dunnetjes wordt over gedaan.

Voorlopig gaat het allemaal wel door. We krijgen zelfs extra beveiliging als ik het zo wat volg. ’t Stemt me wel droevig want Londen zag ik nu toch niet als een plaats waar dergelijk extreem geweld zo even losbarst.

Anarchy in the UK, tjah…

Dispatches

En toen was het woensdag en waren er weer drie werkdagen gepasseerd. Zo eens een weekje vrijaf en niets doen is natuurlijk leuk, maar ik ben toch content dat ik terug aan de slag kon. Zo even afstand nemen van het werk, dat doet goed om dan met opgeladen batterijen terug de zaken vast te nemen.

Zondag heb ik voornamelijk de kunst van het niets doen proberen te perfectioneren. Ik hield mij ledig met activiteiten zoals daar zijn: leeg in de zetel hangen, TV kijken, meer TV kijken, een boekje pakken, eten maken, muziek luisteren. En vooral geen e-mail of zo bekijken.

Maandag ging het richting Gent. Ik had afspraak met deze mensen voor dit project. ’t Is iets waar wij ondertussen dik anderhalf jaar mee bezig zijn. Ja, wij doen coole dingen met video, gedistribueerde data, semantische webtechnologie, Drupal en what-not, wij.

’s Avonds trok ik naar Hackerspace Gent wat niet zo heel ver van Dampoort vandaan ligt. Ik ontmoette er Greet, Pieter en een deel van de iRail crew. Die doen allerlei toffe dingen met open data en API’s. Ik moet daar dringend eens iets over schrijven.

Gisteren ben ik gaan klimmen met J. We houden dat goed vol, zo op wekelijkse basis de muur te lijf te gaan. Ik ben erin geslaagd om een route met moeilijkheidsgraad 5b te voltooien. Eentje waar ik de voorbije weken veel moeite mee had. Er komt niet alleen kracht bij kijken, maar ook wat gepuzzel. De route in kwestie is een uitdaging want als je je voeten verkeerd op de grepen plaatst, dan maak je het jezelf enorm lastig. Ik begin te merken dat ik zo’n beetje op een plateau zit: wil ik een hogere moeilijkheidsgraad aankunnen (en langer klimmen), dan ga ik toch meer kracht in mijn voorarmen en vingers moeten ontwikkelen. Eens kijken of daar aparte oefeningen voor bestaan.

Vandaag ben ik dan weer met Aardling en Karmeen en frietje wezen stekken. En daarna ijs. In Brugge heb je het ondertussen wereldbefaamde Da Vinci, wel in Antwerpen is dat dus de Gelato Factory. Met het iets warmere weer vanavond was het er lekker drukjes. Maar ’t Is zeker een aanrader want het ijs wordt er naar het schijnt op ambachtelijke Italiaanse wijze gemaakt.

Mailchimp, group names and merge tags

Okay. This is a post for future reference.

Lately, I’ve been working on a Drupal project which involves Mailchimp integration. Mailchimp is an excellent service which manages all the monkeyjobs while you can send out newsletters to lists of subscribers carefree.

The service allows you to create a (or use a predefined) reusable template for your newsletter. You pass the content which needs to be send out on a frequent (weekly? monthly?) basis to your subscribers to Mailchimp and it will churn out a new newsletter based on your template.

One of the requirements of the project is that a subscriber can opt in to receive a customized newsletter based on selected interest groups. The content of the newsletter are Drupal nodes that were published since the last edition of the newsletter. Using the taxonomy module, these nodes are assigned to one or more of the twelve available interest groups.

I need to aggregate the data in Drupal into digestible content and send it in a single Mailchimp campaign. There’s a catch though: a campaign is send out to all users, not those that have opted in for interest groups x, y or z. So, how can you solve this?

Enter: smart merge tags with groups. Using Mailchimps’ smart merge tags within the newsletter content generated by Drupal, I can target specific interest groups.

Like this:

<br> *|INTERESTED:Interests:Sports and entertainment|*<br> Node Title B<br> *|END:INTERESTED|* ``

*|INTERESTED:Interests:Lifestyle|*<br> Node Title A<br> Node Title C<br> *|END:INTERESTED|*<br>

Depending on the interest groups a user is subscribed to, only the content relevant to him or her will be shown in the newsletter. Thus creating personalized newsletters. Pretty cool!

There are a few limitations though. Over the past two days, I’ve been sparring with the Mailchimp support desk (They’ve been great and very helpful!) about the usage of commas in group names. You could do something like this:

<br> *|INTERESTED:Interests:Sports and entertainment, lifestyle|*<br> Node Title D<br> Node Title E<br> *|END:INTERESTED|*<br>

Which will act as an OR filter showing content to people who are either subscribed to ‘Sports and entertainment’ or ‘lifestyle’. But what if your group names themselves contain commas? What if you had a group called ‘Sports, Culture and entertainment’. Well, Mailchimp will be confused and think these are two groups ‘Sports’ and ‘Culture and entertainment’. Since those are nonexistent groups, the content won’t show up at all. I’ve tried escaping the commas and putting everything between quotes: nothing works.

This is the solution provided by the Mailchimp people:

Regarding the use of commas in a group name, we would recommend removing these commas if at all possible. We have passed this issue onto our developers for investigation. At this time we do not have an estimated time frame of when we will be able to hear back from them. However, we will continue to investigate and push a resolution as soon as one becomes available if our developers do believe this to be necessary. At this time, removing all commas from the group names and creating an ELSE statement would be our top ideas!

Awesome!

Of course, you’re probably eager to hear about the Drupal bit of my Mailchimp adventures. Well, stay tuned. I’ve been toying with the Mailchimp API. And I like it. A lot. I’ve chalked up a few ideas. I’m going to let them stew a little bit longer until I’ve got a clear head about what is feasible.

Allo micro

*tok tok*

Allo micro?

Is het echt bijna-net-geen zes maanden geleden sinds ik heb geblogd? Blijkbaar wel. ’t Is zelfs zo lang geleden dat ik nog eens ingelogd heb! Op het dashboard flikkerden allerlei waarschuwingen. Een update naar WordPress 3.1.3 drong zich op. En de spamqueue stak vol met geblokkeerde spamcomments. Noem het maar een dikke laag stof en spinnewebben waar ik net even komaf mee heb gemaakt.

Tjah, het zat er wat aan te komen.

Ten eerste slabakte het in de tweede helft van vorig jaar al. Ik was zo langzamerhand blogmoe geworden. De dag dat je jezelf moet dwingen om iets te schrijven, kan je er beter even mee stoppen. Dat heb ik dus dan maar gedaan. Even afstand nemen.

Ten tweede zijn er heel wat medebloggers die hun blog aan de wilgen hebben gehangen in het voorbije jaar. Just moving on with life en hun blog dus ontgroeid.  Wat ergens wel een beetje ontmoedigend werkt.  Ik heb twee weken terug mijn feedreader eens uitgekuist en de lijst dode feeds kon wel tellen.

Ten derde zijn er die andere sociale media. Velen zijn verkast naar Facebook en Twitter.  Het is nu eenmaal makkelijker om dat leuke filmpje te delen via een sociaal netwerk dan via een blog. Waar bloggen pull is (je hoopt dat je bezoekers zullen blijven hangen) kan je via facebook of twitter content actief pushen naar anderen (het komt automatisch in hun activity stream terecht)  Het laatste jaar was ik nogal actief op Facebook. Welja, heel erg actief.

No more. Gedaan. Tsusch. Ik moet bekennen dat ik sinds een week of twee gestopt ben met Facebook. Mijn account is er nog wel, maar ik heb er sinds medio mei niet meer aangelogd.

Waarom? In het begin heeft dat allemaal wel iets.  It’s a novelty. Je kan er makkelijk en snel je vrienden, oud klasgenootjes, collega’s,… mee bereiken. En omgekeerd is het ook een sleutelgat waardoor je naar het leven van anderen in je netwerk kijkt. Op het laatste vond ik het minder fijn om het leven van anderen van zo nabij te kunnen volgen.  Ik merkte dat ik iets te hard mezelf begon af te spiegelen in negatieve zin aan mijn sociaal netwerk. Tot op het punt dat een uurtje Facebook mij gewoon een rotgevoel bezorgde. Alsof mijn sociaal netwerk mij als individu voor een flink stuk definieerde. Niet goed dus. Uiteindelijk was het dit artikel van Jason Scott dat mij deed besluiten om er mee te stoppen.

But the fact that anyone would put anything of any unique nature on there, that matters to them, is beyond insanity – it’s identity suicide. It’s like you are intentionally driving down the road of life, ripping pages of your journal and photo albums, and tossing them out the window. Good luck finding anything again. Good luck knowing in six months, a year, something will even be findable. Try and communicate with anyone using their designed-by-a-second-trimester-fetus “message” system with any of the features from the last 30 years. Go back and try and negotiate it for search and topic control and usefulness. No. Not happening. Everything on Facebook is Now. Nothing, and I mean nothing on Facebook is Then. Or even last month.

Ik zou niet zo ver willen gaan als Jason. ‘Tuurlijk heeft Facebook zijn merites. Niets makkelijker om leuke filmpjes te delen of om iets te organiseren met je vrienden. Maar ik merk nu hoeveel tijd ik op Facebook investeerde zonder dat het voor mij uiteindelijk echt persoonlijke meerwaarde opleverde. Het doet goed om die tijd nu aan te wenden voor toffere dingen. De mensen die je echt nauw aan het hart liggen, daar heb je Facebook niet voor nodig om te weten hoe het in hun leven loopt.

En dus keer ik terug naar mijn blogje. ’t Is dat het aanvoelt als thuiskomen. Dit is mijn plaatsje op het web. Helemaal mijn “domein”. En dat schat ik meer naar waarde dan een profielpagina op Facebook dat bij de eerste blote tiet kan worden gewist. Het plan is om terug hier wat meer te toeven en te schrijven. Geen beloftes. Ik doe dit in de eerste plaats voor mijn plezier.

De rest, dat zien we wel.

Build a project tracker with Drupal

Since Drupal has become part of my day-to-day life, I’m going to start blogging about it here. I’ve been thinking to create a separate development/project/code blog on colada.be, but I’d like to take the time to set things up properly over there. So, for now, let’s start here and see where I’ll end up.

So, what cool things can you do with Drupal besides building websites? Well, to manage my work on the Pandion project, I really needed some sort of case or issue tracker. Nothing fancy, just something were I can manage stuff – ideas, features, bugs, forget-ye-nots,… – without losing track. There are already some great tools out there. Standalone issue trackers like Mantis or Trac and on line services like Unfuddle are of great assistance for the intrepid developer or project team. Then again, those come with a lot of features which I, as a sole developer, don’t really need.

Enter: Drupal!

Drupal.org actually hosts most of the projects – modules and themes – within the Drupal ecosystem. It provides a CVS code repository, packaging and, notably, an issue tracker per project. Take the Views module for intance. This is one of the largest projects within the Drupal community and without the issue tracker, it would be hard to coordinate the efforts. The best part is this: the tools to create such an environment are also open source! They’re Drupal modules that are actually very easy to set up. And so it took me about an hour to set up my own issue tracker  with Drupal.

So, how did I do it?

  1. Download and install Drupal 6. (Not 7! Not yet at least ;-))

  2. Download and install these modules: Views, Comment Upload, Project, Token, Pathauto and Project Issue

  3. Go to ‘admin/build/modules’ in your Drupal installation and enable these modules: Pathauto, Project and Project Issue Tracking. You’ll notice that there’s actually a whole range of submodules. The project module does also include i.e. Apache Solr support, packaging and much more which I didn’t need.

  4. Next go to ‘admin/build/path/pathauto’ and under the ‘Node paths’ fieldset enter ‘project/[title-raw]’ (without quotes) in the ‘Pattern for all project paths’ textfield.

  5. Now go to ‘admin/settings/site-information’ and set the default front page to ‘project/issues’ (no quotes!)

  6. Finally, go to ‘node/add/project-project’ and create your first project.

Congratulations, You’re set to track issues with you’re private issue tracker system! On the front page, click on ‘Create a new issue’ to start tracking. If you have multiple projects, Drupal will ask you to which project you want to add the issue. With the default configuration, you can add issues for components like ‘Code’, ‘Documentation’, ‘Miscellaneous’ and ‘User Interface’. You can give priorities to issues, assign them to particular Drupal users (if you work in a small team) and give issues a whole range of statuses.

And this is how my own project tracker looks like. Just what I needed, completely free and without cruft I don’t need.

Project Tracker

Firefox en grouped tabs

Herinnert u zich nog hoe ik fulmineerde tegen de gepercipieerde traagheid van Firefox enigste maanden terug? Wel, sinds een tijdje ben ik overgeschakeld op Firefox 4. Is die al uit? Neen, maar je kan die in avant-première al uitproberen via de beta’s. Ondertussen zitten we al aan beta 7.  Is de browser dan stabiel genoeg? Het wisselt wat. Toen ik in stapte in het betaprogramma was beta 3 nog maar net uit. In een rotvaart hebben ze een paar nieuwe versies de deur uitgestoempt en ondanks een paar ergernissen gaat het wel in de goede richting. Om nog maar te zwijgen van de interface, die ondanks verschillen tussen beta’s, redelijk stevige hawtness beloofd.

Maar daar wilde ik eigenlijk niet over bloggen.

Grouped tabs dus. Zat ik net in mijn zetel met een tiental tabs open met allerlei documentatie voor mijn werk aan dit project. Straks sluit ik het boeltje en neem ik mijn laptop morgen mee naar kantoor. Daar werk ik weer aan andere projecten waar ik al snel een tiental tabjes voor open heb staan.  Het is dus jammer om de ‘staat’ van mijn huidige browserspace verloren te laten gaan. Ik heb geen zin om alle documentatie opnieuw te moeten zoeken. Bookmarken dan maar? Can do. Maar dan ontploft mijn bookmarkbar.

Gelukkig zit er in Firefox 4 een nieuwe feature: grouped tabs. Je kan groepjes van tabs maken en dan switchen tussen die groepen.  Ik ben mijn openstaande tabs dus niet kwijt: ze worden op de achtergrond bewaard en morgenavond kan ik ze terug opnieuw oproepen terwijl ik mijn tabjes van de kantoorprojecten kan verstoppen in andere groepjes.

Check it out!

Handy!

Updeet

Zo.  Ik heb tussen het gedoe met kartonnen dozen en zo in, ook nog even mijn blogje van een update voorzien. WordPress 3.0.1 zoemt nu onder de motorkap. In de zijbalk heb ik ook maar meteen eens de linklove herbekeken.  Mocht ik jou onbedoeld uit de weg hebben geruimd, geef dan een schreeuw. Voor zover we mekaar kennen, plaats ik je er graag (opnieuw terug) bij.

O hai!

Dit weekend werd ik met de neus op de feiten gedrukt. Ik blog te weinig. Bij vroeger vergeleken dan. De blogfrequentie ligt gewoon te laag. En het was niet de minste die mij dat inpeperde. Wel, daar gaan we dus drrringend eens iets aan moeten doen. Want nochtans is er meer dan genoeg om over te schrijven.

Hoe het met mij gaat? Wel, goed. De laatste maanden zijn, wel, druk geweest. Toffe projecten waar een mens op het werk helemaal in opgaat. Je kent dat wel. Drupal brengt mij echt op plaatsen waar ik nooit gedacht had er ooit nog eens te staan. Het is een beetje een way of life geworden en het gaat me vreemd genoeg niet vervelen. Daarvoor zorgt die grote Drupal gemeenschap voor want ze verbazen steeds weer met nieuwe technieken en inzichten die het leven weer een stuk makkelijker en interessanter maken.

En verder heb ik ook een appartement gevonden in Antwerpen. Met dank aan J. en N. die mijn nieuwe huisbazen worden. In september moet er wat opfleurwerk gebeuren maar de idee is om per 1 oktober te verhuizen en de dagelijkse pendel met de trein achter mij te laten.  Ik zal er niet rouwig om zijn.

Maar voor ik verhuis presteer ik eerst nog een rondje doorheen Europa. Eind augustus gaat het richting Kopenhagen voor de Europese DrupalCon. En vanuit Denemarken gaat het per direct naar Zwitserland voor een weekje vakantie. Unplugged. Ik heb alvast goede botinnes aangeschaft en een zonnebril op sterkte besteld. Mijn rugzak zal voornamelijk een fototoestel en een paar boeken bevatten. Ook daar kijk ik naar uit.

En hoe gaat het met u?

« Vorige blogposts Pagina 4 van 22 pagina's Volgende blogposts »