Improving Knowledge Management at the World Bank with Drupal


5 min read

We recently upgraded the knowledge management system of the World Bank’s communications team. We had worked with their team two years ago to build the system — then meant to facilitate internal communications and keep everyone informed on basic news — and when it came time to upgrade the site for infrastructure reasons, they decided to also expand the site’s toolset to facilitate organic conversations within and between different groups of users. Here’s what the new version looks like.


When the World Bank first approached us to work on this custom intranet, they had already committed some resources to Drupal and to open source projects in general, and they decided that they wanted to do this project on Drupal as well. We had also worked with them on “several other Drupal-based projects”: (including the first version of their Poverty and Growth blog and their “BuzzMonitor”:, an early proof of concept for an uber-aggregator like “Managing News”:

CommNET — short for Communications Network — is an internal website (you can’t see it outside their firewall) for the World Bank’s communications team, which consists of hundreds of people in dozens of countries around the world. While the team is spread out across the globe, the issues the team works around on a daily basis are the same (and are common to most teams). They need to collaborate on projects, share updates and information, and interact easily with other team members. They also wanted to share certain aspects of their work with hundreds of other World Bank staff.

The first iteration back in 2006 was a pretty straight-forward Drupal 4.7 site. Drupal’s taxonomy system served to make landing pages for each separate team, hub pages for each team made it easy for everyone to see what was happening across the entire network, as well as what was happening in each team. Since timely action is important for communications work and since they host lots of geographically specific events like press conferences and other meetings, the site’s events calendar served as a worldwide team calendar, making it easier for teams to see conflicts between events before they became scheduling headaches. Below is a look at the calendar from a random day (using “Simile’s timeline module”:, and you can read more about how the calendar showed this information in a helpful manner “in this blog post about the timeline module”: Other backbone elements of this first iteration were a blog for discussion of relevant news and a jobs section that was used to help people looking to transfer within the World Bank find new positions.


As you can see, this site started as a basic intranet with a few custom features that the World Bank needed because of it’s unique structure. While the intranet was helpful and was widely adopted (it’s one of the top five most popular sites within the World Bank’s web infrastructure), it was mostly managed from the top down and was used as a simple information distribution channel. A team of three people were constantly gardening the site and pushing out information, but users didn’t have a lot of options for creating their own conversations. With the upgrade, our goal was to change that.

The biggest new addition to the intranet is a feature that allows CommNET users to create ad hoc working groups where people can run their own topic-focused blog, calendar, and collaborative document sharing space. Now any site member can now create a working group with a few clicks of the mouse. For each new group, users instantly have a dedicated blog, calendar, and collaborative book to organize their team around their project. They can also turn each individual feature on or off as needed. Site users can search the directory of groups and easily find other groups they might want to join. Members within a group can easily see listings of all the members in the given group and have their group members’ phone number, mail stop, and email address at their fingertips. We achieved this by leveraging our experience helping other geographically dispersed teams develop online work spaces with “Organic Groups”: and “Spaces”: Here’s a look at what a group blog looks like:


With both group content and site-wide content, it was important to create linkages between the two areas — for instance, when searching content. The CommNET search uses the “Faceted Search”: module, with an extension for “searching within Organic Groups”: If you do a keyword search within an Organic Group, you can easily break your search out of the group, and check the same search across the entire site.

With OG, Spaces, and “Context”:, building this in Drupal again was a natural fit. The Spaces module lets developers create new features made from views, blocks, node types, and more, and makes it very easy for you to choose which group should have which features. End users can easily make a new group that only consists of a collaborative book, or create a group that has several features like a blog, calendar, and book. Features can be turned on and off on the fly even after groups are created. This framework provides an easy path to creating dynamic custom group sites in Drupal, like we did here for CommNET.

With these upgrades, the CommNET team now can distribute information the same way they always have, but their colleagues now can self-organize and create new conversations around timely issues and niche topics. These tools give their large team the tools they need to further close the gap created by geographical boundaries and be more efficient in their work.

What we're doing.