Artux’s Blog en tu escritorio con Yahoo! Widgets

Escrito el 23 de Abril del 2007 por artux.
Categoria: Personales, Misceláneas, Desarrollo, Tecnología, Programacion, Recursos.

yahoo widgets Hace unos cuantos días revisando las estadísticas de mi sitio, con un poco de ayuda de matemática básica (+,-) :P , descubro que la mayoría de visitantes y/o lectores de mi blog, son usuarios de windows.
Para ser más específico:

  • 67% de las visitas usan Windows en sus diferentes variantes.
  • 24% de las visitas usan Linux en sus diferentes sabores.
  • 9% de las visitas usan Macintosh.

Teniendo en cuenta este indicador, y para que se entienda de una vez por todas, que no todos los usuarios de Linux somos fanáticos religiosos que queremos imponer a toda costa nuestras ideas. Hice un widget para Yahoo! Widgets que permite tener los últimos post de Artux’s Blog en el escritorio, tanto de usuarios Windows como de usuarios Macintosh, que sumados son el 76% del total de usuarios de este humilde blog.
Para ellos es este regalo, con la esperanza de que uno de estos días se animen a cambiarse a Linux.

artuxwidget

Para usar el widget Artux’s Blog RSS Feed es indispensable tener instalada la plataforma de Yahoo! Widgets. Todos los interesados pueden descargarlo desde los siguientes enlaces.

Saludos! y que lo disfruten.

3 comments.

Google AJAX Feed API

Escrito el 19 de Abril del 2007 por artux.
Categoria: Desarrollo, Tecnología, Programacion, Recursos.

Google anunció ayer Google AJAX Feed API, un api que mediante código javascript nos permite obtener los feeds de cualquier sitio que este indexado por Google, haciendo de la sindicación de contenidos algo mucho más simple y posibilitando la programación de mashups (aplicaciones web híbridas) de una forma mucho menos trabajosa.

El api ofrece los resultados en JSON, por defecto, pero también se puede obtar por XML o una mezcla de ambos. Se puede ver un ejemplo de implementación desde el blog oficial, Google Ajax Search API: Anuncio del Google Ajax Feed API

Más adelante voy a postear alguna que otra cosita sobre este API, por ahora pueden leer más desde la página oficial del API: Google Ajax Feed API, y también en el mismo sitio, la Guía para Desarrolladores.

1 comment.

Json, Wordpress y PHP (segunda parte)

Escrito el 7 de Abril del 2007 por artux.
Categoria: Desarrollo, Wordpress, Tutoriales, Programacion.

Nota importante: El archivo wp-json.php original mencionado en el post anterior, tiene un minúsculo error de syntaxis; en las parejas {”clave” : “valor”} {”key” : “value”} la definicion de las diferentes claves esta hecha sin comillas, lo cual puede provocar errores de lectura en algunas aplicaciones.

Para solucionar este pequeño inconveniente, edité el wp-json.php original agregándole las comillas faltantes, y además retoqué un poco el código para que la función callback pueda ser definida por el cliente. Pueden ver el archivo resultante en el siguiente enlace: wp-json.php (editado) o desde este otro Feed en Formato JSON para Wordpress.

Hecha la aclaración, paso a completar este post con la segunda parte que quedé debiendo :) .

Json, Wordpress y PHP (segunda parte)

3- PHP y JSON

Exiten parses de JSON para la mayoría de lenguajes de programación, y como no podría ser de otra forma también para PHP.

Sin embargo la forma en que llevaremos esto acabo va a depender de la versión de PHP que estemos utilizando y de las posibilidades que ofrezca nuestro servidor de hosting.

Explicando mejor esto.

En PHP desde la versión 5.2.0 viene incluida una extencion para codificar y decodificar JSON habilitada por defecto. Pero no todos los servidores de hosting funcionan con PHP 5, es mas, la gran mayoria solo lo hacen con PHP 4, en ese caso se puede utilizar la libreria de PEAR llamada Services_JSON.

Ejemplificando para que se entienda.

  • JSON con PHP 5:
    =========================================
    <?php
    
    //codificando un array en formato JSON
    
    $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
    
    echo json_encode($arr);
    
    ?>
    
    /*Nos devuelve lo siguente
    
    {"a":1,"b":2,"c":3,"d":4,"e":5}
    */
    =========================================
    
    =========================================
    <?php
    
    //decodificando JSON
    
    $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
    
    var_dump(json_decode($json));
    var_dump(json_decode($json, true));
    
    ?>
    
    /*Nos devuelve lo siguente
    
    Sin parametro opcional devuelve un objeto
    
    object(stdClass)#1 (5) {
        ["a"] => int(1)
        ["b"] => int(2)
        ["c"] => int(3)
        ["d"] => int(4)
        ["e"] => int(5)
    }
    
    true como parametro opcional devuelve un array asociativo
    
    array(5) {
        ["a"] => int(1)
        ["b"] => int(2)
        ["c"] => int(3)
        ["d"] => int(4)
        ["e"] => int(5)
    }
    */
    =========================================
    

Se puede leer más sobre el método anterior en el sitio oficial de PHP.

  • JSON con PHP 4:
    solo necesitaremos descargar el archivo Services_JSON y hacer lo siguiente.

    =========================================
    
    // creando un nueva instancia del Services_JSON
    
    require_once('JSON.php');
    $json = new Services_JSON();
    
    // convirtiendo un array en formato JSON
    
    $value = ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5)
    $output = $json->encode($value);
    print($output);
    
    // decodificando JSON
    $input = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
    $value = $json->decode($input);
    
    =========================================
    

Con esto creo que ya podemos empezar a trabajar con PHP y JSON. Tambien, si no queremos trabajar con la clase Services_JSON, existe la posibilidad de instalar la extencion json disponible en PECL; pero para ello tendremos que tener acceso al archivo php.ini y no todos los servidores de hosting lo permiten.

4- JSON, Wordpress y PHP

Para ir terminando, solo nos queda hacer interactuar estas tres tecnologias.

Por un lado ya tenemos el archivo wp-json.php, que nos genera un feed de nuestro blog en formato JSON; por otro lado en las líneas anteriores aprendimos a codificar y decodificar JSON con PHP. Lo que haremos entonces, sera un minilector en PHP del feed JSON, generado por el ya mencionado wp-json.php, que nos muestre el último post de nuestro blog.

Para el ejemplo voy a usar la clase Services_JSON.

=========================================

<?php

//incluyo el archivo que hara el trabajo de decodificacion
include (’json.php’);
$json = new Services_JSON();

//peticion del feed JSON
$site = file_get_contents(’http://www.tublogwordpress.com/wp-json.php’);

//decodificando la data recibida en formato JSON
$value = $json->decode($site);

//rescatando los valores mediante la funcion get_object_vars ()
$data = get_object_vars($value);
$show = get_object_vars($data[’entries’][’0′]);

//armando la salida a mostrar
$titulo = $show[’title’];
$link = $show[’id’];
$contenido = $show[’content’];

//formateando la salida
$content = “<div id=’json’>n”;
$content .= “<h2><a href=’” . $link . “‘>” . $titulo . “</a></h2>n”;
$content .= $contenido;
$content .= “</div>”;

//mostrando el resultado
echo $content;

?>

=========================================

Pueden ver un ejemplo funcionando que muestra el último post de anieto2k.com desde aquí. Es un poquito más completo y además cachea el contenido cada una hora para evitar sobrecargas.

Tambien pueden ojear el código de dicho ejemplo desde aquí.

Por ahora esto es todo, espero que les sirva para algo. Estoy un poco cansado y hambriento asi que me despido con un gran saludo!. Ante cualquier duda o sugerencia pueden dejar un comentario.

Saludos!!

6 comments.

Json, Wordpress y PHP (primera parte)

Escrito el 3 de Abril del 2007 por artux.
Categoria: Desarrollo, Wordpress, Tecnología, Programacion.

Sin dudas todos conocen que es Wordpress, y no creo que exista alguien que no sepa que es PHP; pero si son muchos los que todavia no conocen o no estan familiarizados con JSON (acrónimo de “JavaScript Object Notation”).

En el siguiente post, que por cuestiones de longitud :P estara dividido en dos partes, voy a tratar de explicar, en una forma medianamente breve, como hacer interactuar estas tres tecnologias.

Sumario:

  • Primera Parte:

    1. ¿Que es JSON?
    2. Wordpress y JSON
  • Segunda Parte:
    1. PHP y JSON
    2. JSON, Wordpress y PHP

1- ¿Que es JSON?

JSON es un subconjunto de la notación literal de objetos de Javascript pero no requiere el uso de Javascript”anieto2k

JSON es hoy en día un formato de intercambio de datos comparable con el formato XML, y para algunos superior a este último.

Si bien JSON en un principio fue pensado como una forma más sintética de programar javascript, ya que este metodo combierte la programacion de codigo en algo más literal (ver ejemplo*), facil de leer y escribir para las personas y facil de interpretar y generar por las maquinas, la simplicidad que ofrece a la hora de transportar y evaluar datos lo combierte en un formato de intercambio rapido y facil de implementar, llegando a ser elegido sobre el XML, por muchos (Goolge, Yahoo, etc.) para algunas de sus aplicaciones.

JSON está constituído por dos estructuras:

  • Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.
  • Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como arreglos, vectores, listas o sequencias.json.org

ejemplo*:

Definicion Tradicional de un Objeto en Javascript:

var obj = new Object();
obj.nombre = "Juan";
obj.getNombre = function(){
return this.nombre;
}

Difinicion con Json:


var obj = {
nombre: "Juan",
getNombre: function(){
return this.nombre;
}
}

2- Wordpress y JSON

Wordpress ofrece varios formatos de salida en XML para la sindicacion, como son RSS y ATOM, pero por defecto no trae incluida ninguna funcion que posibilite la salida del contenido en formato JSON. Aunque esto, en si, no es un problema ni un defecto de Wordpress si es algo que tiene solucion, ademas la posibilidad de ofrecer el contenido en un formato mas, en este caso JSON, nunca biene mal.

Hace ya unos cuantos días atras anieto2k posteo sobre uno de sus hallazgos a los que nos tiene acostumbrados, nadie sabe como hace para encontrar esas cosas, pero el hecho es que el hallazgo de anieto no es otra cosa que wp-json.php wp-json.php (corregido), un archivo que con solo colocar en el directorio raiz de nuestro blog posibilita la sindicacion de contenidos en formato JSON.

Se puede ver su salidad, con cualquier aplicacion que interprete este tipo de formato (JSON), apuntando a la siguiente url:
http://www.artux.com.ar/wp-json.php

Como bien nos cuenta anieto en su post, las posibilidades son las mismas que en el feed XML:

  • Para Busquedas:

    Para buscar dentro del blog todas las entradas que contengan la palabra wordpress, solo bastaría con hacer algo así:

    http://www.artux.com.ar/wp-json.php?s=wordpress

  • Para las Categorías:

    Para mostrar las últimas 10 entradas de una categoría en particular, deberemos conocer el ID de la categoría y hacer algo asi:

    http://www.artux.com.ar/wp-json.php?cat=10

  • Para un Post determinado:

    Para mostrar un post en particular, deberemos conocer el ID del post y hacer algo asi:

    http://www.artux.com.ar/wp-json.php?p=37

Y alguna que otra más.

Con esto, llegamos al fin de esta primera parte, ya tenemos una minuscula idea de que es JSON y como integrarlo en Wordpress. En la segunda parte veremos las diferentes opciones para trabajar con JSON y PHP, y como leer con PHP el archivo wp-json.php, servido por nuestro Wordpress.

Enlaces:

  • json.org (Sitio oficial de JSON - en ingles)
  • JSON (Entrada en la Wikipedia)
  • JSON-Syndication (Lista de correo wp-hackers donde se encuentra el archivo wp-json.php)

Saludos!

2 comments.

Who Link Here 0.2 actualizado - Wordpress Plugin

Escrito el 15 de Marzo del 2007 por artux.
Categoria: Desarrollo, Wordpress, WP-Plugins, Programacion.

“Una mejor forma de hacer el BlogRoll, pagando con la misma moneda a quienes nos enlazan”

Hace unas semanas publique Who Link Here v 0.1 (WLH), un plugin para Wordpress que muestra los últimos enlaces entrantes via Technorati. En ese momento prometí hacer una versión que en vez de utilizar la clase SimplePie, utilice las funciones internas de Wordpress para parsear los RSS.

Lo prometido es deuda. Hoy me pude tomar un tiempito libre, y tocando un poco la versión anterior de WLH pude hacer esta segunda versión (Who Link Here 0.2), que ademas de mejorar el tiempo de carga, ofrece la opción de poder elegir entre mostrar los enlaces entrantes via Technorati o via Google Blog Search.

Como Instalar Who Link Here v.0.2

1. Descargar el plugin desde el enlace de descarga al final de este post.
2. Descomprimirlo y subir el directorio /who_link_here completo dentro del directorio de los plugins: /wp-content/plugins/
3. Vamos a la sección Plugins del panel de control de Wordpress y activamos “Who Link Here” y listo, ahora solo resta integrarlo en nuestro Theme.

Como Integrar Who Link Here v.02 en nuestro Template

Antes que nada, hay tres formas posibles de usar WHL v.0.2, Mostrando solo los enlaces entrantes via Technorati; Mostrando los enlaces entrantes pero usando Google Blog Search o, la tercera, Mostrando los enlaces entrantes de las dos formas anteriores juntas.

1. Mostrando los Enlaces Entrantes via Technorati:

  • Para mostrar los enlaces via Technorati lo único que tenemos que hacer es agregar la función siguiente donde queremos que aparezcan los enlaces:
    <?php tech_links("num.enlaces") ?>
  • El primer parámetro num. enlaces es la cantidad de enlaces que queremos mostrar; por defecto y como maximo 10.

2. Mostrando los Enlaces Entrantes usando Google Blog Search:

  • Si solo queremos mostrar los enlaces entrantes indexados en Google Blog Search, tenemos que agregar la siguiente función donde queremos que aparezcan:
    <?php gbs_links("num.enlaces") ?>
  • El parámetro num.enlaces, es la cantidad de enlaces que queremos mostrar, teniendo 20 como máximo.
  • A diferencia de Technorati, Google Blog Search no excluye los enlaces del mismo host consultado, por lo tanto hice un pequeño filtro para que la función solo muestre los enlaces entrantes de sitios distintos al host consultado, lo que puede llegar a alterar el numero de enlaces a mostrar. La solución, incrementar el numero de enlaces a mostrar hasta que quede como queremos.

3. Mostrando los enlaces entrantes usando Technorati y Google Blog Search.

  • Dado que son dos funciones distintas, el uso de una no excluye a la otra, por eso, si queremos mostrar los enlaces entrantes usando los dos medios disponibles (Technorati, Google BS), solo basta con agregar las dos funciones, con sus correspondientes parámetros, en el o los lugares que queremos que se muestren.
Download Image Download: Who Link Here v 0.2 Downloads: 1538 times

Actualización 27/09

Nueva Versión 2.0 de Who Link Here con soporte para Widgets

31 comments.

Prototype el Framework JavaScript por excelencia al fin en Version Comprimida

Escrito el 10 de Marzo del 2007 por artux.
Categoria: Personales, Desarrollo, Tecnología, Programacion.

prototype

Sin ningún lugar a dudas, todos sabemos que Prototype es el Framework JavaScript por excelencia, pero sin embargo son muchos los desarrolladores que a la hora de elegir un framework javascript, optan por uno de menor tamaño (e.j: jQuery; MooTools) para asi ahorrarse unos cuantos kbs en la carga de sus aplicaciones y/o sitios web.

Pues bien, para todos aquellos que en su momento pensaron en usar Prototype, pero sus casi 70kb los hicieron desistir, les tengo buenas noticias.

Parece ser que un auto denominado evangelizador de Prototype, John David Dalton, no tubo mejor idea que comprimirlo en todas sus versiones (1.4, 1.5rc0, 1.5rc1, 1.5 final); dejando el tamaño de la versión 1.5 final de Prototype en alrededor de los 19kbs lo cual representa aproximadamente 25% de la versión sin comprimir.

dice John David Dalton:

“…se que la mayoría de desarrolladores que actualmente usan Prototype, no reparan en su tamaño. Sin embargo he notado que muchos de los nuevos desarrolladores no le dan la importancia que merece, porque leen que es ‘pesado’ y ‘lento’. Esos desarrolladores entonces eligen otro framework y no le vuelven a dar a Prototype un segundo vistazo…”

y sigue John :

“Hice esta colección Comprimida de Prototype para ayudar a evangelizar sobre este Framework”

Por mi parte, estuve probando un poco la version 1.5 comprimida y la verdad que anda tan bien o mejor que la original sin comprimir. Es mas, la pude implementar en un par de aplicaciones con solo reemplazar la original por la versión comprimida sin tener que modificar nada.

Enlaces:

P.d.: casi seguro que mañana la integro en mi Theme de Wordpress BlueContent.

nota: traducción apresurada ;) ;

