Netsensei

Much Ado About Nothing

Drupal

Ik werd gehackt

Eind maart maakte het Drupal Security team kwetsbaarheid SA-CORE-2018-002 bekend. Het ging om een zeer serieus veiligheidsprobleem met Drupal. Zo serieus dat iedereen alles moest laten vallen op Drupal websites te voorzien van een update. Drupalgeddon dus. Ondertussen maakten gewiekste mensen met slechte bedoelingen gebruik van de gelegenheid om zoveel mogelijk servers met onbeveiligde Drupal sites te hacken.

Mijn eigen server is er daar eentje van. Ik was namelijk in die periode in Californië. Het duurde even voor ik kans had om het nodige te ondernemen. Helaas was het kwaad reeds geschied. Deze week kreeg ik een bericht van Linode – de hosting partij van wie ik een virtuele server lease – dat er problemen waren.

Gehackt!
Gehackt!

Tijd om actie te ondernemen. De eerste stap was de server offline halen om geen verdere schade te veroorzaken. Dat deed ik eerder deze week. Dat betekende dat ik enkele dagen uit de lucht was. Gelukkig gaat het om persoonlijke projecten, niet om die van betalende klanten. In dat geval zou ik met een groter probleem hebben gezeten.

Gisteren heb ik een nieuwe server aangemaakt. Handmatig configureren zou snel een dag of meer kosten. Tegenwoordig automatiseer ik zoveel mogelijk met Ansible. Het kostte me een dik half uur om die operationeel te krijgen. Vervolgens was het een kwestie van de websites één per één terug on line te zetten. In het geval van die ene Drupal website betekende dat: de files folder en de database manueel controleren en schonen. En dan vind je dit soort ongein terug:

Gehackt!
Gehackt!

Juist. Script kiddies die mijn server mismeesteren voor allerlei illegale praktijken. In de database vond ik ook nog eens allerlei  Javascript crypto miners terug. Gelukkig kon ik die met wat RegEx Fu helemaal opschonen. Het ging dan ook om een site met niet zo heel erg veel inhoud. Maar het kostte me wel wat tijd en moeite om alles grondig te controleren.

Tenslotte heb ik ook meteen alle laatste patches en updates toegepast, wachtwoorden vervangen, enzovoorts enzoverder.

Waarom de oude server niet gewoon opschonen? Omdat dat eigenlijk gewoonweg niet doenbaar is. Het is veel eenvoudiger om met een schone lei te beginnen en de gehackte server uiteindelijk te verwijderen.

Waarom Drupal nog blijven gebruiken? Omdat de ontwikkelaars achter Drupal hier de juiste procedure volgden. Kwetsbaarheid breed kenbaar maken en meteen een oplossing voorzien. Dat ik toch in de problemen kwam, ligt geheel en al aan een ongelukkige timing.

Waarom zelf al die moeite met een server doen? Daarom.

Ik kocht een Blue Snowball microfoon

Kijkt. Ik heb nieuw speelgoed!

Wat is het? Een Blue Snowball microfoon! Voor 77 euro op de kop getikt bij de Bax Shop. Eergisterenavond besteld, gisterenmorgen geleverd. Like a boss.

Wat ik daar mee ga doen?

Wel, screencasts maken, tiens!

Waarover dan?

Tjah, Drupal en WordPress natuurlijk. Maar in feite kan het over gelijk wat gaan. Zolang ik er maar op het scherm een uitleg over kan geven. Er zijn uiteraard al duus’d-en-een mensen mij voor gegaan. Dus ik écht iets nieuws doe ik niet. ’t Is natuurlijk ook niet meteen de bedoeling om domweg beginnertutorials te maken wegens dat het juist dat is wat die duusd-en-een mensen reeds hebben gedaan.

Het idee is om tips ’n tricks op te nemen die een stapje verder gaan. Interessante kneepjes die ik doorheen mijn werk tegen kom en die het waard zijn om te delen. Ik ga niet met voorbereidingen en battle plans heelder screencastreeksen te maken. Het idee is om er eerst een paar losse opnames te maken en dan te kijken waar het mij brengt. Zoals alles is screencasting een kunst. Ik heb mij er vroeger al eens aan gewaagd: slechts door oefening en veel proberen wordt je materiaal beter.

Waarom screencasts?

Omdat het gewoon makkelijker en leuker is om een YouTube filmpje te maken dan een hele tutorial uit te schrijven. De ervaring leert trouwens dat een bitesize filmpje van 5 à 10 minuten interessanter is als je een nieuwe techniek moet leren, dan een abstracte beschrijving in een artikel. Het is natuurlijk ook een stuk persoonlijker wanneer je je stem leent.

Een nieuwe uitdaging

Het is bijna zover. Volgende week start ik bij het Brugse Duo als Drupal developer. Een nieuwe spannende uitdaging dus. En eentje die wel héél dicht bij huis is.

