ThinkShout

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

modules

Mandrill 1.3: playing nice and offering more! (updated: 1.4)

March 6, 2013 - 11:06 -- Gabe

Mandrill Mascot Update: Version 7.x-1.3 had a couple of bugs: as of March 18, the latest-and-greatest version of Mandrill is 7.x-1.4!

We ThinkShouters have been working away on our Drupal/Mandrill integration module, and released version 7.x-1.3 today. We think it's a pretty significant step for the module: I'll tell you how we got to where we are, what's in this release, and a little about what's next for Mandrill.

If you aren't familiar with Mandrill, it's a transactional email service built around the email delivery system for MailChimp, and it's deliberately built to be used by custom apps and plugins. If you want your Drupal site's automated emails to get sophisticated modern analytics and reporting, be spam compliant, scale to bulk levels, and be more reliably delivered, you can route your email through Mandrill.

Salesforce Integration with REST, OAUTH, and Entities

November 26, 2012 - 13:29 -- Lev

Salesforce logo The Drupal Salesforce Suite has been around since Drupal 5, having undergone many transformations in trying to keep pace with both Drupal and Salesforce API changes. The result is a feature set as impressive as it is ambitious, although the incremental updates and additions have come at a cost of significant technical debt, inconsistent API usage, a monolithic architecture, and fragility.

ThinkShout, not being strangers to major rewrites, even of our own modules, and driven by our need to integrate Salesforce with our native Drupal CRM, RedHen, undertook the challenge to completely rewrite the Salesforce suite this fall.

Views Without Views… Introducing "Relevant Content Bean"

June 16, 2012 - 10:51 -- Sean

The Relevent Content Bean provides your site administrators with a light-weight query builder for creating blocks that contain nodes. Like Views, Relevant Content Bean allows you to select the number of node results to display, apply filters to the list of returned nodes, change the display options for these nodes, and manage the sort order of these results.

An Adventure in iCal, my First Module

June 5, 2012 - 13:22 -- Kyle

Recently ThinkShout needed to include an “add to calendar” widget on a client’s event pages, but, to my surprise, no Drupal module existed that fit what I needed. Since this seemed like a relatively common feature, I set out to write my own module to release to the Drupal community.

Thus Add to Cal was born, a module that adds a field formatter for dates in the form of a button that allows exporting an event to a small variety of popular formats, namely Google, Yahoo, Outlook, and iCal. While PHP is very much a strong point for me, this was the first real module I had created for Drupal, and it proved to be a great adventure and an excellent learning experience.

image

MailChimp adds Mandrill Integration & Campaign Creation

May 25, 2012 - 13:48 -- Lev

We've previously written about a complete rewrite of the MailChimp module, and while our most recent changes aren't quite as big, they're significant enough that we want to share the details with the community.

Mandrill

Mandrill is MailChimp's new transactional email offering, intended to replace the MailChimp STS service. Rather than being based on top of Amazons SES, Mandrill is built on MailChimp's own infrastructure:

Mandrill runs on the delivery infrastructure that powers MailChimp, the world’s best email service provider.

The release announcement contains list of current Mandrill features, and there are many more exciting things coming down the pipe.

  • Uses MailChimp's awesome email delivery engine
  • Has a simple and powerful API
  • Allows simple sending directly using SMTP
  • Tracks opens and clicks
  • Automatically adds Google Analytics tracking data to your URLs
  • Has pretty, visual reports of your email results
  • Allows you to tag your messages and see your stats filtered by tag
  • Integrates with MailChimp's templating system, letting you export your MailChimp templates to Mandrill and use them in your transactional emails

The initial beta release of the Mandrill module is modeled closely on the STS version, but provides additional options like tracking clicks and improved graphical reports powered by Google Charts out of the box. Our roadmap includes:

  • Improved reports with filter and display settings.
  • The ability to target which types of emails to use Mandrill for, E.g., use Mandrill for the contact form but not password reminders.
  • Integration with MailChimp templates.

The STS module has been removed from the core MailChimp package and is available as a standalone project for existing users. It will not be actively maintained. New or adventurous users should definitely go with Mandrill and only use STS if you have a project that's already running it.

Campaigns

There's long been a demand to add the ability to create campaigns containing Drupal content from within Drupal and it's finally been added with the new 7.x-2.5 release, along with a very long list of improvements and features. The new MailChimp Campaign submodule, contained in the core MailChimp package, allows users to:

  1. Create a campaign.
  2. Send campaigns.
  3. View statistics.

The module adds an input filter, which is applied to every section in a selected template, which converts a macro in the following format into rendered Drupal content.

[mailchimp_campaign|entity_type=node|entity_id=1|view_mode=teaser]

We sought an approach that combined flexiblity with ease of use, sacraficing a bit of the former for the latter. But this lets users inject any Drupal entity, using any view mode, into a template section mixed with additional non-Drupal content. Users can also choose to create a campaign that doesn't contain Drupal content at all using this tool. It can also be combined with additional input filters to provide other formatting assistance.

When saved, the rendered content, along with the MailChimp list and other campaign data is sent to MailChimp and hung on a custom campaign entity within Drupal. New campaigns are saved as drafts and can be edited so long as they have not been sent.

Sent campaigns have statisics available, including graphical charts powered by Google Charts, similar to those used in Mandrill.

Summary

Aside from adding Mandrill and Campaign creation, and removing STS, there's a long list of improvements and new features, including improved Rules integraiton from @fago. We welcome any feedback, either here or in the queue. Thanks and enjoy the new features!

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.

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.

Staying Sharp, Releasing Helper Modules

July 20, 2011 - 11:11 -- Sean

The Footer Message Module as a Case Study

In the world of Drupal rockstar engineers, I'm, well, a groupie wearing a worn-out DrupalCon t-shirt. I consider myself a darn good Drupal technologist. I can build sites like nobody's business, using Features-based development practices to codify configuration management, as well as installation profiles for test-driven development. I contribute small bug fix patches to the community. And when the stars align, I occasionally release a Drupal module or two that helps with small tasks that make site building more enjoyable.

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.

Subscribe to RSS - modules