Drupal Blogs
Lullabot: Drupal Voices 77: Doug Green on Lessons from Big Multilingual Drupal sites
At DrupalCon Paris, Doug Green of CivicActions shared some insights doing big Multilingual sites. He talks about some of the pain points faced with doing the site, and working with the i18n module.
Other references mentioned:
Midwestern Mac, LLC: Allowing Organic Groups Administrators the Ability to Unpublish/Publish and Schedule Content
One requirement of the Archdiocese of St. Louis' website is that group administrators are able to publish and unpublish the content inside their groups, and they should also be able to schedule posts for automated publishing and unpublishing at a later time.
To do this, I used the following modules:
- OG User Roles
- Scheduler
- Publish Content
- [EDIT: I'm now using the Override Node Options module rather than Publish Content - it gives more fine-grained control over visibility of node form options.]
After enabling these modules, I spent a while in the Permissions page, and also created a new user role, "administer nodes." Ironically, I didn't assign the 'administer nodes' permission to this role, because doing so causes a huge mess ('administer nodes' gives waaay too much power to anyone except the site admin—it's best to leave that beast unchecked in most cases).
Mediacurrent: Learning How to Install Drush on a Non-Admin Rights Server
Recently, I have been working with quite a few Drupal sites, and one of my favorite tools to use has become drush. For those of you who are not aware of it, drush is a command line utility (drush = DRUpal SHell) that makes management of a Drupal site much more bearable. Drush is a great tool to use and is quite simple to install on your system when you have admin rights to the box. However, what about those of us on shared hosting system?
Mediacurrent: How Drupal is Helping a Marketing Agency Revolutionize the Industry...
Over the last year, Mediacurrent has been intensively collaborating with Ad Giants, an innovative marketing company based in Dallas, Texas. Ad Giants boasts an impressive list of clients and strategic partners like T. Boone Pickens, the legendary oil and business man, who has been featured on national television ads advocating an energy plan overhaul.
Development Seed: March Washington, DC Drupal Meetup Tonight
The March Washington, DC Drupal meetup will be tonight (3/8) at 7:00 pm at Stetson's. After missing last month's meetup due to the snowmaggedons, it will be great to catch up with everyone.

As usual there will be a round of lightning talk where anyone can take the floor and talk - for five minutes or less - on a Drupal related topic. So far two people have volunteered:
Jeff will talk about the Boxes module, which produces exportable and Spaces-friendly blocks
StevenC has volunteered to talk about a website he built for a local construction firm that included a data migration from a legacy MS SQL database and some complex back-end programming.
Alldrupalthemes: Better Dropdown Menus for Drupal
I'm working on a new framework for dropdown menus and I'm running out of ideas. So far I got:
- Animation on showing as well as hiding the menu (superfish only supports on-show)
- Automatic configurable multi-column dropdowns. When number of items in a submenu exceeds set number a submenu is 2 columns, or 3 columns. (will look like http://www.whitehouse.gov)
- Added support for custom easing, including the additional easing from the jQuery easing plugin and some homebrew easing*.
- Animated properties are configurable (widh/height/opacity)
So what cool menu feature would you like to have on your next Drupal site? drop your idea in the comments!
*my new and favorite dropdown easing:
easeInOvershootTurbo: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c*(t/=d)*t*t*((s+1)*t - s) + b; }, easeOutOvershootTurbo: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c*((t=t/d-1)*t*t*((s+1)*t + s) + 1) + b; }CiviCRM Blog: CiviCRM and Drush Integration
Following some issues to integrate drush and making civicrm upgrade process accessible from script, I started looking at drush on how we can take advantage of it for civicrm, and was surprised with the ease I was able to reuse drush code to add few utilities for civicrm. Some of the utilities currently implemented are:

There is a module for that!: Using default arguments to relate nodes by their common taxonomy terms
Given a list of videos tagged with a specific vocabulary, I wanted to show a view of these videos on the page of another node type (a "channel") that is also tagged with the same vocabulary. The idea is to create video channels that implicitly relate to videos by sharing taxonomy terms, instead of explicitly relating the videos to their channel (using node references for example). The videos should show on the channel's node page.
Károly Négyesi: Drupal 7 multistep node forms are easy
The bane of multistep node forms are validation errors. But Drupal 7 has a cure. Not nice but a cure.
Slap #access = FALSE on form elements you dont want to see in the current step and then set up the Next button with #limit_validation_errors set to the elements you are about to see. The Prev button should get an empty #limit_validation_errors. Should field validation errors bother you, you can nuke those in hook_field_attach_validate.
<?php
define('MYMODULE_STORY_NODE_FORM_LAST_STEP', 2);
MasteringDrupal.com: Bulk image uploading and tagging with Imagex and Views Bulk Operations
This video shows how to use the Multiple Image Upload, Views and Views Bulk Operations modules to create a "multiple image upload and tag" tool. The View used in this video is attached as a text file which can be imported into your site using the Views import tool.
Bulk Uploading/Tagging images in Drupal - Imagex + VBO from Greg Knaddison on Vimeo.
Jake Strawn: Preparing for Drupalcon San Fransisco...
Well, 2010 is here, and so is March, and my blog has been pretty quiet for a while because of an insane amount of contract work that has left me with minimal time for anything outside of paid work. Drupal freelance has been VERY good to me over the last 4 months since leaving my full time employment. It was no doubt a very scary situation to be in again, but everything worked out for the best. Even the FT job that I ended up not getting that I was completely sure I wanted ended up falling apart for a reason.
Freelance Consulting/Contract work is a touchy business, and not for everyone, but for me, it really is a great way to be. What mainly attracts me to it is the ability to work from home, set my own hours, and oddly enough, make a lot more money than most full time opportunities. My days of commuting to ANY office are in the past, and while I will/am still considering FT positions that allow 100% telecommute, there's no reason for me to ever want to get out of my jammies and deal with office drama again.
The Worx Company: My First Blog using MacJournal
MacHeist is up to their same tricks and have just released a new bundle. Inside that bundle is a product called MacJournal that has tempted me.
So, I have downloaded a 15 day trial and started to play with it.
There is a module for that!: Going fullscreen in JavaScript/jQuery
I'm no fan of Flash. Even the name annoys me :-) But I feel that recreating its capabilities using the trio HTML/CSS/JavaScript (isn't there an acronym for these 3 interrelated technologies?) is often non-trivial.
A case in point: I recently added to Sheetnode the feature of editing the spreadsheet fullscreen. While every Flash component has a fullscreen option, I couldn't even find a jQuery component that implements this functionality.
Károly Négyesi: Multiple forms together
I have written a Drupal 7 module which allows you to put together any number of forms into one <form>. For example, if you have a professor with various titles and you have created a title entity with the various fields necessary to describe that title then you can show all the title entity forms on the user edit form in a seamless manner. Co-maintainers are welcome.
drewish.com: Using logrotate and drush for daily Drupal backups
If you've got Drush installed—and you really should—you can use the following recipe to setup a backup system that will maintain daily backups for the last two weeks. Most of the logrotate configuration is based on a Wikibooks book that I found.
Find the piecesMake sure logrotate is installed:
whereis logrotate
Which should print something like:
logrotate: /usr/sbin/logrotate /etc/logrotate.conf /etc/logrotate.d /usr/share/man/man8/logrotate.8.gz
So for this site we'll use the full path /usr/sbin/logrotate to run the program.
If you don't know where drush is installed you'll probably want to repeat the process to determine its location. The site I'm working on right now is hosted by May First, a very Drupal friendly ISP (and an amazing progressive group), so they've installed drush at /usr/bin/drush.
Alan Palazzolo: DrupalCamp Spain and OpenLayers Presentation
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!
Midwestern Mac, LLC: Better Drupal Comment Forms

Put this in one of your theme's stylesheets - it'll change a clunky, large, and unweildy comment form into a more compact and user-friendly form:
Drupalcon SF 2010: DrupalCon SF Sessions Chosen. Schedule to be Announced 3/15.
Thanks to everyone for providing us with 408 wonderful sessions to choose from! We are busily sending out email confirmations to the speakers, and beginning our process of organizing all the approved sessions into a daily schedule.
We wanted to share a bit about our larger selection process for sessions:


