RSS Twitter @

Proyectos


26
May 09

First report for MPTT on WordPress

This post is a report about my proposal “Implementing MPTT technique for store hierarchical data” on WordPress, at the Google Summer of Code program. If you don’t know the MPTT algorithm, you can read this article.

The plan for this proposal is understand the actual way for get tree data in categories and make the modifications for get/store the tree data. Later, when all has been ready for categories, add the code for pages.

My deliverable will be a plugin with a new Walker class that use MPTT algorithm, some functions for get data from the database, and a few modifications to the core, for attach the plugin functions.

In the last days, I read the code where WordPress has been using the actual way for get/store the tree data. For get that information, I used the phpdoc page of WordPress.

The main class for get tree data is called “Walker“. It have some subclasses that extend the function of Walker class, getting the html code for list categories, pages, etc…:

But, these classes don’t get the data directly from the database. The way for get that data it’s calling the function get_terms (it’s was defined on the line 605, in the file /wp-includes/taxonomy.php) from another functions. These functions are (each function use a subclass of Walker class):

Now, I have an small idea about the actual scenario for get tree data in WordPress, but for to implement the MPTT, I need to modify the database. I add two new columns y the table “wp_terms_taxonomy” called left and right. These colums are for store the data for get the tree with some sql queries.

I wrote a few lines for start my plugin. It have the original get_terms function with a little modifications for get a tree data using the MPTT algorithm.

Old query:

$query = “SELECT $select_this FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ($in_taxonomies) $where ORDER BY $orderby $order $limit”;

New query:

$subquery = “SELECT node . * , ( COUNT( parent.term_id ) -1) AS depth
FROM $wpdb->term_taxonomy AS node, $wpdb->term_taxonomy AS parent
WHERE node.left BETWEEN parent.left AND parent.right
GROUP BY node.term_id
ORDER BY node.left”;
$query = “SELECT $select_this FROM ($subquery) AS tt INNER JOIN $wpdb->terms AS t ON t.term_id = tt.term_id WHERE tt.taxonomy IN ($in_taxonomies) $where ORDER BY $orderby $order $limit”;

It’s works, but it need some modifications for get the tree data with options (get a sub-tree, show only when is a not empty tree, etc…).

The next step is make a new Walker class for print the tree data of categories.

Note: if my post have a mistake, just let me know for fix it ;) .


23
Sep 08

Lanzamientos de primavera

Un nuevo comienzo, al fin empieza la primavera. Creo que alguna vez ya había escrito que por estos días se escuchan los pájaros, crecen las flores, y puedo caminar al atardecer sin morir de frío (algo muy usual en Concepción).

También es un agrado presentar la nueva versión del gran sitio de canciones deLetras.cl, aún en versión alfa-beta-gamma (la versión anterior vivió durante casi dos años).

En deLetras.cl puedes encontrar video clips y letras de canciones de vaaaarios artistas (no llevo una cuenta, pero creo que más de 6000 letras), todas enviadas por una participatiba comunidad de usuarios. Pronto se vienen más mejoras, así que atentos!.

Esta es la nueva versión. Recibo comentarios y sugerencias por cualquier medio :) .


Nueva versión.


Antigua versión.


8
Ago 06

Volviendo a la vida y re-estrenando sitio!

Han terminado las vacaciones. Largo mes con algunas cosas que hacer, espero este semestre se venga con todo en la U, en la música y en udecans.

Y bueno, como se habrán dado cuenta, dejé de postear hace algún tiempo por que estaba esperando terminar de una vez el nuevo diseño de la bitácora de letras, espero les guste! (aunque claro, aún hay cosas por revisar y reprogramar, pero al menos le hizo un buen lavado de cara :P ).

PD: recibo quejas, críticas, etc… por que jamás en mi vida le he pegado al diseño xD.


4
Jul 06

Letras del álbum “Hágalo usted mismo”, de Los Tres

Para quien desee, he publicado las letras de las canciones del álbum “hágalo usted mismo” de Los Tres, en deLetras.cl (BitácoradeLetras).

Léanse esta entrevista, auspiciada por Google-Caché.


29
Jun 06

Planeta-InfoUdeC (informáticos @ udec )

El otro día leí una queja con respecto al agregador de blogs que hice para los estudiantes de Ingeniería Civil Informática. La cosa es que ya me lo había comentado un compañero de carrera, y es que no se estaban mostrando correctamente las entradas que tenían el contenido codificado bajo otro tag (como content, atom-content, etc…).

El arreglo fue simple, agregué un par de líneas y ¡planeta arreglado!. Y con esto último me comprometo a reducir el código y publicar una release de código libre (claro que en vacaciones).

Saludos!

PD: Y ya estoy escribiendo un poco más…


18
Jun 06

deletras.cl al aire! + historia

Hola gente, al fin he lanzado deletras.cl la nueva versión (ahora con .cl) de la Bitácora de Letras en la red.

Todo gracias a Adsense, y a todos los que aportaron un granito de arena en el sitio.

Agradecimientos a:

  • Coty (cotita), por enviar las primeras 1000 canciones y ser la crítica y la mejor parter
  • Rodrigo Linfati, por hostear el sitio en tarro, a cero peso la bitácora por más de un año
  • Y quienes recuerdo en sus inicios: Spimy, Goring.
  • Stefano (bugs man).
  • SpeKopuZ, por incentivar la compra del dominio!.
  • A los chicos de UdeCans, que no alegaron por tener hosteada la bitácora ahí… hasta principios de este año :P
  • Mi viejo, por dejarme levantar el server.
  • Mi mamá, por leer las letras, y comprarme la guitarra.
  • A Marenaso (alias “el chico”), por prestarme su guitarra eléctrica.
  • A tod@s l@s músicos chilen@s.
  • Y a mí, por darme la paja de escribir :D .

Saludos, nos vemos otro día.

PD: algún día publicaré la historia de la bitácora de letras… algún día.


4
Abr 06

Renovando la Bitácora De Letras

Desde el verano que tengo planeada una nueva versión de la Bitácora de letras. No he tenido mucho tiempo extra para cambiar el diseño o agregarle funciones al estilo "web 2.0".

En grandes rasgos lo que hice fue modular el código, crear plantillas para el diseño, además de abstraer la capa de base de datos y plantillas. Todo programado por mí (no todo, pero la gran mayoría, pues el usar adodb + smarty hacía muy lenta la carga de la página). Además logré hacerla funcionar con sqlite y mySQL (así puedo correrla en atenea sin andar rogando una cuenta mysql en el diicc……… ?=)(/&%$·"!··).

Muchas gracias a Rodrigo Linfati por la paciencia de tenerme como usuario de tarro y aguantar mis peticiones durante taaaaanto tiempo.

Saludos!


6
Ene 06

Nueva versión de mi Mensajero

Con algo de retraso ha salido del horno la última versión del mensajero.

Mensajero es un tagboard escrito en php, que puede utilizar mysql, pgsql y archivos de texto plano para guardar los mensajes.

He añadido pocos cambios (visuales), pero si en el código. Ahora soporta mysql, pgsql y archivos de texto.

Descárgala desde http://chileforge.cl/frs/download.php/224/mensajero-0.3.0.tar.bz2.


7
Ago 05

Mensajero version 0.2.4

El viernes 5 de agosto saqué el último release del mensajero.

En esta versión se corrige el algoritmo para ver los mensajes (en la version texto) y se cambia una parte del interfaz.

Para la próxima version se espera cambiar la version a estable, se darán más opciones de personalizacion así como también traducciones de los mensajes y muestra en los errores. Se añadirá la posibilidad de enviar tu dirección web o correo.

Eso por ahora, saludos!!

http://chileforge.cl/projects/mensajero/