Drupal

OOP & PSR-0-ify gettext .po file parsing and generation

One year ago, a refactoring at the Gettext .po file parsing and generation started.

Finally, that issue has been fixed. I were working with Sutharsan, ClemensTolboom, GaborHojtsy and Attiks on this issue at the Drupal Developer Days sprint, and after the sprint we finally (well, mostly Gábor...) pushed forward to its completion.

The new design is somethink like this:

Gettext design

(Diagram by Gabor Hojtsy)

I'm very grateful for their help on being started on contributing to the D8MI Initiative, and hopefully I'll be working on more things into the D8MI sprint. Any help is welcome!

Tags: 

Drupal D8MI Sprint: Día 3

Tercer día del sprint, con Peter, Clemens y yo trabajando en Gettext. Es el último día de Clemens, por lo que esperábamos hacer grandes avances :-)

El día empezó bien, y no me quedo bloqueado con tonterías como en los días previos. Seguimos con el refactoring y finalimente hemos podido eliminar core/includes/gettext.inc. ¡Bien!

Gracias a las explicaciones de Gábor hemos entendido que se espera de la API por lotes para importar archivos PO, despedazando cada archivo en múltiples tramos. Ahora creo que podremos avanzar en esto, pero quizá en otra issue ya que esta ha crecido demasiado y partirla puede ser útil. Peter ha escrito algunos tests de integración, y yo he terminado de arreglar el manejo de plurales y la limpieza de algunos métodos. Gracias Clemens por tu paciencia, ¡esperemos que podamos avanzar sin ti en los próximos días!

Tags: 

Drupal D8MI Sprint: Day 3

So third day of the Sprint, with Peter, Clemens and I working on Gettext. It would be the last day for Clemens, so we expected to do great advances :-)

Day started great, and I don't get stuck like previous days with obvious things. We kept with the refactoring and finally core/includes/gettext.inc could be removed. w00t!

Thanks to Gábor's explanation we understood what was expected for the batch API part of this, so we are able of advancing on that, but maybe on another issue context. This one became too big and splitting it could be of help. Peter wrote some more integration tests, and I finished fixing plurals handling and cleaning up some methods. Thanks Clemens for your patience, and hope that we can advance without you in the next days!

Tags: 

Drupal D8MI Sprint: Día 2

Ya fallé actualizando el blog el martes, pero al menos vaya aquí un breve resumen.

Clemens y yo seguimos trabajando en el componente Gettext en el sandbox D8MI. Estuve un poco perdido y tuvimos una llamada en Skype por la mañana en la que me explicó qué esperaba. Limpiamos código y seguimos refactorizando. Algunos commits al sandbox, pero mucho trabajo pendiente. Afortunadamente, Attiks se unió por la tarde, ¡más manos (y cerebro) en el código!

Tags: 

Drupal D8MI Sprint: Day 2

Ok, so I failed on Tuesday on updating the blog, but a quick summary.

Clemens and I kept working on the Gettext component on D8MI sandbox. I got a little lost and we had an Skype call in the morning were he explained me what he was expecting. We did some clean up and kept working on it. Some commits got into the sandbox, but lot of works still remaining. Fortunately, in the afternoon Attiks joined us, so more hands (and brain) on code!

Tags: 

Drupal D8MI Sprint: Día 1

Hoy ha empezado el sprint de D8MI. Conoce a los asistentes.

A las 10, Gábor hacía una introducción a la arquitectura multilenguaje de Drupal 8. Está compuesta de cuatro capas, con el módulo locale en la base, y por encima la UI, la traducción de contenidos y la traducción de la configuración. Presentó a los responsables de cada capa para que sepamos con quién debemos hablar para cualquier cosa, y cómo podríamos trabajar en su  D8MI sandbox. Tras esto, la ronda de presentaciones donde cada uno expuso sus áreas de interés para el sprint.

Como planeado, empecé ayudando a Clemens con la generación de archivos .po con Gettext. La mañana ha sido bastante frustrante. Me puse al día con los comentarios, y ya me percaté de que no era algo sencillo, aunque Clemens y Erik lo tenían muy encaminado. Algunos problemas aparecieron cuando intentaba probarlo, y Clemens me ayudó a encontrar las causas. Actualizamos la issue correspondientemente y nos encontramos con algunos errores por nombres inconsistentes de clases y sus referencias, algo que no pasaba en el Mac de Clemens. Arreglar esto ha sido mi primer commit al sandbox :D

