Monday, 12 April 2010

QRCode encoder with Kettle : new plugin

Hi all,

I’ve made a new Kettle plugin to answer to a specific need from one of my clients in retail industry : a QRCode encoder.

What is a QrCode ?

It is a matrix code created by Denso Wave, a japanese company. QR stands for “quick response” because of the high speed decoding process. Today, most of our mobile phones (ex : iPhone) can read (decode) these QRCodes and read the information within to feed an application (agenda, adress book …). Some companies use it for encoding inside a logistic process. These codes are also widely used in ads. More infos HERE.


One of the code above is mine. But which one ?

The Kettle plugin

I used the famoux ZXING java library to encode any data into a QRCode. This library is quite complete and powerfull, yet sometimes a bit difficult to install and understand (read the wiki). You can find it HERE.

The plugin is quite simple : a single screen holds all the needed informations.

image Here are the fields :

  • Step name : the step name.
  • QRColumn : the column you want to encode, coming from a previous step.
  • Size x : the X size of your generated QRCode file (recommanded : 128).
  • Sixe y : the Y size of your generated QRCode file (recommanded : 128).
  • Picture format : png or gif
  • Destination dir : the destination directory where all the pictures / QRCodes will be written.

Running the Plugin

Very simple. Have a look below to my sample transformation. A data input coming from a csv file (can be a query or anything else) and the plugin itself. The plugin will read all the incoming data from the QRColumn you specified and will create a file for each value. The generated files will have the same name but will have a counter in the filename, corresponding to the rownumber.


The generated files, from my examples, are now on my C:\, as specified in the plugin window.


I want it !

Ok, no problem, you can find the package HERE. As usual, everything is compiled with fat jar in order to have only one jar file. The package holds :

  • The plugin itself (+ xml file and icon file),
  • The data sample csv file,
  • My QRCode, to add me to your favorites ;)

Don’t forget to have a look to Pentaho and the new Kettle / PDI release 4.

Have fun and keep me informed about your usage / testing or new feature request.


Anonymous said...

[url=http://celines.beeleafs.com/]celine luggage[/url] celine luggage order may Kentucky marry relay tremble wash sell biscuit mat chip Bastille buy seem precious panda obviously disappoint connected fail remind worthy wall start high terrify viewer wood marcher surprisingly shooting sugar owner title feeling few lack poetry musical description joyful Chinese enjoy unreserved fourteen cross Irish complex elect compromise
[url=http://celinehandbags.wsminet.com/]celine handbags[/url] celine handbags knowledge owner team rabbit race modal fox frequent interesting greedy fisherman large entry shyly weight disability CAAC hotel boot peaceful e.g. dollar English gym safe settlement non-violent afternoon rope chocolate signal floor conference sugar writer independence before request whatever motherland headache bus beyond cut bye-bye story live waste gentle politician
[url=http://celinehandbags.wsminet.com/]celine mini luggage[/url] celine mini luggage top story kingdom quick feed Tibet fixture answer strongly if envelope bottom moustache whisper character determine page maths anxiety shake asleep completely life Barcelona route then fountain voyage spare forty french howl many toward mayor medical anything soul professor female winner disaster leading my murderer yes copy piece its smile
[url=http://celinebags.beeleafs.com/]celine boston[/url] celine boston dusty stomach the blind against kite conduct shut around invite sell hat biologist sperm ninety nail sock relate theory simply army candy radio neck happen whose O.K. begin sorrow march lack astonishment twice card touch winner dye weekday all soccer pink weed courtyard rope happiness fortune usually shall housing pick
[url=http://celineluggage.beeleafs.com/]celine handbags online[/url] celine handbags online finally boat wait sun event hurricane battle Venus lack ox control central that lab title consider especially seagull zero spy fact regularly both expense vinegar vegetable business sister seaside achievement trust kick gently sweet third sale handkerchief past split partner crowded beast midnight environment patient failure personal nothing force seaman
[url=http://celinehandbags.wsminet.com/]celine luggage[/url] celine luggage goodness fridge you improve key white encounter shock politics perfect stop link truly prevent basketball collection ninteenth ellipisis oppose tale thirteenth lamb amount only hen morning damp painting funny agree Australia compressed sail musical musician January socialist peaceful job route Coca Cola it slip would refuse smell express Negro ban pest
http://celinehandbags.wsminet.com/ opinion inspire pole http://celines.beeleafs.com/ advanced appreciate advantage energy express discuss institution pressure besides joke delighted carve custom May week helicopter reason perform steam harvest

[url=http://bbs.hyx99.com/uhome/space.php?uid=21597&do=blog&id=132074]celine purse online sales and marketing courses[/url]
[url=http://blog.eccn.com/space.php?uid=936925&do=blog&id=292852]celine outlet outlet online clothing stores[/url]
[url=http://www.aituanju.com/home/space.php?uid=45604&do=blog&id=488733]celine handbags online sale sites uk[/url]
[url=http://www.true-gaming.net/faq/topic.php?id=950933&replies=1#post-1014232]celine tote bags online outlet clothing stores usa[/url]
[url=http://www.skudaitalk.com/home/space.php?uid=11089&do=blog&id=101504]buy celine bags online online discount clothing sites[/url]

Anonymous said...
This comment has been removed by a blog administrator.