ThinkShout

We provide web strategy and open source technology to forward-thinking organizations.

Lev's Blog

Sign Up for Entities and Fields

January 19, 2012 - 11:43 -- Lev

The challenge

Historically, the Signup module has been the go-to solution for managing event registrations (i.e., sign-ups) in Drupal. This venerable module has nearly 8000 reported installs, 14 contributors, and a vibrant ecosystem of additional contrib modules (such as Signup Integration for Ubercart). Signup is also a key component of the Conference Organizing Distribution.

All this considered, only 500 of Signup's installs are in Drupal 7, for which the module still does not have a tagged, stable release. And since the module must maintain an upgrade path for all those users, taking full advantage of Drupal 7's new features, such as the entity system, is very challenging.

Given ThinkShout's comittment to Drupal innovation, last year we began work on an entity-based alternative to Signup, drawing significant inspiration from the amazing work that was already done there. We were very excited about the benefits offered by an entity-based registration system, namely the ability to add custom fields of any type to a registration, along with hooking into the various entity APIs. We launched an early version of the tool on Manhattan Kayak Company's new website and started a conversation with the Signup team about possible collaboration. While productive and receptive, things were moving a bit slowly, so we started up a new Entity Registrations project on Drupal.org and have recently pushed the code to a point where we want to share and discuss it with the community.

Looking Back on ThinkShout's first Year

January 9, 2012 - 18:52 -- Lev

The ThinkShout team celebrates our one year anniversary

Almost exactly a year ago, after over a year of flirting with the idea of partnering, Sean and I finally tied the knot. Our initial goals when starting ThinkShout were modest:

We certainly have a long ways to go, but we're proud of how far we've come and are even more excited for what the year ahead holds.

Tags: 

OpenLayers Love for Drupal 7

September 7, 2011 - 09:39 -- Lev

Mapping has become a significant component of many of ThinkShout's projects over the last couple years, included on sites such as Save Our Gulf, James River Association, and the Lower Columbia River Estuary Partnership . The tools we use are constantly evolving. For example, we recently launched a bacteria monitoring site for Blue Water Baltimore (note, staging site) using Cloudmade's Leaflet and an accompanying Drupal module of the same name. But the OpenLayers map scripting library and Drupal module have been sophisticated mainstays. During that time, we've contributed a few of our own add-ons to meet our client's needs, namely OpenLayers Field, OpenLayers KML Layer, and OpenLayers Taxonomy. The first is a new module for Drupal 7's field system and the latter 2 were originally built for D6 and just ported to D7. We worked with the esteemed Alan Palazzolo, current maintainer of flagship OpenLayers's module, on all 3 projects, which now have beta releases.

MailChimp 2.0: Anatomy of a Drupal module rewrite

June 30, 2011 - 13:23 -- Lev

FreddieI first wrote the MailChimp module for a side project I was working on (MomHub) towards the end of 2007. It was my first standalone module, and the first one I posted on drupal.org. That module, and every update since, has basically offered the ability to synchronize a site's users with more one or more MailChimp lists based on role, in addition to standalone subscription forms. Over the years, the module has grown in popularity along with the MailChimp service itself, and there are now nearly 4000 reported installs. Still modest, but a sizable base which needs to be taken into consideration when releasing updates.

Redmine and Gitosis, project management nirvana?

March 23, 2011 - 16:11 -- Lev

If, like us, you find yourself running several development projects, you likely use some sort of a ticketing system to manage features, bugs, tasks, etc. and communicate with your clients. There are many, many options, ranging from proprietary commercial offerings like FogBugz and Jira, SaSS offerings like Unfuddle and Lighthouse, and open source tools such as Track, Bugzilla, Redmine, and Drupal’s own project module. Wikipedia has a great comparison of issue tracking systems. After much careful consideration, ThinkShout settled on Redmine due to it’s excellent interface, multi-project support, repository integration, rich feature set, and large install base.

Lev's Take on the New ThinkShout, Inc.

January 25, 2011 - 14:42 -- Lev

thinkshout-logoWhen I started Level Online Strategy back in 2004, I never intended to remain on my own as long as I have. I assumed that I'd soon find a partner who shared my vision about how to run a consulting company and my passion for helping progressive organizations through our work. In large part because I was too busy running the business, I never found that person, until I met Sean Larkin back in the summer of 2009. He was just starting out on his own, dba ThinkShout. We realized early on that we had complimentary skills, similar approaches to business, and wanted to serve the same base of clients, in our case nonprofits and social ventures having a positive impact in their communities.

The Knight News Challenge and Watershed Now

December 1, 2010 - 14:52 -- Lev

Watershed Now is a Drupal distribution developed to support the common content management, social media, online advocacy, fundraising, and mapping needs of conservation organizations.

Among other features, Watershed Now provides easy-to-use content management tools, email-to-blog features, online event registration, donation pages and reports, online mapping tools, e-petition tools with legislative lookups, and advanced multimedia and social network integration. The distribution also ships with three stock Drupal themes in a variety of color options. Watershed Now websites are highly-customizable. For example, there are more than 60 available variations on the homepage layout.

Mapping with Drupal

August 5, 2010 - 11:16 -- Lev

compass I've recently become more involved with map scripting in my work on LCREP, Save Our Gulf, Geomeridian, and a few others in the works. One commonality amongst all the projects was the need to display geocoded data on a map, a problem solved many times over. When I began work on the first of these projects this past spring, the state of mapping in Drupal boiled down to these tools.

Drupal Menu Hell(p)

May 26, 2010 - 22:58 -- Lev

I recently had to implement what seemed like a very simple feature for a client, moving several of the local tasks located on a user's profile page into the site's primary menu. The menu paths in question are dynamic, E.g, /user/%/edit, /user/%/orders, /user/%/notifications, etc., which at first seemed like slight complication. So how to tackle this? At first blush, one might think that you can just use the Menu module to add a dynamic menu item though the GUI or menu API. Well, that won't work. You can only create a menu item that way for an existing path that you have access to. Luckily, Drupal provides a hook that seems like the perfect solution,

function hook_menu_alter(&$items) {
// Example - disable the page at node/add
$items['node/add']['access callback'] = FALSE;
}