Rocking Development with Komodo Edit
Submitted by dale on December 2, 2009 - 10:52am
Finding the time to really learn the tools we use can be difficult, but sometimes opportunity breaks the door down. This was the case at the Pacific Northwest Drupal Summit with Jeff Griffith's presentation Hacking Komodo for Drupal Development. In his presentation Jeff presented a buffet of features that can make you faster in Komodo Edit (and in most cases, the Komodo IDE). Jeff made his presentation slides available and there's a full video of his presentation at the PNWDS site: Hacking Komodo for Drupal development.
Here are some quick notes from Jeff's presentation. They don't cover everything, but do include things like enabling jQuery autocomplete, handy extensions you can install, and running command line scripts from inside Komodo.
Configuration
Make sure you have PHP configured, or you won't get PHP autocomplete

Create a Komodo project file in your top level Drupal directory to get autocomplete on Drupal functions OR Add the Drupal system directories using the library includes feature.
If you're using jQuery, you can enable jQuery function autocomplete using the API Catalogs jQuery Javascript library.

Book Review: Drupal 6 Content Administration
Submitted by dale on November 24, 2009 - 8:35am
Anyone who's tried to explain Drupal's content feature-set to the uninitiated appreciates the amount of territory that needs covering as well as the challenges inherent in presentation depth and order. J. Ayen Green takes up the challenge in his book, Drupal 6 Content Administration, published by Packt Publishing. Packt graciously provided me a copy for review.
The stated purpose of Drupal 6 Content Administration is "a quick-start guide that best serves Drupal Content Editors." Green is serious about the audience and serious about the content focus. The discussion and examples are firmly rooted on content and live in the user interface, using language targeted to the audience; except for the appendix, there are no digressions into unrelated topics like site administration, SEO, or account management.
The book's content falls into three broad categories: authoring/formatting content, methods for displaying content, and managing content. Each subject has a short introduction and explanation, and almost all include an example of something that can be implemented with step-by-step instructions for doing so. Green has made an interesting decision, the step-by-step instructions assume the Drupal site has already been configured and he does not digress into a discussion on configuring the modules required for the example.
MacBook Pro FireWire 400 / 800 Conversion
Submitted by dale on November 17, 2009 - 3:14pmGetting the latest greatest piece of personal electronics is mostly a happy occasion, but there can be "moments". I recently replaced my circa 2003 MacBook Pro with the current MacBook hotness, which included a switch-up from FireWire 400 to FireWire 800. But wait, my mini-DV camera is FireWire 400; will my old camera talk to my new MacBook? The joy of playing with iMovie 2009 was tempered by the thought I might not have any footage to edit.
Information on connecting FireWire 400 devices to Apple MacBook Pros with FireWire 800 is promising but not definitive (this may change for the better by the time you read this post). A number of forum posts indicated that all that was required is the appropriate adaptor or cable. Having been burned by assumptions I proceeded with the expectation it would probably, but not necessarily, work. Fortunately, it worked!

