I recently published a module on drupal.org that allows site admins to send push notifications to users that have registered their mobile device tokens and got asked how users can register a device token. The Push Notifications module for Drupal 7 can be found here: http://drupal.org/project/push_notifications. Here’s a quick tutorial on how to register a token through the services interface. Navigate to the Services admin interface at admin/structure/services: http://cl.ly/3F1429021N2W2y1s2j15 Add a new services endpoint. For this example, I’m going to […]

Picking the best theme for Drupal 7

Just like everyone else these days, I am jumping on the Drupal 7 bandwagon for my newer projects. And every time, I come across the question which theme to use. By default, I gravitate towards Zen. I know it inside out, it is still the most-used theme across all Drupal sites and it just seems like the right way to go. I’m not a big fan of splitting up my css into tens of stylesheets, but I can go with […]

DrupalCon Chicago

I’m at my first DrupalCon in Chicago. Yeah. Compared to the Drupal Camp in New York, this seems HUGE. If I actually used Twitter, I should have poster this there. But hey.

One of my favorite modules for Drupal is the Privatemsg module. It’s basically the Drupal version of Gmail, including a huge feature set for (almost) any need. For one of my clients, I needed to create a feature set that allows him to send internal notifications. Although the newest version of the Privatemsg module comes with the feature to send messages to specific user groups (in Drupal talk: roles), that feature didn’t quite fit the required needs, so I decided […]

New Drupal 7 Book: Drupal 7 Module Development

January 7th 2011 was a happy day for all Drupal fans: Drupal 7 got officially released. The two Drupal books that I used to get over the steep learning curve of Drupal 6 module development, Drupal 6 Module Development by Packt Publishing and Pro Drupal Development by Apress, got released for Drupal 7. While the later is the definite development reference for Drupal, the former was written in a more approchable way. The Drupal 6 version of the book included […]

New Drupal Module: Views Search

A feature request for one of my recent projects was an “Advanced Search” functionality, similar to the ones that is commonly found in social networking and personal sites. Rather than creating a completely custom search form using Drupal’s Forms API, I decided to create a module called “Views Search” which uses the Views module and allows anyone to create advanced searches for anything Views can process without custom coding. Views’ exposed filter work very similar to the search functionality, however […]

Drupal.org Redesign Imminent

Personally, I’m excited about the upcoming Drupal.org redesign. Not because I think that there is anything wrong with the old design or information architecture – I actually grew to love it. No: I’m mostly excited about the Drupal redesign because I think it will help to push Drupal out of the developer corner and make more people “like” Drupal because of a new design that looks less like a website for geeks only (again: I’m a proud one myself). Currently, […]

After listening to Seth Cohn’s very inspirational speech about the Context module at the DrupalCamp NYC 8, I got inspired to play around with that module a bit more. Primarily, Context serves as alternative way for the block administration. However, Seth focused more on Context’s ability to keep variables during a page load available, without the need to use global variables or other workarounds. One of my recent projects required very specialized SEO optimiziation. Initially, I started using the Nodewords […]

List of Changes Converting 6.x modules to 7.x – Categorical New Database API Vendor-agnostic abstraction layer Built on top of PHP’s PDO library Current drivers: MySQL, PostgreSQL, SQLite, SQL Server Can still write SQL. Example: $result = db_query(“SELECT nid, tilte FROM {node}”); Placeholders have changed. Strings don’t have to be enclosed in single quotes any more, the Drupal database abstraction layer does that for you. Example: $sql = “SELECT title FROM {node} WHERE type = :type”; $result = db_query($sql, array(‘:type’ […]

By: Frank Carey Question: How to integrate your custom module with all the goodie-ness of views? Shameless Plug: I attempted to write a similar post about this in this post: Views Integration with your custom module and Overwriting Views Handlers The custom way to integrate your module is by using hook_views_data. Using this hook, you would define how your module exposes data to views. A great alternative is using the Table Wizard module. Example: Create Custom Watchdog View using Table […]