By zzolo
2010, August 24 - 7:08am

Help Drupal Grow : Review CVS Applications (at DrupalCon CPH)

BoF to learn how to review code contributions on Thursday 26 August 2010 at 16:00 at DrupalCon Copenhagen.

At the Core Developers Summit on Sunday (22 August 2010), webchick gave a presentation about the CVS application process and what was wrong with it and what was valuable and needs to remain (there's a video somewhere of it). One of the impetuses for this talk is the git migration that is happening for the drupal.org infrastructure, because it offers us an opportunity to rethink our code contribution application process (aka CVS application process).

The agreed upon process is not a complete upheavel of our current mechanism, but does help address a few issues. I am sure there will be some issues created, but the basics are the following:

  • Any user that agrees some basic things, like about licenses and best practices, can actually commit to the Drupal git repository.
  • Users cannot create releases of their projects without going through a code review process.

Basically what this helps resolve is that drupal.org will be able to offer a very basic place for anyone to store versioned code with very little barriers, instead of code being put on something like GitHub. This also will mean that code can have most of the drupal.org project features, like queues, and can be reviewed a lot more easily. But we still will need to review code to allow for users to create real releases.

By zzolo
2010, August 19 - 5:39pm

Drupal Geo-Goodness in Copenhagen : Geospatial discussions and events at DrupalCon Copenhagen

In just a few short days, DrupalCon Copenhagen 2010 will begin. I am super excited, especially since I was really fortunate enough to get a scholarship from the Drupal Association. I am still a bit weary of the possibility of being stranded because of a volcano again.

There is a lot happening in the Drupal world around geospatial-related technologies and putting a sense of place to data (I never know the right term to encompass all that). And fortunately, there are a couple of geospatial related events going on at Copenhagen, and hopefully lots of ad hoc discussions in the hallway. No matter your expertise, if you are interested, please come on out, and feel free to stop and ask questions (though I can't promise I have all the answers).

Mapping in Drupal with OpenLayers

Myself and Thomas Turnbull will be giving a presentation on Mapping in Drupal with OpenLayers which will focus on giving an overview of how the module works, alongside a live demo of the cool functionality that this module offers. It will be focused for mostly people that have not used the module before, but given time will discuss some architecture as well.

You can even get a sneak peak at the presentation on GitHub (not finished yet). You can also put together your own demo site with the module, make, script, feature set extravaganza on GitHub.

The presentation will be 25 August 2010 at 13:30 in the VPS.NET room (right after Rasmus' crowd-sourced keynote).

Drupal and Geo-Stuff BoF

I have also reserved a BoF space to discuss the state of Drupal and geospatial things. It'll be a very open discussion, but ideally we will focus on the following:

  • The state of the Drupal GeoCMS.
  • What is missing?
  • What the future holds?
  • How do we get there?

The BoF will be 25 August 2010 at 16:00 in the BoF Space 4.

By zzolo
2010, August 8 - 9:56am

Issue Summaries on Drupal.org : Lessen the barrier to dealing with the Drupal issue queue.

I have the great honor of attending DrupalCon Copenhagen in a couple weeks, via a scholarship again! I am still mad for missing DrupalCon San Francisco a few months ago due to a stupid volcano. Like in SF, there is a Core Developer Summit, and like before I have put together a basic set of slides to address a simple, but important topic: The unwieldy issues with up to 400+ comments. Embedded presentation below:

By zzolo
2010, June 2 - 4:00pm

Making a Drupal Module Fully Translatable : Covering all your bases.

Drupal 6. Please note that most of this is sound advice but that some of it is still being debated as far as what is best practice, specifically how to ensure that exportable structures are translatable. I encourage you to leave and read the comments.

The Tools

Drupal's Core Function: t()

If you have written a module, you should be familiar with t(). Almost every interace string you write in your module should be wrapped with t(). This function creates a mechanism so that the core module, locale, can offer translations for non-English languages. Without using the t() function, Drupal would have no idea what strings are translatable and this would be very limiting for sites that were not in English (or not just in English).

The limiting nature of t() is that there is no identification on strings. This means that Drupal is not really keeping track of changes in a string and there is no way to remove old strings that are no longer needed on the site. This is a bad thing for user-defined strings, strings that are entered into the interface, for example the title of a menu item, since it can change often.

The i18n Module

The i18n module (i18n is used based on the number of characters in the word internationalization), offers a set of modules to make Drupal a much better platform for multilingual sites. It offers the ability to translate some of the main structures of Drupal, like menus, taxonomies, blocks, and variables, as well as a more usable interface for translating.

The i18n module also offers a mechanism for translating strings that are based on identifiers for strings. The i18nstrings($name, $string, $langcode = NULL) function allows for better management of user-defined strings.

The Problems

Translatable Strings in Code

Though this problem is solved in core, it is still valid to point out in all of this. Interface strings (and other messages) that are defined in code, need to be translatable.

User-Defined Strings

Interface strings and messages that are inputted by the user need to be able to be translated. These almost always live in the database. The main issue here is that there needs to be a mechanism to identify each inputted string so that changes can be maintained properly.

Denoting Translatability

With modules that utilize a flexible plugin architecture or other dynamic system, one big issue is how to track what fields (or other data points) need to be translatable. This is very important to ensure that making something translatable is not hard-coded.

Exported Data

Recently (well, Views has done this well for a while), there has been a lot of work towards making Drupal structures that have the ability to be imported and exported. The main benefit of this is that it allows for setting-type structures to live in and be maintained in code. In turn, this means that a data structure that may contain interface strings and messages can be stored in either code or in the database.

The Solutions

By zzolo
2010, April 21 - 10:40am

Moving to Mecury : Migrating this site from DreamHost to the Cloud.

I have always dreamed of going into space. I often ask people if they would go out into space if given the chance; I think it gives a small bit of insight into someone's personality. I doubt I will be able to make it into space in my lifetime, though I think it'll be close. But, if I can't go, this site can still move to Mercury.

Pretty cheesy intro, I know. What this actually means is that I just moved this site from being hosted at DreamHost to Amazon Cloud AWS with Chapter Three's Pantheon Mercury. The main reason to do this was performance, but I will discuss the pros and cons of this switch below.

Performance

I have done some very basic benchmarking with AB (Apache Benchmarking). By no means is this a rigorous test, but it does add some insight into the performance increase. I ran ab from a third-party server that had more consistent bandwidth and each test is for the homepage; I am running a small (default) instance. A very rough way to read all this is to say I get 50x the performance with Mercury.

Test and MetricDreamHostMercuryIncrease
ab -n 100 -c 10
  Failed requests290~2,900%
  Requests per second0.9819.812,021%
  Time per request1024.6ms50.490ms2,029%
ab -n 1000 -c 10
  Failed requests3210~32,100%
  Requests per second0.8741.094,723%
  Time per request1150.489ms24.335ms4,728%
ab -n 1000 -c 50
  Failed requests70~700%
  Requests per second44.86112.15250%
  Time per request22.292ms8.916ms250%
Average
  Failed requests1190~11,900%
  Requests per second15.5757.68370%
  Time per request732.46ms21.91ms3,343%
Increase average5,204%
By zzolo
2010, April 14 - 4:15pm

Block Instances : Slides for Drupal Core Developer Summit SF 2010

Here it is: my simple, unexciting, unoriginal slides on how we need to get Block Instances in Drupal core.

By zzolo
2010, March 29 - 5:22am

Applying for a Drupal CVS Account? : Some tips if I review your code.

I have recently discovered the great joy of reviewing CVS applications for Drupal. I am serious, I love looking at code and directing Drupal developers early on into using Drupal Coding standards and best practices for Drupal development. I have also noticed a number of similar things, so I would like to write a quick post about some basics as to creating a Drupal module that can get a CVS account.

Please note that, these are not necessarily a part of the CVS Application Requirements, and I do NOT speak for the Drupal Infrastructure team or other reviewers of applications. This is just things that I notice and suggest when I do my review, and I feel are important when creating and contributing a Drupal module or theme, a lot of which can already be found on the often-overlooked things to expect (and I should add to as well). Also, I am quite aware that my code is not perfect, but that does not mean I am not capable of directing people in the right direction.

It may be good for perspective to tell you that, honestly, I don't even install the module that I am reviewing most of the time; I just look at the code. I make the assumption that if you are sharing it, you have already used it and tested before applying with it. In some people's eyes, this may seem irresponsible, but I feel it is a safe assumption to make.

Requirements and Other Modules

As the number of contributed modules continually grows on drupal.org, it is more and more important to ensure that new contributors have proved that they have looked at other modules and can describe what their modules do accurately.

  • Make sure you read the CVS Application Requirements!
  • A lot of this same information is in the what to expect article but is often overlooked.
  • Describe how you looked for other modules and ANY module that may do similar things. I need to know you at least looked.
  • Are you leveraging other modules in yours? There are a number of stable API modules in Drupal. If applicable, you should use them, or tell me why you are not.
  • Is your module a feature that should be a part of another module?
  • Tell me that you have read these pages and link to them.
  • This is all volunteer work, if you follow this stuff up front, you will save everyone time and make me much happier.
By zzolo
2010, March 24 - 6:17pm

Women in Drupal : It's Ada Lovelace Day!

Today is Ada Lovelace day; the goal of today is to blog about great women in technology. Ada Lovelace is often considered the first computer programmer, and as someone who loves to code, that's a pretty big deal.

I would never consider myself an activist, but I have always been concerned with gender issues in our societies and specifically with technology. I think it's very important to ensure that everyone is treated equal and with respect no matter gender or other qualities. I think by encouraging and supporting tech minorities, such as women, our community can only be stronger and more valuable to ourselves and others. So, I am happy to write on this subject, even if my body says go to sleep.

Like a lot of posts I have read today, it is very hard to pick just one woman that has made my life, both personal and technical, better. Being a part of the Drupal community means that I get to interact with some amazing woman (and men), and it would be unfair of me to pick just one. So, I want to briefly tell you about some of the fantastic woman in Drupal and how they have made my life better and this world a better place (in no particular order). Some of these women I know well, some just in passing, and some just because of the awesome work they do. This is just a handful of the woman in the Drupal community that deserve notability and only a fraction of the contributions that they make. Remember to encourage women on our community, as well as everyone else. In my opinion, to have a meaningful community, we need to have freedom from elitism, sexism, racism, prejudice, and just general discouragement.

  • Rebecca White: becw
    • Bec is a good friend and former colleague who does some great work with web mapping and non-profits. She gets really excited about really nerdy things and is always eager to learn (and physically hurt me).
  • Amanda Luker: mndonx
    • Amanda is a previous neighbor and friend. She does Drupal theming for Advomatic and has taught me that there is more to life than Drupal, like cupcakes, dogs, and punk rock. We have spent countless hours in coffeeshops getting work done together and exchanging ideas. Amanda, myself, and a couple others started Free Geek Twin Cities.
  • Chacha Sikes: chachasikes
    • Chach is a wonderful friend who works with Gorton Studios and has been invaluable in describing and discussing what it's like to be a woman in her field. She continually reminds me that Drupal is so much more than code, and I keep telling her that her code doesn't pass the Coder rules. I try to have a good attitude when she has troubles dealing with some of the traditional attitudes of technology culture. She has recently started the Drupal Garden Project.
  • Allie Micka: vauxia
    • Allie runs her own company, Advantage Labs, which does amazing work in supporting non-profit organizations on a personal level, and focuses on teaching instead of building a product. Allie also has strong roots with GIS and the geo module and maintains many modules.
  • Angie Byron: webchick
    • Angie is the Drupal 7 co-maintainer and is one of those people that makes you feel like you are totally inadequate (in a good way) because she just does so much. Even through all her amazing technical work and time in the Drupal community, she still manages to be one of the best examples of an inviting and friendly face to all people in the community, like a hot chocolate with marshmallows.
  • Addison Berry: add1sun
    • I have this secret love for documentation that an old boss of mine instilled into me, and though I don't contribute as much as I would like, when I don't dream in code, its often of documentation. Addison has been a great leader in making Drupal documentation better and organizing a community around this often over-looked necessity.
  • Ariane Khachatourians: arianek
    • Ariane has worked very hard recently to help get the documentation in Drupal 7 standardized and awesome.
  • Karen Stevenson: KarenS
    • I just don't even want to think of a world without CCK, let alone Date or Calendar.
  • Bonnie Bogle
    • Though Bonnie has not committed any code (that I know of), she was the main point person behind the very successful DCDC last year which brought Drupal events to a new level.
  • Jennifer Lampton: jenlamption
  • Courtney Miller: floatleft
    • I think Courtney may have the longest standing Drupal account on this list of community members (at 6.5 years). She is a talented and dedicated Drupal developer that is a partner at Float Left which focuses on supporting the non-profit sector.
  • Colleen Carroll: caroltron
    • Colleen helps drive large Drupal projects to victory at Palantir. And at a conference where most sessions were about the new, hottest (buggy) thing, Carol and John gave a great presentation on sustainable theming.
  • Katherine Bailey: katbailey
    • Katherine works on the very handy QuickTabs module and continually reminds me that I know nothing about Javascript.
  • Lin Clark: linclark
    • Lin has recently made a great serious of videos on Drupal 7 that you can see on her blog.
  • Laura Scott: lauras
    • Co-founder of PINGV, Laura has done everything from providing documentation, helping maintain drupal.org, to being an avid speaker on all things technology, Drupal, and business.
  • Stella Power: stella
    • How would I be able to efficiently fill my need for correct tabs, spaces, and coding standards without the Coder module? I wouldn't. An who doesn't like a fancy Lightbox effect on their images? Not very many.
  • Isabell Schulz: Isabell
    • Isabell was one of the main coordinators of Drupalcon Paris last year and continues to work hard on coordinating Drupal events and ensuring that Drupal events are sustainable.

Thank you all for your contributions and support; my apologies for all the great people I have not mentioned. Happy Ada Lovelace Day!

By zzolo
2010, March 6 - 3:11pm

DrupalCamp Spain and OpenLayers Presentation : Great camp in Barcelona!

Last weekend (26-28 Feb 2010) DrupalCamp Spain happened in Barcelona at the great CitiLab (pic), which is where DrupalCon Barcelona happened a few years ago. I don't have the exact numbers in front of me, but there was just about the same number of attendees for the DrupalCon a few years ago as there were for the DrupalCamp just a week ago (before and after)! Drupal is getting huge!

The camp was wonderful. The organizers did a great, professional job. Though my Spanish is not very good at all, all the presenters did a great job and had a nice variety of topics. I met lots of wonderful people, both seasoned Drupal professionals and Drupal first-timers. Unfortunately my trip was short, but I did get to experience some of the beauty of Barcelona. And, of course, there was the poll-dancing Drupal gorilla (pretty standard). Thanks for having me and for all the hard work!

Understanding OpenLayers Presentation

I did a presentation on Understanding OpenLayers and Drupal. I think it went pretty well. I am still getting my sea legs (and by sea legs I mean ability to speak in front of people); but the room was packed, and I got to do my first Prezi presentation. I am pretty pleased with Prezi, though it took some time to put it all together and stop thinking about things so linearly.

Below is an embedded version of the presentation; it actually starts on the second point. This is a presentation based on OpenLayers 2.x which is still in development but doing good thanks to the hard work of the developers. They took video at the camp, so I am assuming one day there will be a video which might help with understanding the presentation some.

By zzolo
2010, February 25 - 5:52pm

DrupalChix Sticker Design Contest! : Design a Sticker for DrupalCon SF to Help Support Women in the Drupal Community

Spread the word; Chach Sikes and Erika Stenrick who work with Gorton Studios, have just announced a DrupaChix Sticker Design Contest for DrupalCon San Francisco (sponsored by Gorton Studios). This is a great opportunity for anyone to show off their design skills, and, more importantly, help support women in our Drupal community.

In case you aren't in the know, DrupalChix is an awesome group dedicated to supporting existing women in the Drupal community as well as working towards getting more women involved in Drupal. Drupal has such a great community, but we could be so much better by getting more women (and other under-represented people) involved into Drupal.

The stickers will be made in mass quantity and distributed at DrupalCon San Francisco. Designs are due in by 15 March 2009, so act quick! Post your entries to this thread. And for the non-designers, voting begins on 17 March 2010.

Recent Books

Haiku and a Portrait

The Uncertainty Principle

Floating on the air
everywhere and somewhere,
nowhere, only here.

The Tweet of Zzolo

  • Wow Dell, how many times can you change my "account manager" in one year? We are up to 4 so far. I am hoping for 7.
    6 hours 24 min ago
  • Just made lots of pizza dough for party tomorrow. Now I have all night and tomrrow to think of what to put on all those pizzas.
    22 hours 29 min ago
  • @webchick, @arianek, @sdboyer, and whoever else wants to give feedback on first draft of #drupal CVS review process: http://bit.ly/a9bUiK
    23 hours 48 min ago
  • @bangpound Yeah, thats basically what I am going through right now. It's a big change.
    1 day 6 hours ago
  • #drupal question of the day: Do I not know how to use Panels, or does Panels not know how to use me? :)
    1 day 6 hours ago

Twitter Icon Flickr Icon LinkedIn Icon Facebook Icon Drupal Association, Individual Member icon