For those of you in a similar situation I can vouch from personal experience that a Canon ZR800 mini-DV video camera with FireWire works fine with a MacBook Pro FireWire 800 connection. I found two possible solutions: a $14 connector that allowed my existing cable to connect to my MacBook, and a $35 cable that would connect my camera directly to my MacBook. Since I already had a FireWire 400 cable I opted for the connector. At the time of writing I've taken around 15 hours of taped video off my camera without any problems. I've also successfully live streamed via UStream.
Drupal 7 APIs: A Mindset Change for Scalability
Submitted by dale on October 5, 2009 - 9:57amIn a presentation at the September 2009 meeting of the Vancouver League of Drupaliers (Vancouver's Drupal user group) core Drupal Developer and Now Public Development Team Lead Károly "CHX" Négyesi spoke about the importance of APIs in Drupal 7. If you're serious about scalability APIs are no longer an optional convenience. For some this may not be an issue, for others this could be a mindset change. Károly also discussed some other Drupal 7 improvements like functional testing.
This is a video of his presentation.
Drupal 7 APIs: A Mindset Change for Scalability
This video can also be viewed directly at: Drupal 7 APIs: A Mindset Change for Scalability
Vancouver Mozilla Service Week (2009)
Submitted by dale on September 23, 2009 - 12:15pmLast week was Mozilla Service Week and local Mozilla Messaging Technical Support Lead Roland Tanglao organized a Vancouver event at the offices of Agentic. At this point many Drupalistas are probably thinking: Wait a minute, is this the same Roland who used to work at Bryght? Yes, yes it is. And Vancouver readers are probably thinking: Wait a minute, Mozilla has an office in Vancouver? Yes, yes they do. I suspect Roland's short time there has already raised their community profile by a number of hundreds of percent.
The event was primarily Drupal focused, but all topics were welcome. As luck would have it, there was a excellent mix of technical resources and people with questions. It was a wonderful mix of round table, Q & A, and birds-of-a-feather.

Half of the Vancouver Participants (Wish I had wide angle)
A very big thank you and props to Agentic's Darko Hrgovic and Phillip Djwa for an excellent job hosting and facilitating. And a big thank you to Roland for organizing.
Robin Puga: Automated Deployment with the Ægir Hosting System
Submitted by dale on August 13, 2009 - 10:17amAutomation is key for efficiently maintaining multiple websites and the Drupal community is very fortunate to have the tools for doing it! The Ægir hosting system lets you create and manage a site by filling out a form and pressing submit. Is it really this easy?
In a presentation at the Vancouver League of Drupaliers (Vancouver's Drupal user group) April 2009 meeting, Robin Puga from Affinity Bridge stepped through the process of deploying Drupal sites using Ægir. This is a video of his presentation.
Automated Deployment with the Ægir Hosting System
This video can also be viewed directly at: Automated Deployment with the Ægir Hosting System by Robin Puga
Drupal 6 RSS Omnibus
Submitted by dale on July 27, 2009 - 12:11pmDrupal RSS functionality is spread out, and so is information on it. After first accumulating mental notes, which turned into a collection of written notes and code snippets, I realized there's a lot to be said on the topic. A single overview covering all things RSS seemed like a useful idea. This is a starting point covering many things RSS. I invite you to leave a comment if you have anything to add, a great reference or blog post, or if I've gotten something wrong.
"Out of the box" RSS
- RSS is configured and controlled at Administration > Content management > RSS Publishing

- The default RSS URL is rss.xml (e.g. www.example.com/rss.xml)
- The default RSS feed selects content using the same selection criteria as the /node path ("/node" is the default front page setting). It contains the content of any node that's both "Published" and "Promoted to front page".

The exact content and number of nodes is determined by the RSS settings. - There is no provision to theme a node's RSS output in the PHPTemplate theme engine. Your node.tpl.php file is ignored when the feed content is rendered.
- Because of the above point, double check the RSS feed output of any feed containing nodes you've created or modified with CCK.
- Every taxonomy term automatically gets a feed (whether you want it or not)
- The is no provision in the Drupal base installation (core) to publish comments in a RSS feed. A contributed module (RSS Comments or Views) is required. More on this later on.
- The RSS feed will only be published on the front page. More on this later.
Drupal/Freebase Integration Notes
Submitted by dale on April 28, 2009 - 3:30pm
Freebase is an open database (CC-BY) of world information with a web service interface. Think Wikipedia with an API. I've been playing around Drupal/Freebase integration for a community project we have brewing, Semantic Web Community Barn Raising in Vancouver. This post contains some research results, in the form of PHP code, on integrating Freebase and Drupal.
This code is intended as a proof-of-concept example and jumping off point for other developers. It is not intended as an example of production-ready code.
If you have feedback or a better method, please leave a comment!
Freebase Background
Those of you familiar with Freebase can skip this part. If not, read on!
Freebase uses the Metaweb database. The Metaweb database is not a row/column style relational database, data is organized as an object graph. Documentation on Metaweb architecture is available at the Freebase reference guide: Chapter 2. Metaweb Architecture.
The language used to query Freebase is the Metaweb Query Language, MQL. MQL queries are written in JSON, and are nothing like SQL. The Metaweb documentation page, Freebase MQL Reference Guide, has details and examples of creating JSON MQL queries for reading and writing data.
Mack Hardy: Geo-Location in Drupal 6
Submitted by dale on March 30, 2009 - 11:12amPutting location data on maps, especially dynamically, used to be a dream. No longer. Thanks to open standards, APIs, Internet based map web services, and many hours of work in the Open Source community, a new wave of options are available for putting location based data on maps. And Drupal is surfing this wave!
In a presentation to the Vancouver League of Drupaliers (Vancouver's Drupal user group), Affinity Bridge founder Mack Hardy gave an overview of locative and geo-related modules in Drupal 6. Here is a video of that presentation.
Geo-Location in Drupal 6
This video can also be viewed directly at: Geo-Location in Drupal 6 by Mack Hardy
Hierarchical Listings in Views 2: Replicating the LinksDB Directory
Submitted by dale on March 27, 2009 - 4:54pmThe LinksDB module provides a nice "it just works" way for implementing a classic Links page. The standout feature is its hierarchical display of the URLs. Even after Views and CCK arrived, the hierarchical display was worth staying with the module. Sadly, with a site to upgrade and no Drupal 6 version of LinksDB in sight, it was time to convert.
This post is part 2 of 2 of how I migrated the CIPS Vancouver Security SIG Links Directory page from LinksDB to CCK/Views. In part 1, Migrating LinksDB Module Data to CCK, I covered migrating LinksDB data into Drupal nodes and taxonomy. In this post I cover creating the URL Links directory page in Views.
Even if you're not interested in LinksDB, this post provides an example of theming Views to display a hierarchical list using taxonomy to define the hierarchy. This same technique was used to render my Drupal Notes page.
Here are before and after screen shots of the SecSIG Links Directory page:
LinksDB Module Page

Views Replacement of LinksDB Module Page

View Definition
The View definition is un-extraordinary. Here is a snapshot of its edit page, an export of it is included at end of this article.