Después de comer, empezó todo a ir mejor. Clemens estaba trabajando en los plurales y hablamos de cómo formatear y cómo la responsabilidad debería quedar fuera de la clase PoItem, y con su cambio en esta implementación las pruebas volvieron al verde  :-)

Tras algunos problemas tontos generando un parche con git, empecé a sentir mayor confianza. Mientras Clemens actualizaba la issue para explicar el cambio en el alcance producido tras los comentarios, me animó a pensar en cómor refactorizar  PoDatabaseWriter. Esto deberá continuar mañana.

Gábor está informando de los avances del sprint en este documento: reporte del sprint D8MI. El balance global del primer día es uno commit a 8.x, pero parece que el código fluirá mejor en los próximos días. Por ahora, está siendo una experiencia genial trabajar con esta gente.

Tags: 

Drupal D8MI Sprint: Day 1

Today, the D8MI sprint started. Met the assistants.

At 10 am, Gábor introduced the multilanguage architecture for Drupal 8. It's composed of four layers, with the locale module at the base, and on top of it the UI, the content translation and the config translation. He presented the people responsible of each so we know who we need to talk for anything, and how we could work on his D8MI sandbox. After this, the presentation round where everyone exposed the areas he was interested.

As planned, I started helping out Clemens with the Gettext .po file generation.  The morning has been quite frustrating. I catched up with the comments, and saw that it was not an easy thing. Clemens and Erik have most of the issue already working, but some problems appeared when I tried to test it, and Clemens helped out to find the causes. We updated the summary accordingly. After that, I headed with some errors because of inconsistent naming of classes and its references, an issue that was not happening on Clemens' Mac computer. Fixing this was my first commit to the sandbox :D 

After dinner, work started to happen smoothly. Clemens was working with plurals and we discussed how the responsability of formatting those should be out of the PoItem object, and with his change on this implementation the tests went back to green :-)

After some silly issues that I had generating a git patch, I started to feel more confident. While Clemens update the issue summary for showing up the change of scope it had throught the comments, I started to think on how to refactor PoDatabaseWriter. This should continue tomorrow.

Gábor is reporting the progress at this document: D8MI sprint report. The global balance of the 1st day is only one commit to 8.x, but it seems that code will flow better on next days. By now, it's being an awesome experience working with this guys.

Tags: 

Drupal D8MI Sprint: Día 0

Hoy he aterrizado en Barcelona. Voy a pasar toda la semana intentando contribuir a D8MI. D8MI significa "Iniciativa Multiidioma en Drupal 8". En el desarrollo del núcleo de Drupal, la mayoría del trabajo se agrupa en diferentes iniciativas, donde uno o más líderes organizan las tareas de un área concreto.

D8MI es liderado por Gabor Hojtsy, que ha preparado un sprint esta semana en Barcelona para avanzar en este área, cuidando de obtener un lugar de trabajo y patrocinios para comida y otros, de modo que los participantes se enfoquen en el trabajo pendiente. El foco actual se describe en "Multilingual focus issues".

Pienso que un sprint es una manera idónea para empezar en el desarrollo, así que decidí pasar mis vacaciones aquí. Es también una gran oportunidad de visitar amigos en Barcelona como @francisrivilla, del que seré su huésped estos días.

Volviendo al sprint, intentaré compartir aquí mi experiencia cada día. Como aprendiz, espero poder emparejarme con alguien con más experiencia los primeros días para luego intentar aportar por mí mismo. Clemens Tolboom no estará presente, pero me propuso empezar con Make gettext .po generation its own abstracted functionality y se ofreció a guiarme online. Veamos cómo avanza la semana, deseadme suerte :-)

Tags: 

Drupal D8MI Sprint: Day 0

Today I landed in Barcelona. I'll be spending a full week trying to contribute to the D8MI. D8MI stands for Drupal 8 Multilanguage Initiative. In Drupal core development, most of it is grouped under different core initiatives, where there is one or more leads that organize the work on a particular area.

The D8MI is lead by Gabor Hojtsy, who set up a sprint this week at Barcelona for advancing on this, taking care of having a workplace and getting sponsorship for commodities so people can focus on work. Current focus is described at Multilingual focus issues.

I found that a sprint is a great way of getting involved, so I decided to spend my holidays here. It's also a great opportunity for visiting friends like @francisrivilla who hosts me these days.

Going back to the sprint, I'll try to write up my experience here every day. As a newbie, I expect to pair with someone more experienced on first days and on following days try to work on my own. Clemens Tolboom is not at the city, but he proposed starting with Make gettext .po generation its own abstracted functionality and offered to mentor online. Let's see how this evolves. Wish me luck!

Tags: 

Pages

Subscribe to Drupal