
Para quien no lo sepa, KarmaCracy es una startup nacida en Bilbao de mano de Alex Dolara y Jordi Martí pero ademaś es un acortador de Urls que en las últimas 24 horas ha generado 37.849 clicks válidos a través de 1.169 enlaces generados por 222 usuarios, nada mal ¿he?.
Recientemente han liberado bajo el amparo de la GPLv3 la primera versión del plugin que ellos mismos utilizan para mostrar las gráficas en detalle de los enlaces o kclicks que se generan en la plataforma.
Los mismos desarrolladores nos cuentan que decidieron crear un plugin ligero para jQuery que reemplazara las antiguas gráficas generadas con flash mediante FusionCharts.
Hemos podido hablar con Xabi Sáez de Ocariz y Alex Dolara programador JavaScript y Diseñador Gráfico respectivamente además de padres de la criatura que nos han explicado como funciona el plugin y como ha sido el proceso de desarrollo y liberación del código.
$(document).ready(function() {
var data = [[[40,[“3”,“25\/11\/2011”]], [1,[“1”,“26\/11\/2011”]],
[4,[“4”,“27\/11\/2011”]], [5,[“5”,“28\/11\/2011”]],
[14,[“14”,“29\/11\/2011”]], [15,[“15”,“30\/11\/2011”]],
[13,[“13”,“01\/12\/2011”]], [6,[“6”,“02\/12\/2011”]],
[1,[“1”,“03\/12\/2011”]], [10,[“10”,“04\/12\/2011”]],
[7,[“7”,“05\/12\/2011”]], [7,[“7”,“06\/12\/2011”]],
[40,[“40”,“07\/12\/2011”]]];
$(’#grafico’).karmicGraph(data, {
‘outLabel’: ‘Situa el cursor sobre un dato para descubrir su valor’,
‘color’: ‘blue’,
‘label’: ‘{0} puntos el día {1}’,
‘type’: ‘flatbars’,
‘freeColumn’ : 1
});
});
El código anterior da como resultado lo que vemos en la siguiente imagen:
Gráfico generado por el plugin Como podéis comprobar su uso no es nada complicado.
Para el desarrolo se ha seguido el modelo de implementación de varios métodos para un plugin que aconseja jQuery. Los métodos se agrupan en un objeto javascript y se llaman a través de la función principal, pasándole como parámetro una cadena de texto con el nombre del método en cuestión.
Esto se hace así para no saturar el espacio de nombres $.fn que es dónde se declaran las funciones plugin de jQuery. En el siguiente bloque de código podemos comprobar la gestión de la llamada a métodos:
$.fn.karmicGraph = function( method ) {
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.karmicGraph' );
}
}
A la hora de liberar el código se añadió una licencia GPLv3 para que toda la Comunidad pueda beneficiarse del código y se subió al repositorio público GitHub de Karmacracy.
Desde Genbeta Dev, y como siempre, les deseamos la mejor de las suertes a los chicos de Karmacracy y esperamos que en el futuro sigan liberando Software Libre de forma regular.
Más Información | Repositorio del proyecto
En Genbeta Dev |