Drupal

Drupal related posts by Gábor Hojtsy.
I'm going to Drupal Camp Bratislava 2010

Drupalcamps are growing like mushrooms around this region of Europe. While we've had one day Drupal conferences in Hungary for several years now, the Czechs joined the ranks last year and now Slovaks and Romanians will enjoy a gathering of like-minden drupalers this year. The next event coming up is Drupalcamp Bratislava on Feb 27th and 28th, 2010.

As it turns out, the honored Jakub Suchy will not be able to present at this Drupalcamp about Drupal security, so I was approached to step in. I was more than happy to participate and continue spreading awareness of security best practices. I hope to pack a good amount of tips for site maintainers and module/theme developers at the same time.

As it currently looks like, Drupalcamp Bratislava is full, but you can still sign up for the waiting list in case not all registered attendees will be able to come.

If you can't make it to Bratislava, or you are looking to attend a full-English-speaking event, Drupalcamp Romania comes up in the summer - June 5th and 6th, 2010.

I remember how skeptical I was looking at some presenters traveling around to multiple conferences with "the same" presentation a decade or so ago. Having been a course instructor for years and being a presenter for even longer, it looks completely different now. It's not that the topics you cover under the same looking umbrella can be quite different, you also find much better ways to express whatever you want to tell your audience as you experience feedback.

Of course the best would be to present your story crystal clear from the start, but despite being an enthusiastic follower of Garr Reynolds and Nancy Duarte, you'll undoubtedly need lots of time anyway to take a relaxed look on your story and distill to the level needed to form a great presentation. I've actually found it quite hard to refine my slides without actually showing/presenting them to an audience. The faces, questions, smiles and sometimes plain staring expressions you get tell you how you'd done and you can derive ways of how can you improve.

Two interesting examples are my slides on Drupal 7 and localize.drupal.org.

Last year DrupalCon Szeged 2008 introduced a few new technologies for helping people find out where things are happening both in terms of on-site conference activities and extracurricular fun. We've introduced a digital whiteboard which was using fixed size Drupal node displays set up in a wiki form, so everyone could edit any whiteboard item. This was helpful for people checking in from hotel rooms for announcements and also on-site because the building was so huge (see below) that running to the whiteboard every so often was not an option.

Even after 1.5 years, people keep asking about certain things on the website, so I decided to start off with the whiteboard and explain how we did it. Sharing the exact solution we used to do would not cut it though, since we used Drupal 5 and some custom code based formatting, which would not be up to today's standards. So I recreated the whiteboard using the latest Acquia Drupal codebase instead, merely configuring some content types, permissions and a view.

For this starter recipe I used Drupal core and Views only from the Acquia Drupal package, so you can also repeat with just these modules only.

In an attempt to revitalize my blog, I recently switched themes, this time to the cool Magazeen theme and decided to highlight some fresh and inspiring content by cherry-picking tweets. Inspired by Dan Cederholm's Simplebits, where "tweets" were mixed with blog posts way before twitter was started, I decided to aggregate some of my tweets on my site. Let's see how I've done it.

Well, it sounds easy, right, since Twitter has this feed of tweets for each user, so I could just grab my feed and display items from there? First of all, I needed to be able to highlight them among blog posts. I'm still undecided on allowing comments or not (not that I expect floods of comments, but picking tweets out of their home medium and allowing comments here might not be conceptually right). But them being nodes allows me to list them with the blog posts and to include them in the site feed. While this might get duplicate content for people who both follow my blog and twitter feed, I decided to highlight some items for their usefulness, and having them as nodes ensures that they can be on for longer, sticking them out of the quick waterfall of twitter.

When we talk about video streaming, many people still think of expensive hardware, dedicated uplink capacity and a complicated server side video encoder. However, nowadays video cameras in mobile phones and online streaming services can solve most of the problems for us if we sacrifice a bit on video quality. Drupalcamp Prague was just over this past weekend, and while I was busy presenting two sessions, demoing Acquia Gardens in a third one and speaking of contributing to Drupal in a fourth one, István Palócz was trying to ensure live streaming of the conference will be online.

Drupalcamp Streaming

In practice, the only hardware he used was a Nokia E51 mobile phone. Although it was attached (glued) to a laptop as seen in the picture, the laptop only served as an immediate camera stand. The phone was indeed plugged in almost the whole time to avoid the battery becoming empty, but the streaming was done solely using the phone hardware. Features used to stream were built-in wifi support in the phone, so the streaming can use the event's wifi service to stream the video and the Ustream broadcasting application available for some Nokia and Android phones. Though there is an iPhone app available, that does not support broadcasting.

With a capable phone, wifi and a ustream account, István was able to stream almost the whole event. Outages included when he actually needed to grab lunch so did not arrive back on time for the session and when he got a call. Still, those watching the stream were happy to see the sessions live and enjoy some of the program. I'm not highlighing this streaming technology for its stunning quality (although video quality definitely depends on the camera in the phone). You can check some of István's recordings to see the quality. It's the simplicity of the solution that is amazing. Just plug in your supported phone to a power outlet and stream over wireless. Way to share with the Drupal community!

Know of any similarly simple streaming solutions?

Things been quite quiet lately here on my personal blog. This does not mean that my days were not action packed though. I was quiet due mainly to being busy with working on all the Drupal 7 usability exceptions and blogging directly on the localize.drupal.org news blog.

