Projects

Live projects, services, and tools created by the EchoDitto Labs team

Sites

Sites is a Drupal 6 module that segregates content and various settings based on domain, subdomain, or other path parameter.

Current features:
- Views that see content across all sites
- Views that see content on a single site
- Different active theme for each site
- Different primary and secondary links menus for each site
- Different front page for each site
- Set up sites based on domain, subdomain, path prefixes, and anything else that the PURL module can handle.

Forthcoming:
- Rules integration
- Features integration
- User integration
- Organic Groups integration

Sites was originally conceived as a way to make it easy to create multi-site Drupal configurations without the problems and complexities incurred by using Domain Access. Sites is a less-articulated solution than Domain Access: it has fewer features at present, and does not integrate as deeply into the Drupal access stack, but is consequently more stable. Most importantly, it avoids rebuilds of the node_access table, which can be slow (and, in the case of very large sites, can even cause your servers to grind to a halt).

There are several considerations that came into play in the decision to write the module. First, we wanted to be able to create multi-site installs of Drupal wherein some views could show content existing across sites, while others could discriminate between those sites and show only content from the current site. If we simply created a new folder under /sites, there would be no clean way to know at the level of the controller (nodeapi, Views, etc) what site was being used to access content. Furthermore, if we decided to segregate content into different databases, it would be difficult to share that content across sites (the easiest alternative would probably be to publish feeds, which seemed like far more trouble than should be necessary).

DC Metro Status for iPhone

For those of us who ride the metro regularly, knowing when the next train will arrive before you enter the station is a major convenience.

In the storied tradition of the original Meenster, this service simply scrapes the WMATA website and wraps it in Joe Hewitt's excellent iPhone CSS.

Click here to find your train status

PDF Form Filler

Do you have to populate a lot of PDF forms? We've found a simple way.
PDF Form Filler

WeatherMama

Miss when Mom used to remind you to bring your hat?

WeatherMama is a simple service that will send you the forecast via SMS so you'll know to bring that umbrella when you head out the door to work.

WeatherMama utilizes the NOAA's SOAP Web service to grab a 12-hour forecast of temperatures, cloud cover, wind and precipitation.

Head on over, create your profile and have WeatherMama start nagging you today!

Environments module for Drupal

Environments Project Page

We created the Environments module (shortname Envts) to manage a "two-dimensional" site environment for a client site, and then abstracted the code into an API-type module.
Drupal is fairly good at running multi-site builds, with sites folders and different settings.php files. Modules like Domain Access are good at managing those sites one-dimensionally - a single list of hosts with primary (mysite.com), secondary (special.mysite.com), etc, and deep integration with Views and other modules.

But this single list of sites is built for one environment: one set of domains, such as for a live site.