4 comments.

Who Link Here (Quienes Enlazan Aquí) plugin para Wordpress

Escrito el 27 de Febrero del 2007 por artux.
Categoria: Desarrollo, Wordpress, WP-Plugins, Open Source.

Buscando plugins Made in Argentina para Wordpress, llegue casi por accidente al blog de Guido Rossi (nooby.com.ar), y fue en ese mismo blog que encontré dos excelentes plugins desarrollados con una librería que me encanta (SimplePie).

Los dos plugins de Guido (My del.icio.us y Flickr Plugin), para los que preferimos evitar los widgets, son bastante fáciles de implementar y adaptar a cualquier template.

Como se abran dado cuanta por sus nombres, el plugin My del.icio.us nos permite cargar los últimos links que hayamos guardado en nuestras cuentas de del.icio.us y Flirckr Plugin nos permite mostrar en nuestros blogs las fotos que tengamos en nuestras respectivas cuentas de flickr.

En fin, como me gusto mucho la simpleza del codigo, agarre el plugin My del.icio.us y lo modifique un poco para hacer Who Link Here, un Plugin para Wordpress que con solo poner una linea de código en el sidebar nos muestra Quienes nos elazan, usando para ello la API de Technorati. Pueden verlo en funcionamiento aqui mismo en el Sidebar.

