Skip to main content

A behind the scenes look at the technologies and techniques that are used to pull content together into a cohesive whole that serve as the City of Bloomington's website. 

Bloomington's website is built atop the open source Drupal ( Content Management System (CMS). Drupal leverages a common LAMP (Linux, Apache, MySQL, PHP) technology stack.

Our Drupal interface customizations are tracked as a Drupal module in Github. The look and feel of the site is controlled by this module:

Integrations with other systems are managed in separate Drupal modules, including:

  • Google Calendars
  • onBoard
  • Animal Shelter Manager
  • Promt
  • Directory
  • CKAN Data Portal

These drupal modules are available as open source software on Github. We encourage other organizations to adapt and re-use these. 

Google Calendars

As a Google Enterprise customer, City staff are familiar with Google's Calendar interface. By integrating Google Calendar data directly into the website, we find that event dates are more likely to stay up-to-date -- they're using the same system that employees are using to track the events. 

We've also built a custom calendar aggregation application that will combine multiple calendars into one. This is useful in situations where many different people keep track of different types of events, for example, boards and commissions. Ultimately we want to show all of those on the City's homepage or Boards & Commissions page, but we don't want employees to have to track those in multiple calendars or systems. 

Example of calendar integration on pages



onBoard manages board and commission information.

This integration in described in greater detail here.

onBoard main listing

Animal Shelter Manager

The Animal Shelter is the most visited section of the website. In 2017 we migrated the shelter to use new software, Animal Shelter Manager. This is an open-source solution, so we were able to integrate it in with the website. This allows shelter staff to manage available animals in the system without worrying about a separate step for publishing the information on the city's site:

Shelter Manager interface


Shelter site



Promt is one of our oldest custom web applications that helps our Parks & Recreation department manage events and activities.

Promt login

Promt interface

Originally this was used to generate the printed programs that are mailed. Since current program information is kept up to date in this system, it seemed like a natural option to integrate with the website. 



The City's staff directory is available directly to the public. It is also used to dynamically keep staff listings for departments and facilities up to date. 


This system is powered by our Active Directory system. Source code for the web application is available on Github


CKAN Data Portal


This is a separate system powered by CKAN. It is available at: