2011: A Code Odyssey

Big things here! Approaching our 10 years celebration (september 28th) Pixline is kinda having a new life both online and offline: after a long “forced” pause I’m finally able to start again, more news in the next months.

First step in this new direction will be the restyle you’re looking at, it will help us migrate to the next Pixline; next steps are about our WordPress plugins, most used ones: Category Page and Gengo.

Category Page (aka page2cat) really amused me: it had several lifes besides its own, everyone forked out or even built upon it but no one asked to mantain it :-) Maybe it’s too complicated or just people don’t like open source a lot, who knows?

To date we can find several version on the web, the major one by John P. Neumann. This one is actually available on SVN trunk and I hope to make it public very soon.
John has received full permissions on the plugin, given its contribution and his complete conformance to the open source spirit that empowers WordPress.

Fire up your SVN client and test it:

svn co http://plugins.svn.wordpress.org/page2cat/trunk/page2cat/ page2cat-trunk

Gengo‘s story is slightly more bitter.

As you may know Gengo was built from Jamie Talbot who ceased its development with WP 2.1; as a user I started a collective project to collect and apply fixes and patches by the Gengo community. Later on Jamie gave me full access to the plugin, we merged with Gengo and I found myself as maintainer of a well-known WP plugins without even understanding some parts of it…

My bad feelings did grow every subsequent WP release: each upgrade used to mean many changes and new bugs, my localhost had five or six different Gengo versions in active development, and no one was able to help with coding. XKCD prophecy was here to stay:

Fast forward. You can now found in SVN trunk the patched version for WordPress 2.7 made by Julien Viard de Galbert. I can’t estimate a release at all, I’m not even sure it will be released.

You can found also an experimental branch based on custom post types in SVN branches/wp-gengo; promising but limited and in need of patches.

# Gengo 2.7 -- Julien Viard de Galbert edition
svn co http://plugins.svn.wordpress.org/gengo/trunk/ gengo-trunk

# Gengo 3 alpha -- rewrite / proof of concept
svn co http://plugins.svn.wordpress.org/gengo/branches/wp-gengo/ gengo-3

I just don’t know if there are still Gengo-based websites. This question was quite mainstream these days.
Jamie thinks that WPML is having a big time and he decided against his contribution in this new collective process. For different reason Leo Germani started Multi-Language Framework, we’ll see if we can join forces.
WPML is probably the king here, even if many users was disappointed when it turned commercial.

For sure people asks for multilanguage abilities in WordPress, and I think that Gengo should have a role in this scenario. It’s up to us.
(This should be true as well for ANT Widget, Paypal shortcodes and Upload+…)

2011: odissea nel codice

Aria nuova in casa Pixline!

In attesa di festeggiare i 10 anni di storia il prossimo 28 settembre, inizia a circolare nuova linfa tra le pagine del sito come dietro le quinte (e i firewall): dopo uno stop quasi forzato delle attività open source sono finalmente in grado di ricominciare, con diverse novità interessanti in campo.

Un primo movimento in questa direzione è il restyle / work-in-progress del sito che potrete – spero – apprezzare durante la sua evoluzione: per il momento si tratta di un restyle leggero e non strutturale, che aiuterà la transizione verso il prossimo setup di Pixline. Il secondo passo invece riguarda i plugin WordPress più usati (ancora adesso): Category Page e Gengo.

Category Page (altrimenti noto come page2cat) mi ha sorpreso: ha avuto una serie di vite parallele, ognuna irrimediabilmente terminata con la versione successiva di WordPress.

Ad oggi esistono diverse versioni sparse nella rete, più un contributo sostanziale da parte di John P Neumann. Quest’ultima versione è attualmente in svn trunk e spero di pubblicare l’aggiornamento al più presto; nel frattempo John ha ricevuto pieni poteri sul plugin, considerato il suo contributo e la piena conformità allo spirito open source su cui si basa WordPress.

Per scaricare e collaudare il codice potete usare SVN:

svn co http://plugins.svn.wordpress.org/page2cat/trunk/page2cat/ page2cat-trunk

Gengo ha invece una situazione più complicata. Come forse saprete Gengo è un progetto inizialmente sviluppato da Jamie Talbot rimasto indietro con lo sviluppo alla pubblicazione di WordPress 2.3; a quel tempo usavo Gengo in alcuni progetti e iniziai un progetto su Google Code per raccogliere i vari fix e le patch proposte dalla comunità di utenti.
Dopo qualche tempo Jamie scoprì questo sforzo collettivo, e decise di consegnarmi i permessi di amministratore del plugin: mi trovai mio malgrado ad essere maintainer di un plugin scaricato più di 20.000 volte, senza avere una chiara idea di come funzionasse il plugin in alcune parti.

Il mio disagio aumentò a ogni successiva release di WordPress: ogni upgrade richiedeva modifiche anche strutturali, creava nuovi bug o ne rendeva cronici altri; il mio localhost aveva cinque o sei diverse versioni del plugin in sviluppo, nessuna delle quali pronta per un rilascio pubblico. Ben poche persone – che ringrazio – decisero di collaborare, nessuna era in grado di scrivere codice e le segnalazioni di bug aumentavano a vista d’occhio. La profezia di XKCD si stava realizzando:

A distanza di vari mesi, ho deciso di riprendere Gengo e provare ad aggiornarlo per WordPress 3.x sulla base di alcune modifiche fatte da Julien Viard de Galbert: questa versione è disponibile in SVN trunk ma non sono in grado di stabilire se e quando potrà essere disponibile al pubblico.

Nel frattempo ho iniziato anche una riscrittura sperimentale fondata sui custom post types presenti in WP3, e disponibile in SVN branches/wp-gengo; questa versione è promettente ma mostra alcuni limiti, e non è attualmente pronta all’uso se non per programmatori disposti a scrivere codice e inviare patches.

# Gengo 2.7 -- Julien Viard de Galbert edition
svn co http://plugins.svn.wordpress.org/gengo/trunk/ gengo-trunk

# Gengo 3 alpha -- rewrite / proof of concept
svn co http://plugins.svn.wordpress.org/gengo/branches/wp-gengo/ gengo-3

Chissà se esistono ancora siti attivi basati su Gengo…. Questa è una domanda che ci siamo posti in molti.

Jamie sostiene di no, e per anche questo motivo Jamie ha deciso di non coinvolgersi in questo nuovo progetto collettivo. Per motivi opposti è nato un’altro progetto chiamato Multi-Language Framework con il quale stiamo cercando di unire le forze.
Un’altro plugin – WPML – negli ultimi anni è diventato uno standard di riferimento, anche se la scelta di diventare un plugin commerciale (e quindi a pagamento) ha sollevato diverse perplessità nella rete.

Una cosa è certa: sempre più gente si interessa o richiede abilità multilingua all’interno di WordPress, e Gengo puo’ ancora avere un ruolo in questo scenario. Dipende da noi (e questo vale anche per gli altri plugin: ANT Widget, Paypal shortcodes e Upload+).