swag

It is time to share the love and show these to more people around my region. So I'll go to Prague and show what Drupal 7 has on offer and how can people translate Drupal easier then ever before. With two sessions on the schedule, I'll be busy this weekend to show all the awesomeness going on these areas.

The Prague event still has 70 free (as in beer) seats open as of this writing, so it is not late to register! My colleague Robert Douglass will also be there to present sexy search and Acquia. There will be a pretty heavy Hungarian contingent going presenting about Druplash, Services and Amazon EC2 integration plus our Hungarian in honor, Kristof van Tomme presenting knowledge management integration in Open Atrium.

There are plenty reasons to come, so don't miss out!

Mark Boulton created the new Drupal wordmark as part of the Drupal.org redesign efforts. As highlighted by Jeff Traynor of Raincity Studios, the newly relaunched Drupal.com now uses this new wordmark as identification for Drupal and the wordmark is also destined to land on Drupal.org as part of the redesign (implementation unfortunately still underway).

So why not include the wordmark in shipping software as well? A logical step would be to have it on the installation and update (also known as maintenance screens). The patch for using the new Seven administration theme for installation and updates does just that. Because it is only a first approximation of how this should look, I'd love to get help cleaning it up and polishing things like lining up items, correct font sizes and fixing graphics - so we get a really polished experience for people's first Drupal encounter as well.

Finally, the promise of a centralized localization interface for Drupal modules and themes looks to be coming true. I've started work on this project around two years ago under Google Summer of Code sponsorship and was continuing maintenance and improvements ever since. While I was spreading the word on it, not many people signed up to help clean up some possible performance problems, so it did not make into Drupal.org yet.

However, earlier this year I've got reviews from some key people in the infrastructure team, especially Gerhard Killesreiter, who persuaded me that setting this up is more important then it not being perfect yet. Software is evolving matter anyway, and we should improve as we see the problems. So I've started to set up localize.drupal.org. While we work out some of the kinks like single sign-on with drupal.org (one of the promises of the drupal.org redesign which will be delivered here), I thought it would be a good idea to discuss the implications.

Moshe Weitzman recently started the D7CX movement to rally people to get Drupal 7 contributed modules upgraded and released on time for the Drupal 7 release. This would be a great boon to the Drupal 7 release, which shapes up to be a huge improvement over Drupal 6 already. He also suggests a contributed module release manager who can help with (among other things) ensuring that tools are available to help people upgrade.

Me being the guy, who maintains modules important for the translation of Drupal interfaces, such as l10n_client, potx and l10n_server, I looked at this movement from my angle. While my modules are not among the highly popular top 40 modules Moshe highlights, these tools are used to translate them and reach many parts of the globe. So in part on Acquia sponsored time and my free time, I went ahead and ported both the Localization client and Translation template extractor to Drupal 7. Both had their own challenges. The client port is just a direct functionality port, so does not include real string context support yet (a feature new to Drupal 7). The template extractor however got full context support to match what Drupal 7 supports currently. It also got its coder_review integration updated. Both modules now have their 7.x-1.x development snapshots downloadable.

Thanks to these updates, I hope people working on the D7CX movement will not be in the dark about localization API changes and usage limitations of the new API. You can run the template extractor on your code or run the code review from Coder review to get error reports when the localization API was not properly used. While Coder review includes some rules on its own to test for some common errors, only using the actual tool translators use can tell you all the errors you can make while writing your code.

Future plans include backporting the Drupal 7 parsing support from the template extractor to Drupal 6 (which would be easy except a little API change required), so when integrated with the localization server, contexts would be properly stored. Which would require an update to the localization server too. The goal is to have a Localization server system which can be used to translate Drupal 7 core and modules, so translators can work on their part before the release too. Also, the localization client would pass on the context information too to the server, so people can keep using that to translate and share their work right away.

People keen on magic names can just refer to this effort as D7TX, the translator experience ;) Have fun using these tools, and as always report bugs and provide patches please!

Those not following the implementation of concepts from http://d7ux.org/ here is a quick summary of the three main areas:

  • The header toolbar from http://www.d7ux.org/header/ is in Drupal 7 already (in the form of toolbar module). Icons are missing (still to be discussed, see http://drupal.org/node/13911#comment-1701664) and customizable shortcuts (http://drupal.org/node/511286) are still under discussion. You can override, revoke permissions and disable the header if you don't want to use/see it, but it is enabled in the default profile by design. There are also some other smaller follow up issues you can find and contribute to from http://drupal.org/node/484820
  • We are hard at work on the overlay. You should be able to use it without the admin theme and toolbar (or with a different admin theme and/or toolbar), but it is aware of the admin toolbar. There seems to be mostly some positioning issues to overcome here, see http://drupal.org/node/517688
  • We are working on the admin theme as well, which Young Hahn christened the Slate theme. The looks of the theme when not in the overlay is still to be refined, but themer reviews are showing good results. Again, this would be the default admin theme for Drupal 7 but will be configurable. See http://drupal.org/node/484860

There are lots of things going on improving user experience even in relatively large scales additionally to these three, but given how close the code freeze is, I am trying to get attention to these three, and especially the overlay and the admin theme, so we can get them in sooner then later.