Ik blijf dus bij Drupal. En web development, natuurlijk. Omdat ik dat altijd al graag gedaan heb. Omdat er nog spannende tijden binnen het wereldje zitten aan te komen. Omdat het leuk is om als vakman iets te bouwen. Omdat het voldoening geeft om een interessant project voor een tevreden klant tot een goed einde te brengen. Omdat ik met een heel wat interessante mensen in aanraking kom.

De voorbije weken waren, wel, hectisch. Eind maart hoorde ik sowieso te vertrekken bij Wunderkraut, dus veel tijd om bij de pakken te blijven zitten was er niet. Ik heb een heel weg afgelegd. Tot in Parijs toe! En ik heb een aantal dingen geleerd.

Ik ben vrij snel op zoek gegaan. Ik had het “geluk” dat mijn ontslag vlak voor mijn verlof viel. Dat gaf me tijd om wat afstand te nemen, tot rust te komen, maar ook om links en rechts afspraken te maken en mensen aan te spreken. Pas na de vakanties kwam de feedback terug. Ook toen heb ik tijd genomen om alles rustig af te wegen en een keuze te maken. Jezelf tijd gunnen is dus belangrijk!

Ik heb niet echt in de Vacature en de Jobat gekeken maar mijn netwerk aangesproken. Via Facebook, Twitter, LinkedIn, mijn blog,… liet ik, in alle eerlijkheid, weten wat er was gebeurd. Ik probeerde open te communiceren en de opportuniteit te creëren. Het spannende was het afwachten op wat er op me zou afkomen.

Ik moest immers voor mezelf uitmaken waar ik nu naartoe wil. En dat blijkt makkelijker gezegd dan gedaan. Wanneer je dag in, dag uit met iets bezig bent, dan verlies je deels het perspectief. Onze industrie is ook zo snel veranderd in de laatste jaren. Blijven bijleren en experimenteren zijn echt wel belangrijk. Leren keuzes maken en loslaten eveneens. De insteek waarmee ik mijn zoektocht begon is niet dezelfde als diegene waarmee ik mijn contract tekende. Solliciteren is ook een plots veranderingsproces door introspectie. En ja, jezelf opnieuw uitvinden is best wel confronterend.

In de laatste weken heb ik dan ook met veel, heel veel, mensen gepraat. Ik ben heel erkentelijk voor al die luisterende oren, adviezen en eerlijke meningen. Daar heb ik veel aan gehad. Ik denk dat dat een belangrijke is voor elke sollicitant: een gesprek zonder concreet resultaat kan ook bijzonder leerrijk zijn. Zie ze dan ook niet als een mislukking. Wat je niet hebt, kan je immers ook niet verliezen.

En ik heb natuurlijk ook regelmatig stoom moeten aflaten. Ook al was het zwaar om dragen, juist nu ben ik blijven klimmen, op stap blijen gaan met vrienden, blijven koken,… De onzekerheid is er natuurlijk, en bij momenten woog ze écht zwaar door. Er zijn slapeloze piekernachten geweest. Maar door mezelf het recht op ontspanning en een normaal leven te blijven gunnen, bleef het allemaal goed om dragen.

Tenslotte heb ik ook veel aan mijn lief gehad. Ik ben sinds mijn ontslag bij haar beginnen logeren en op een paar nachten en middagen na, niet meer terug gekeerd naar mijn appartement. ’s Avonds zat ik dus niet alleen thuis voor mijn TV. Zeker niet in die eerste weken. Als je je ontslag krijgt is je familie de beste opvang die een mens zich maar kan inbeelden. Het neveneffect is dat ik ondertussen twee planken in haar kleerkast heb ingepalmd. Tjah.

Er is natuurlijk een glaasje champagne gedronken op mijn nieuw begin. En dat is super. De komende weken zullen alleszins heel spannend worden. Ik ben heel benieuwd naar wat komen gaat.

Dispatches

Wat een week!

Dinsdag richting kinesist. Ondertussen vaste prik sinds begin september. Met de schouder gaat het ondertussen stukken beter. De man laat mezelf wonderen verrichten.

Woensdag gaf ik voor de laatste keer les in Antwerpen. De voorbije vijf weken mocht ik 4 keer Drupal training geven voor de Vlaamse Ingenieurskamer. Leuk, maar vermoeiend wegens bizarre lestijden.

Donderdag had ik een complete off day na een eerste slapeloze nacht vol muizenissen en te veel gepieker. Wat een eerder onverwacht berichtje teweeg kan brengen. Het superlief pikte mij ’s avonds op aan het station.

