Drupal

Migrating from Locale to String Overrides

The issue with using the Locale module to translate single strings on your site for tweaking text is that it gives you a performance hit. When the Locale module is used for this, it can make a query to the database every time the locale() function is called through t().

Localization ExportThe solution to this is String Overrides, which stores these string replacements in the variables table, which is cached on every page load anyway. The problem with it was that it proved to be quite difficult to migrate from using the Locale method of string replacement to String Overrides. Well, it just got a whole bunch easier.

With version 1.5 of String Overrides, you have the ability to import *.po files. These *.po files can be generated by the Locale module's language. You can see a demonstration of exporting a *.po file from the Locale module in the image on the right.

String Overrides - ImportOnce you have the *.po file, you can visit the String Override settings at admin/settings/stringoverrides, click on Import, select the *.po file, and import the string replacements straight into String Overrides. You can see a screenshot of it on the right.

This functionality is only part of the Drupal 5 version at the moment, and will shortly be ported to Drupal 6 shortly.

Garland-looking Twitter Page

I was recently playing around with the design of my twitter page and got it to look like Garland, the default design for Drupal. A number of you have asked me about it, so I thought I'd publish the values I'm using. So, if you want your Twitter page to also look like Garland, you can input the following values into your Twitter design.

Background Color:
EEF5FA
Background Image:
garlandtwitter.png
Text Color:
494949
Name Color:
494949
Link Color:
027AC6
Sidebar File Color:
E1F0FA
Sidebar Border Color:
E1F0FA

Of course, I'd recommend taking my website logo out of garlandtwitter.png, and putting your own image in there, but that's completely up to you.

Drupal Easter: Druplegg

Easter Eggs 2003-2008When Easter approaches, my family has a strange tradition of decorating Easter Eggs. Although it requires a lot of patience, you end up with brilliantly coloured, pretty, eggs. See these eggs for a good demonstration of what eggs we have painted in the past five years.

When Easter came by this year, our own Druplicon came to mind. So, I began spec'ing out how I could create a Druplicon out of a normal egg.

Waxing the EggsThe idea behind egg painting is that you wax over the parts of the egg that you want to leave the same colour, and then you dye it. So, if you wanted to have a red circle, with black background, you'd first dye the egg red, wax in a circle, and then dye it black. This would give you a black egg, with a big red circle in the middle.

DrupliconWith Druplicon, there are four different colours (including white). There's the light blue, the medium shade of blue, and then the dark blue. Getting all four different colours in there would require a lot of waxing, so I aimed for three.

I waxed in the white parts of the egg first (smile, eyes, nose and top), and then put the egg in light blue dye. This caused the egg to turn light blue all over, except for the white spots on the Druplicon. I then waxed in where I would want the light blue parts to appear on the egg (the spots around the top) and put the egg into a royal blue dye and took it out. The result was amazing and took about four hours in total. We had Druplicon in Easter Egg form: Druplegg.

Druplegg Completion

Stripping Drupal

There is a lot of functionality crammed into Drupal. This can be a good and bad thing.  One of the key benefits is that its components are well maintained. You have hundreds of smart people looking at the code every day and thinking of better and smarter ways of implementing the functionality. One of the drawbacks, however, is that it has a long release cycle, dependent on when a new version of Drupal is released. This means that if there are any new features put into that module or theme, it has to wait a year before it gets out to the general public in a new Drupal release.

The following is a list of issues created to strip some of that functionality out of core:

Remove Poll Module
The poll module is a very simple module and there are better implementations of it in the Drupal contributions repository (Voting API).
Remove Blog Module
The Blog module provides a simple way of giving users their own blog and this could be better achieved with a better design if the Views API goes into Drupal core.
Remove parts of Blog module from Blog API
In the Blog API module, you notice that it implements parts of the blog module.  This is pretty bad design, and should be removed completely.
Remove Access Rules
The access rules implements some pretty complex access control on a user/ip basis. Although it's a great feature, the way it's implemented requires a call to a function that is the slowest query on drupal.org. Moving this to a seperate contributed module would allow some more added functionality to the access control, as well as improve Drupal usability.
Remove Ping Module
The Ping module is quite a useless module, and there are better implementations of it in the Drupal contributions repository (Multiping).
Remove Comment Control
The commenting control within Drupal is very complex and doesn't really help with usability. It would be a better idea to open up the API, and allow hooks to allow external modules and the theming layer to implement the controls.
Remove Blog It from Aggregator
There is a little button that appears beside feed items named "Blog It", which allows users to stick it on their own blog on the same site.  There are millions of reasons why this shouldn't live in Drupal core, so it will be good to see it go.

This is just the beginning of stripping Drupal to a really small, slick, and fast framework.  There are a lot more issues out there, and a lot more things that we could/should take out of Drupal core, so get involved and give your thoughts!

Thank You, Drupalcon

I'd like to send a thank you to all who were involved with this year's Drupalcon. It was the first Drupalcon I have attended, and will most definitely not be the last.

The sessions were amazing and I learned a lot at every one I attended. The birds of a feather talks were very productive and fun. The thing I liked most out of the whole conference though, was meeting everyone. I had an amazing time, and can't wait for the next one.

Thanks a lot, Drupalcon, and I'm looking forward to meeting you again. Here are some pictures from the conference...

Syndicate content