Code sharing pt 2

Oliver Hannan
6 min readJul 29, 2020

A shorter version of this blog will appear on the London Councils intranet

open and closed brackets and an arrow

In the last blog, I talked about code sharing, a lot, but didn’t really show the thing.

Sharing draft/beta/test versions of work is nerve-wracking no matter how many times you’ve done it before. It’s time to get on with that now. No more caveats, other than it’s not finished.

So, what do we actually get?

A hand holding an acorn

That’s the question I expect to hear internally, what do we actually get, what will it look like and what will it do?

The best way to show this is to link to things Brighton and Hove and Croydon Councils have published and the LocalGovDrupal test site.

Services pages

These are the main content type for most councils. London Councils differ here because we also publish a lot of policy content but our highest traffic pages are public-facing services.

Step by step

This takes the user through a process, step by step. That might sound obvious but it borrows heavily from GOV.UK navigation pattern, so it’s been tested rigorously. My experience is making this stuff seem simple is the hard work. It works well for journeys that have a specific start and end, require the user to interact with several pieces of guidance or they might need to complete tasks in a specific order. Very useful.


These pages are a way of presenting “Find out how to…” type content. The navigation is presented as a list of links across the top of the content rather than a vertically ordered list like the step by step content. It differs from the step by step pages because the user journey can be picked up at any point. Also very useful.

  • Guides — Rubbish and waste on Croydon’s live site

Campaign pages

These are richer in information, intended to include images, videos. These pages could be used for time-limited campaigns, content that influences behaviour change, or to promote initiatives. They have dedicated navigation and function differently from services pages. London Councils will probably need something slightly different here and most councils will likely want to make their own changes. There is flexibility built in to accommodate that.

Service status

Updating the public on the status of services is vital for councils. Accordingly, there’s been quite a lot of thinking put into this chunk of work. The Service status page grew out of the need to convey what was happening with service availability, quickly and efficiently, during the pandemic. I talked about the alerts in my last blog.

In development

  • News — media areas are crucial for councils.
  • Directories — a directory of services with maps.

All of the code will also be backed by a base theme (the styles of pages), workflow (checking content before publishing — in development), admin interfaces for content editors, and documentation.

This is all modular, meaning anyone using Drupal can pick and choose what they want or need. That could be as little or as much as they decide to go with.

This August we will start considering the LocalGovDrupal as a Beta and get some useful content uploaded that illustrates how it will work.

A sticker

We also got this mission sticker. This is for the Discovery and we will need to do one for Alpha. Although, my copies were sent to my office days before lockdown and I haven’t been able to pick them up to stick them anywhere interesting.

Local Gove Drupal — mission patch. The Drupal logo wearing a pink cowboy hat and “Sharing is caring”

What we’ve learned / what has been good

There are two groups sharing the work between the seven councils currently collaborating: a Technical group and a Product group.

The Product team work to refine the Technical team’s outputs, collaborating relentlessly throughout. The web team at London Councils have learned new ways of working. The work we’ve done as part of the code-sharing project has been delivered, in my opinion, in an Agile way. I’m guessing my previous experience with Agile methodology has been similar to many in local government. Working a tightly predefined path in two-week time boxes and calling them sprints.

This code sharing experience has therefore been eye-opening, we’ve seen the fantastic results experienced Drupal devs can achieve with strong leadership and direction backed by a product team. Will Callaghan from Croydon Council and Finn Lewis from Agile Collective have played a crucial role here, keeping a pretty ferocious pace but managing to involve everyone.

Dan from Champion Internet has commented:

“The project working environment is extremely supportive. My own Drupal 8 skills and knowledge were some way behind what was required to make significant contributions at the start (other than simple fixes), but is rapidly improving thanks to the guidance and patience of Andy Broomfield at Brighton and Hove especially, and having access to the code being produced by the extremely capable guys from Agile Co-op.”

Dan is being modest slightly modest here, the work Champion Internet put in has been outstanding. They were able to find their feet radiply with the banner and more recently they have been putting in accessibility revisions. The latter is universally welcome with most public sectors organisations rushing to meet new government regulations in this area. They have deemed the project so worthwhile for them they have contributed their own time back into the project, matching London Councils’ budget. This is testament to the quality of learning all the project participants are getting, including me. They’ve also told us they’ll be using GitHub much more for other work now and contributing back to the open source community.

What could have been better

From my perspective very little. I wish I’d had more confidence to contribute more openly from day one.

Next steps

For London Councils

We’re essentially getting the foundations of a new website but it still needs to be themed or styled to fit our corporate identity. This is an unusual position because a lot of the investigatory work or discovery normally done under a new site project hasn’t happened. LocalGovDrupal doesn’t fix all of this for us.

  • We’ll investigate and discover the gap between what our current site does and what the new site needs to do. We’ll try to answer questions like: what’s changed since the current site was launched four years ago?
  • We’ll investigate and discover what we need to do to migrate the current site to the new platform.
  • This migration won’t be a straight lift of the current site functionality, some of the LocalGovDrupal components may need changes and we will need new ones.
  • The content needs to be audited for usefulness.
  • We’ll define exactly what we need to do to migrate content and functionality and work with our developers on a plan

For the project

Building on the good work by Croydon and Brighton we’re adding to the Drupal distribution so that it’s flexible enough for use by many councils and easy for all to contribute to.

The project is moving to Beta phase and will be bidding for further support from MHCLG, regardless of that outcome London Councils will be contributing more development time and product help.

The long terms goals are:

  • More councils using the codebase.
  • Research to size the potential market beyond the 65 Drupal councils.
  • Proposed delivery and governance models for the code-sharing club, possibly as a foundation. These are aspirational but given what’s been achieved so far I’d say they’re also realistic.



Oliver Hannan

I write my personal opinions here, not those of my employer. I live and work in London as a product manager.