Vrijdag. Op het werk een presentatie met resultaten van een intern project geven. Spannend. Heel interessante materie om rond te werken. Het is niet echt een project waar je helemaal tot de eindmeet kan kijken. Je weet wel waar we naartoe moeten, maar om dat in een concrete, efficiënte planning te duikelen en rekening te houden met zoveel mogelijk onbekenden, dat is een uitdaging.

Vrijdagavond kookles. Ook dit jaar kook ik weer. Ik heb gekozen voor de module zuiders koken en gaat eens in de twee weken door dan elke week. Het lagere tempo geeft wat meer ademruimte. Ik kan daar wel van genieten om zo in goed gezelschap te koken en nieuwe dingen te leren.

Zaterdag: verjaardagsfeestje van de schoonzus van het lief.

Zondag doopfeest van mijn eerste petekind! Ik ben daar vaneigens ongelofelijk blij mee. Geweldig familiefeest bij P. & J. en een mooie doopceremonie. Heerlijke handgemaakte taart van P. en L. en koffie toe. ’s Avonds van Diest terug westwaarts.

Vandaag: ik hang in de touwen. De voorbije dagen was ik mijn stem al kwijt en sliep ik niet echt fantastisch. Na de uitputtingsslag van voorbije week heeft het virus dan toch een overwinning thuis gehaald. Vanmorgen suf, mottig, fluimend en krochtend opgestaan. Meteen op doktersbezoek geweest. Ik hoor een dag of drie platte rust houden en een batterij medicatie wacht mij op de keukentafel. Urgh.

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.

Dispatches

Wat. Een. Week.

Vier keer Brussel en een keer Antwerpen. Ettelijke kilometers erbij op de teller. ’t Zijn de laatste dagen van het Project waar ik het laatste jaar een flink deel van de tijd aan heb gespendeerd. Het Project zelf is nog lang niet af. Daar gaan nog wel wat maanden over gaan. Ik heb alvast heel wat bijgeleerd. Over Drupal. Maar ook over mezelf. Dat ik mijn pollekes mag kussen met hetgeen ik doe, bijvoorbeeld. Of dat het interessant is om een tijdlang mee te draaien in een gargantische organisatie met een eigen cultuur en geplogenheden. Dat ik mij echter op dit moment niet meteen carrière zie maken bij dergelijke organisaties. Stof tot nadenken dus.

Op één avond na, heb ik mijn avonden wat gespendeerd op Vama Veche. Gezelligheid, gesprekken en goeie muziek trekken immers aan. En als je een ganse dag met zes man een klein kantoor deelt, dan doet het deugd om ’s avonds buiten te kunnen komen.

Stel u nu ook niet voor dat ik elke avond zwaar heb staan feesten. Maar op een warme zomernacht op het gras liggen mijmeren met een pintje in een stadspark verlicht door lampionen en slingers gloeilampen, daar pas ik niet voor. Integendeel.

De laatste weken ben ik door het werk bezig aan een zijproject. Ik noem het Gorilla Builder en het is iets voor mensen die code schrijven voor Drupal. Ik moest immers vanuit Drupal nieuwsbrieven kunnen sturen met behulp van Mailchimp. Er bestaan wel wat halve oplossingen voor, maar niets wat mij echt vooruit hielp. In plaats van zelf de zoveelste halve oplossing te schrijven, ben ik dan maar begonnen met mijn eigen toolbox te schrijven. En natuurlijk deel ik die maar al te graag met de wereld.Ik ga daar nog eens apart iets over moeten bloggen.

Gisteren zag ik Teddiedrum aan het werk met Dijf Sanders. Jawel, da’s de mens achter de Violent Husbands. De mens doet allerlei gekken dingen met elektronica. Hacking extreme. Ik vertelde J. over zijn exploten met een Furby. Of beter, hoe hij een onfortuinlijk exemplaar zo riggede dat het leek alsof hij aan ’t trippen is op LSD. Natuurlijk is er daar een YouTube filmpje van.

“Rad!”, as the hip kids would say!

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.

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

This too shall pass

Ik mag mijn werkgever dankbaar zijn. Dezer dagen ben ik op roadshow om te lande Drupal training te geven bij bedrijven allerhande. Niets zo leuk als mensen nieuwe dingen aanleren. En natuurlijk steek ik er zelf ook nog wat van op ook. En dan zeggen dat ik eigenlijk nooit leraar heb willen worden. Afin, les geven aan een selecte groep geïnteresseerde developers is natuurlijk iets anders dan een schoolklas in het gareel houden.

Het mooie is dat ik door les te geven mijn handen vol heb om de laatste donkere dagen wat achter mij te laten. Dus dat scheelt ook wel. Het komt allemaal nog goed. Dank naturlijk aan allen voor de lieve woorden van de afgelopen dagen!

En nu laat ik u genieten van OK Go met This too shall pass.

Via stew.be

« Vorige blogposts Pagina 1 van 2 pagina's Volgende blogposts »