Drupalcamp Spain 2012

On October 20th and 21st took place in Madrid the 3rd edition of the biggest Drupal event in Spain, Drupalcamp Spain 2012. On Saturday I participated on a panel with Pedro Cambra, Ramon Vilar, Juampy Novillo and José Reyero about how to contribute to Drupal, with modules, themes, translations, documentation, marketing, events... The slides we used as guide are available on Slideshare:

On Sunday, I made a session where I tried to explain the changes in multilanguage between Drupal 7 and Drupal 8, that will be a reality hopefully on August 2013. The slides are also available in Slideshare:

The videos of every session will be available soon at the Vimeo channel of the Spanish Drupal Association.

That weekend took place the first Assembly of the Spanish Drupal Association, where I was nominated as a Board Member. I hope to contribute with them spreading Drupal use in Spain.

And after a very busy weekend, a plane to Frankfurt. But that's part of another story.

Post image: Atribución Some rights reserved by Pedro Lozano

Non-interactive performance tests and reporting with JMeter

Once you have modelled your stress tests with JMeter (that's another story that deserves its own post), maybe you want to launch them in a non-interactive way from your continuous integration server.

For doing so, you just need to launch JMeter with the non-interactive mode:


./apache-jmeter-2.6/bin/jmeter.sh -t my-test-plan.jmx -l my-test-plan-2012-16-09.jtl -n

This commands launch the test plans, but the output file is XML. How could I send this as a report to the QA team or the management people?

Just launch:

xsltproc ./apache-jmeter-2.6/extras/jmeter-results-report_21.xsl my-test-plan-2012-16-09.jtl > report-2012-16-09.html

The result will be an HTML file which is rendered as the image attached.

Git workflow with submodules for Drupal deployment

Maybe you've seen the great article on Drupal Deployment with Git Submodules, by Randy Fay. I manage this site using that strategy, but some times I forget how every operation is done. So here I'm collecting them for my own reference.

For fetching all the new info from submodules: 


git submodule foreach git fetch origin 

Now we go into each module folder and use:


git pull 

If we wanted to switch to a different branch, we should use:


git branch -a # we see the available branches 
git checkout 7.x-2.x # the different branch 

For commiting it, we go back to the contrib folder and do:


git add contrib-module-name 

At the end, we use:


drush updb --debug -y 

Maybe we see some warnings because of unresolved dependencies. In that case, add the new submodule:


git submodule add --branch 7.x-1.x git://git.drupal.org/project/entity.git sites/all/modules/contrib/entity 

Finally, updating core:


git merge drupal/7.x drush updb --debug -y 

Ok, so we've done this on our DEVELOPMENT site. If everything is OK, now it's time to update the server, after doing a backup:


git pull
git submodule update --init 
drush updb --debug -y

Remoting for the Drupalcon Munich D8MI Sprint

After participating on the Drupal Developer Days D8MI Sprint, I was very sad I couldn't assist to the Munich Drupalcon one, but I decided to participate remotely.

I asked for people who wanted to join me on the Sevilla Drupal Group, and Jesús Balsera (jsbalsera) and Juan Fernández (@Maxtorete) joined me.

We'll start today and will be sprinting until next Sunday, if everything goes well and nobody leaves (hope so). 

The focus on D8MI is set, and these are some notes I took about some issues that I'd like we collaborate with:

  • http://drupal.org/node/1733746 => D8 installer is broken if selecting a non-English language on installation => Drupal core, install system, normal, needs work, 3 comments, 1 IRC mention
This is a problem when installing D8 in another language. A patch is attached, but needs some work.
@penyaskito did the initial work.
@jsbalsera managed to fix the requested changes and use drupal_classloader_register instead of include_once. Other sprinters did more tweaks and it was commited :-)
 
Minor string fix, reported by @penyaskito.
 
  • http://drupal.org/node/1392208 => Impossible to install Drupal in a non-English language when following the provided instructions => Drupal core, install system, normal, needs review, 12 comments, 2 IRC mentions
@Gabor & @penyaskito.
 
  • http://drupal.org/node/1637348 => Import Gettext .po files in progressive batches to avoid time limits => Drupal core, language system, normal, fixed, 28 comments, 15 IRC mentions
@penyaskito worked on this at Barcelona and has been completed now.
 
  • http://drupal.org/node/1658842 => Introduce a translations:// stream wrapper to access the .po file directory => Drupal core, language system, normal, needs work, 12 comments, 3 IRC mentions
@penyaskito working on it. NW.
 
@jsbalsera working on it
 
  • http://drupal.org/node/253157 => Add a new user permission "Translate own nodes" => Drupal core, translation.module, normal, needs work, 31 comments, 3 IRC mentions
Needs rerolling, functionality tests and upgrade tests.
@penyaskito rerolled it.
@maxtorete is writing functional tests. NW
 
  • http://drupal.org/node/1189184 => OOP & PSR-0-ify gettext .po file parsing and generation => Drupal core, locale.module, normal, needs work, 256 comments, 70 IRC mentions
Properly test this.
Minor follow-ups.
 
  • http://drupal.org/node/1632384 => Import available language data and translations form translation server => Drupal core, locale.module, normal, needs review, 13 comments, 5 IRC mentions
 
 
  • http://drupal.org/node/1627006 => Collect project information for translation update => Drupal core, locale.module, normal, needs review, 23 comments, 5 IRC mentions
Work started
 
This is a major issue broken into smaller pieces. Those ones needs care. Doesn't look specially easy.
 

Let's see what we can afford.

 

Drupal Sevilla Talk: Contributing to Drupal

On last Wednesday, I participated at the August Sevilla Drupal Group monthly meeting, talking about my experience contributing to Drupal.

We walked through how to contribute translations, the modules and themes contribution approval process, how to report issues, how to contribute a patch and how you could become involved in the on progress Drupal Initiatives. We also did a quick review on what we can expect of Drupal 8.

The slides I used are based on Webchick's "One Drupal 8 Slide Deck To Rule Them All". For the reference, they are available on Slideshare: Contributing to drupal from Christian Lopez

I saved on Del.icio.us too a collection of the links we looked at.

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!

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!

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!

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.

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!

Pages

Subscribe to Penyaskito Blog RSS