Development Seed Blog
Geotagging With the Provincial Drilldown Widget
Simple Forms Increase Data Submission Rates
Simple Forms Increase Data Submission Rates
As Eric mentioned in his post last week about the Pandemic Preparedness mapping project, we spent a lot of time limiting the complexity on the data entry side of the site. We needed something clean and easy to use that still ensures that all the needed information is collected from the public health organizations using the form. We spent a good amount time tweaking the data entry forms themselves to try and streamline the data entry process. I pulled together a short screencast to show how a good data entry process can work, specifically looking at the provincial drilldown widget that allows users to easily geotag their content.
Since I'm sure other folks working with large taxonomies are also struggling to make their data entry forms simpler and more user friendly, I wanted to share more detail on how I built this. It's entirely javascript, and though it took a bit of time it works in IE 6 and 7, as well as the more reasonable browsers out there like Firefox and Safari. Aside from normal cross browser testing, we also tested it to make sure it could handle large numbers of terms. I built the initial widget with a set of test data with just a dozen or so terms, and it worked great, but once I imported the full region/country/province list into Drupal, the widget needed to be fully reworked.
In its current state, the widget is fairly tailored to the particular kind of hierarchy that this site needed, but there is some starter code in my sandbox for people that want to try something similar on their own. Please beware that it will most certainly need some modifications to work in other sites.
Week in DC Tech: July 7 Edition
Social Networking, Privacy, and Independent Performing Art This Week in Washington, DC
Social Networking, Privacy, and Independent Performing Art This Week in Washington, DC
After a long holiday weekend filled with the requisite barbecues and fireworks parties, it's time to get back into the swing of things at work. Why not ease into the work week by indulging your hobbies after hours by attending some local tech events? It might even help you avoid the pesky evening thunderstorms that seem to hit just as your leaving the the office.
Here's a look at what's happening in the world of tech in Washington, DC this week. A full listing of tech events is over at DC Tech Events.
Tuesday, July 8
Noon to 1:00 pm
Lunch 2.0: Lunch with other technologists to talk about - what else - technology. It's a great way to escape the office for a midday reprieve with people that get what you do.
Wednesday, July 9
6:00 pm
Word2Web and XSLT_book Module Released
Better Integrating Drupal into Your Existing Editorial Workflow
Better Integrating Drupal into Your Existing Editorial Workflow
Serious content-producing organizations have evolved large-scale, specialized processes for their documents. Often they manage revisions and notes in Microsoft Word, then transfer content to PDF, and print with strict editorial guidelines. In contrast, traditional copy and paste web publishing interrupts the existing system. In the process of rethinking a current client’s web workflow, we took an interest in this problem and devised a new solution: two modules, word2web and xslt_book, which together combine the advantages of Word and the power of Drupal. Here is a screencast showing the two new modules.
The first challenge we encountered was the output of Word’s “Export to HTML...” function - which provides a loose approximation of valid HTML. Word’s output is fortunately valid XML, so we were able to clean proprietary tags from the markup using XSL transformations - XML stylesheets that selectively preserve certain elements and reorganize others. At this stage, we could enable word2web and, instead of copy and pasting into a field, users could upload a Word document to have clean HTML programmatically generated.
However, that was just the beginning. The client’s legacy site presented documents in a manner much like a Book in Drupal, and we initially considered migrating to that content type. However, the management of a book node is actually quite different than the management of this content - translations do not need to be managed by page, but instead revisions of the document should refer to the entire text. Thus we created the a display module for word2web: xslt_book. XSLT_Book uses XSL transformations again to present the simple HTML of word2web in a book-like format, with a nicely formatted table of contents and convenient paging navigation. In addition, xslt_book parses and reformats the footnotes preserved by word2web.
Improving SMS Double Opt-In Process with SMS Framework
Usability, Customization Options, and Data Storage Improvements have been Committed
Usability, Customization Options, and Data Storage Improvements have been Committed
We’ve been improving the usability, customization options, and data storage architecture of the “SMS User module,” (which is included as part of the SMS Framework). The module allows your Drupal site to store mobile information for users that can then be used by other modules. To ensure that a user actually owns a number we use a double opt-in process where a confirmation message is sent to the handset with a four digit code. The user is then asked to enter this code to confirm ownership. Here is a screencast showing how this works.
As you can see, site administrators can now customize the text of the confirmation message using the token module. So if Obama was using Drupal to run his awesome SMS campaign, he could now have a confirmation message look like “Together we can bring change. Confirm your number at [mobile-url] with the code [confirm-code] to get locally targeted messages.”
Here are the two options hooks into the token module:
- [confirm-code] The mobile confirmation code for the user.
- [mobile-url] The URL for the user’s mobile settings page.
Here is a screenshot showing each step so you can see the new work done.
Week in DC Tech: Independence Day Edition
Come Out for a Tech Meetup Before the Long Weekend
Come Out for a Tech Meetup Before the Long Weekend
Fourth of July is fast approaching, but before you kick off the long weekend by heading out to your favorite firework viewing spot, come on out to a tech meetup or two. Here are a few events we're hoping to make it to, and as usual, you can check out all the tech meetups taking place in Washington, DC, here.
Tuesday, July 17:30 - 11:30 pm
HacDC: This group meets weekly to play with technology and see what else they can do with it. If you're an inventor and tinkerer at heart, don't miss this meetup.
Wednesday, July 26:00 - 8:30 pm
A New Organizing Institute Happy Hour: After a day of training activists on ways to rally supporters and use technology in their work, the group is heading out for drinks. The happy hour is open to everyone, so stop by to hear about the strategies they're discussing.
7:00 pm
Pandemic Preparedness: When Data Visualization and Workflow Matter
Mapping on-the-ground public health organizations' capacity to respond to outbreaks
Mapping on-the-ground public health organizations' capacity to respond to outbreaks
We just finished working on the Pandemic Preparedness Capacity Project, a new tool for InterAction and USAID that will be used to help prevent the spread of catastrophic disease outbreaks, especially bird flu. The goal of the site is to both improve both data collection from public health organizations on the ground and improve data visualization for policy makers here in Washington, D.C. We built this dynamic mapping portal on all open source software: the content management system is Drupal and the mapping stack is running on Mapnik, a C++/Python GIS toolkit.
We had a lot of fun working directly with Elizabeth Bellardo at InterAction, along with several other members on her team, to develop a strategy for making data collection, site administration and data presentation all incredibly simple. In addition to the strategy, we also did the site architecture, design, and development (of both Drupal and Mapnik). I want to use this post to show some of the behind-the-scenes details that are only available to the site administrators and the NGOs using the site.