who_link_here

Who Link Here, es una manera un poco más resiproca de hacer un blogroll, debolviendo el favor, a quienes nos enlazan, con la misma moneda.

Aunque ultimamente utilizo para parsear RSS las funciones integradas de Wordpress, esta primera version del Plugin Who Link Here, al estar basada en My del.icio.us, usa SimplePie. Prometo liberar tambien, uno de estos dias (actualización: Who Link Here v. 0.2 publicado), otra version que utilice las funciones de wordpress.

Instalar Who Link Here.

Actualizacion: liberada la versión 0.2 de WLH, con mejoras en el tiempo de carga y la posibilidad de elegir entre Technorati o Google Blog Search …
leer más –>

1. Descargar el plugin desde el enlace de descarga:

2. Descomprimirlo y subirlo dentro de la carpeta /wp-content/plugins/
3. Vamos a la sección Plugins del panel de control de Wordpress y activamos “Who Link Here”

Una vez instalado, solo nos queda editar el theme, poniendo la siguiente linea donde queremos que se muestre nuestro blogroll recirpoco:

<?php who_link(”apikey”, “num. enlaces”); ?>

El primer parámetro apikey, es la clave del api de Technorati, lo podemos obtener fácilmente desde el siguiente enlace: http://www.technorati.com/developers/apikey.html. Y el segundo parametro num. enlaces es la cantidad de enlaces que queremos mostrar.

Saludos!!

Nota: el plugin viene con una hoja de estilos que pueden editar para adaptar mejor al template (/who_link_here/wlh.css).

4 comments.