A new Drupal module to display entities as blocks.
Improve the efficacy of your website by resolving the dichotomy between “Desire Paths” and “the desired path.”
Following our release of the PHP wrapper for the iATS Payments API, we took on refactoring the Commerce iATS module.
Reflections on Drupal Day: Creating a One-Size-Fits-All Day for Nonprofit Professionals and Technologists
Learning a new technology can be incredibly intimidating, especially if you’re going at it alone. There’s great comfort in knowing that you’re not the only one with those particular questions or having this recurring, frustrating problem.
How we used Jekyll, Foundation, GitHub, and Amazon S3 to build and deploy the new ThinkShout.com.
How we are helping iATS Payments serve more nonprofit customers with its world-class donation and e-commerce tools.
Want to get started using SASS/Compass with Drupal? And fast? This series will give you an introduction to SASS/Compass, plus how get started using it with Drupal right away using the Zen base theme. Welcome to Part 1: Installing and Configuring SASS/Compass
If you've never been to the Bay Area Drupal Camp, we strongly recommend you consider attending this year. It's become our team's most anticipated pilgrimage. In many ways, it embodies exactly what we love about the Drupal community. Of course, we focus on the nonprofit sector, and the now 3rd-annual BADCamp Nonprofit Summit is one of our favorite days of the year.
How we built a flexible, integrated CMS & CRM solution for repeat deployment with Pantheon hosting
A couple months ago one of my coworkers asked me how to change some text on a block generated by our MailChimp module. I had to tell him the bad news: that text was hard-coded and he'd have to work pretty hard to change it. He also wanted to change the text on the Submit button... which wasn't much easier.
As a Drupal developer, I spend 90% of my time mucking with PHP arrays. And as much as I love a foreach control structure, PHP provides some nice functions that can get you what you need from an array without having to loop through a huge Drupal Node array.
Bolstered by Dries's nod to RedHen CRM in his keynote address, our RedHen code sprint at DrupalCon last Friday was a great success.
The big week is finally here with DrupalCon Portland kicking off in our own backyard. For those of you not familiar with Portland, we're really big into birds (yes, I'm aware that's very 2010), and chickens in particular. I'm working real hard here to make a clever connection to RedHen, the leading native Drupal CRM, and the only one named after a bird!
You are all invited on Monday, May 20th, the first day of DrupalCon Portland, to honor Aaron Winborn's ongoing contributions to the Drupal community and to celebrate Drupal's power to make the world a better place.
Like many developers, we get pretty psyched about building stuff. Sometimes it takes us a little longer to get excited about describing the stuff we built... but RedHen has been getting enough attention that it was time to do some communicating, especially considering we recently released version 7.x-1.2 of the module.
At ThinkShout, we spend as much time as possible dreaming up and implementing new ways to leverage Drupal to meet the web technology needs of the nonprofit organizations we serve. As the technology conference season ramps up, these 10 topics and tools are foremost on our radar.
ThinkShout is very proud to announce that Brett Meyer has joined our team as our new Technical Project Manager!
A few days into my work with ThinkShout, I'm pleased to report that everything I always knew must be doable with Drupal isn't just possible, it's in process. I've seen things people wouldn't believe. Engagement scoring tied to user activity. I watched email sent from a website report stats back to an ESP.
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.
With 2013 well underway, we thought it was time to circle up in the office and bust out an open source sprint. Our focus this time was on RedHen, our native Drupal CRM, which is fully open sourced and lives on Drupal.org. In one afternoon, with our team of 8, we were able to give the issue queue some lovin' and also roll the release of RedHen 1.0!
After a decade of having day-to-day IT support as one of my job responsibilities (no longer, thankfully!), I feel pretty confident making existing software behave the way I want it to. Until, that is, it's time to set up a development environment: the domain of developers is naturally fraught with some of the most obtuse configuration oddities. So, for all of you out there who just want to get your Drupal development environment running with minimal headaches, I present "Drupal Dev a la ThinkShout in 5 Coherent Steps".
I spent most of my early career as the one-stop technology department for small-to-midsize nonprofits. I have been the first technology employee on more than one occasion -- this means that aside from walking into some chaotic technical situations, I've regularly faced a very common & problematic misunderstanding about whether problems are related to Process or Technology.
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.
I just got back from a fabulous weekend at BADCamp where we had the chance to discuss RedHen CRM at the nonprofit and product summits. These videos were generously filmed by Nicholas Roberts. The first is an in-depth discussion of RedHen CRM, covering why we built a native Drupal CRM in the first place, the technology that makes it possible, and applicable business cases. The second is cage match, err, make that panel ;), pitting RedHen against Trellon's CRM Core, Jackson River's Springboard, and CiviCRM. It was an honor and a pleasure to compare and contrast RedHen with those other amazing CRM offerings. RedHen CRM is already in use in over 200 projects, including our own Mission Investors Exchange and will soon launch as a core component of a private distribution for the Forum of Regional Association of Grant Makers.
With a reputation for the largest non-DrupalCon Drupal event in the country, the organizers do not disappoint with a line up that will suit the interests of pretty much every community member in attendance.
RedHen CRM is one of many great stories featured in the Linux Journal's recent Drupal special addition. RedHen just laid a beta3 release and the ThinkShout team will be at the Pacific Northwest Drupal Summit if anyone wants to connect.
When Seattle based PRI Makers Network and Harvard based More for Mission decided to merge and rebrand as Mission Investors Exchange, ThinkShout was engaged to re-invent their combined website on Drupal 7 and deploy a tightly integrated consituent relationship management (CRM) system.
ThinkShout is proud to announce that Betsy Ensley has joined our team as our new Director of Professional Services.
RedHen CRM is a native CRM solution for Drupal 7. If you haven't heard about it, check out our recent blog announcements. Mandrill is a pay-as-you-go transactional email service provided by MailChimp. This spring, ThinkShout was fortunate to have the opportunity to release a Mandrill integration module for Drupal.
Engagement scoring - often referred to as "engagement analytics" or "engagement metrics" - is a relatively new concept in measuring the interactions between site visitors and your website. Web analytics packages such as Google Analytics generally focus on measuring quantitative analytics - or the number of page visits and clicks. Engagement scoring focuses on measuring the quality of these interactions by weighting the value of different types of interactions. For example, sharing an article from your website to a social network might be worth 5 engagement points, whereas commenting on a blog post might be worth 10 engagement points.
In this RedHen CRM demonstration, we will show how the framework could be leveraged to build an association management system (AMS) supporting a fictional organization: The National Association of Pet Shelters.
After a year of scheming and over 700 hours of very intense development, ThinkShout is proud to announce the Alpha release of RedHen CRM.
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.
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.
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.
Probably this single most important announcement at DrupalCon Denver last week (let's face it, the single most important announcement in the universe last week) was that the 2013 DrupalCon will be held in our very own Portland, OR.
ThinkShout is proud to announce that we are facilitating the first ever Drupal Day for Nonprofit IT Professionals event at this year's Nonprofit Technology Conference (NTC) April 3rd, 2012, at the Hilton Union Square in San Francisco.
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.
When I started at ThinkShout in June 2011, Responsive Web Design by Ethan Marcotte had just been released. I read an excerpt of the book, Fluid Images, on A List Apart and was intrigued. I immediately bought the book and devoured it.
Implementing truly gorgeous online maps still requires some custom code and technical know-how – but, the cost and learning curve involved has dropped considerably.
Alas, the "we should blog about that" queue is getting pretty heavy here at the office. It's been a busy ten months since Lev and I officially opened the doors here at ThinkShout, Inc. And as we've been talking with developers this month about coming on board with the team, we've realized that we're missing an opportunity to share with the community what's been inspiring us in our own work, as well as in the Drupal community at large.
ThinkShout is proud to support this year's Pacific Northwest Drupal Summit as a "Silver" sponsor. More importantly, we're proud to have three of our team members presenting on development and project management topics close to our heart.
One of the first projects I am working on here at ThinkShout requires full-text search of file attachments. This is accomplished using the Apache Solr Attachments module. We're also using the Facet API module to allow the users to filter their searches based on certain criteria or "facets". The Facet API module provides several useful facets out-of-the-box, such as a filter by Author and by Content Type. One facet that we wanted to enable for the client's users is the ability to filter on the type of file(s) attached to a node. The Facet API module allows a developer to create filter blocks based on fields indexed by Apache Solr Search Integration (or in this case using Acquia Search with Acquia Network Connector).
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.
The Footer Message Module as a Case Study
I 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.
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.
Developing our first open source Drupal product, Watershed now, as well as in our recent work on internationalization in Drupal 7 with Meedan.net, we've run into some bottlenecks managing the testing of new releases of Drupal installation profiles and features. The only way to make sure that installation profiles are built correctly obviously is to build them up from scratch. Features exports are great, but they too can be a little tricky, and thus require continual testing.
The increased discussion of Drupal engineering certifications concerns me. I question the motivations behind this movement, the efficacy of such certification programs to precisely identify talent within our developer community, and its potentially skewing effects on vendor selection in the the Drupal service provider industry.
You can read our non-geek post to learn more about what Watershed Now! does. What Watershed Now! is is a Drupal 6.x installation profile coupled with a few custom modules, a few custom parent-child themes, and some nifty features. We literally just tagged our first 0.1 release of Watershed Now! on GitHub this morning. It's buggy and incomplete - but it's just good enough that we are going to use this tag as the starting point for one of our customers - and in doing so we will drop the cost of development for the site by 300%, while increasing our own profitability on the project.
Yesterday I built out a quick Drupal site for a fairly non-technical client. He manages a busy team and doesn't have the time for me to train his staff on the intricacies of Drupal content administration. The project also has a shoestring budget, so I wanted to keep things as simple as possible. Below are a few Drupal modules and tricks that I used to cut down on Drupal admin interface clutter, and more importantly, to make the site bombproof to unexperienced Drupal content editors.