Over a year ago, we took on a major challenge: move an organization, with a long history before the internet was created, into an online presence, with multiple tools for members and administrators alike.
US Servas is member of an international network of organizations under the umbrella of Servas International. The home page of the US Servas site defines the organization succinctly: “Servas is a worldwide cooperative cultural exchange network of travelers and hosts working together to foster peace, goodwill and mutual respect."
US Servas had a website, though one built on an ancient version of Joomla, cobbled together with custom scripts, backed by a database cluttered with bad data. They were reaching the limits of what the old site allowed them to manage and increasingly proved more a hindrance than a help as their organization evolved.
The main goals of the project were:
- Create a new, design that works well on various platforms, from phones to desktop computers that would appeal to both the existing members and attract new people looking to learn about the organization.
- Create a system to make it easier for members to control their accounts, easier for new members to join and easier for staff and volunteers to manage, track and help these members through the processes.
The first goal was relatively easy and a typical process for us with every website we design and build.
With the second goal, we entered uncharted territory.
If you’re not logged in, viewing the new site provides little in the way of understanding the depth and complexity of the web application that runs underneath. It’s a highly interactive site, with e-commerce, social media interaction, geolocation systems/mapping and complex customer relation management tools. All of this compounded with about a dozen different types of users, each with specific requirements and sets of data they need to see as well as sets of data they shouldn’t see.
We had created e-commerce sites, social media sites, sites with geolocation and mapping, sites with customer relationship management tools, sites with complex membership rules and sites with many different kinds of users—but never all at once and never with each system so intimately dependent on the others.
Using Drupal as a base, we already had a powerful platform for managing memberships, building in business rules and presenting sets of data to various groups (types of members, administrators, volunteers, etc.). But designing those systems required many discussions over the policies, procedures and requirements of the organization.
Figuring out how to map their existing business rules to a software solution became an intensive and highly collaborative process with the US Servas team. Many of the nuances of membership were locked away in people’s minds. Everybody knew what to do from years of experience, but the rules had never been fully written down in one place. In order for these rules to be incorporated into software, we had to know how to handle every case and every situation so that the site would always do the right thing. We had to tease these rules out of the staff, one by one, and figure out ways to present them back clearly for verification of correctness by the staff.
Complicating this, some of those policies and procedures were evolving in the moment. Sometimes a new wrinkle or change cascaded throughout the system—causing a multitude of adjustments or even causing us to start over from scratch with some features.
Once we had built the site, we needed to import the membership data from the old site. The database from the old site often held conflicting, inconsistent and sometimes corrupt data. Some of the data required by the new site simply did not exist in the old database at all. A great deal of time and effort was spent in transforming the data: cleaning, filling in missing gaps and restructuring the data to meet the demands of the system we constructed.
We went live with site early this year (2016) and opened the doors to the many thousands of members. This created a third phase of development: discovering what was wrong, what was missed and what could be improved or added. This has been a challenge on a live site, but these issues seem to have mostly been resolved.
This was a difficult but, in the end, highly rewarding project. We learned a tremendous amount about what the Drupal system was capable of. We also learned we owe ourselves some travel time—quite possibly the Servas way!