Code sharing

Oliver Hannan
4 min readJul 15, 2020

​This blog was published to the London Councils intranet 15/7/20.

Code sharing — open and closed code brackets

What we have now and why we needed a change

London Councils use Drupal for their external website, intranet and the London Tribunals websites. It’s an open source web publishing platform or content management system (CMS). The open source bit means no single company or organisation own the code, it is openly shared, built, used, and supported by an active and diverse community of developers. Drupal is the most popular open source council CMS, currently used by 65 councils in England.

London Councils have no in-house developers to maintain our Drupal sites. We pay external agencies for support and maintenance to improve the sites and keep them up to date and secure. This works for us to do things when we need.

Within this structure councils are developing upgrades, improvements and new website builds independently from each other at great expense. Reinventing similar work on a single publishing platform that is itself designed to be reusable and open. So, why can’t we build something flexible and share it?

Collaboration

Teams at Croydon and Brighton and Hove councils recognised this problem (sparked by the vision of Will Callaghan at Croydon) and successfully managed to share code. This helped develop Croydon’s front-end Drupal based website reusing Brighton’s code base. The result was Croydon launching a new site in 1/3 time it took Brighton & Hove to do theirs. This time saving has been used as a basis to estimate cost savings.

Potential savings

Based on this 2/3 saving of time, cash savings are estimated at:

  • around £67k on one off projects. Based on a council spending £100k (some expect to spend well over that) on a one-off build for a a new site or redevelopment
  • between £100k and £117k per council on maintenance p/a. Based on a council typically spending between £175K and £200K on maintenance p/a

What have we been doing?

The web team at London Councils have been taking part in a wider code-sharing initiative, now with 7 councils, scaling the good work done by Brighton and Croydon.

Logo: Croydon, Brighton, Bracknell, Westminster, Cumbria, London Councils, Kensington and Chelsea and dxw and Agile Collectiv

It is mainly about teaming up to collaborate on shared challenges and avoid reinventing the wheel. Councils often like to think they are entirely unique but in terms of websites they have a lot in common. Despite all of that, code sharing where all stakeholders are comfortable is tricky. The group have put a lot of work in to make sure everyone is happy while retaining a light touch on governance. There’s a Memorandum of Understanding and the group are keeping things in the spirit of the Local Digital Declaration.

The work has been funded in part by MHCLG as part of the Local Digital Fund, a central government initiative to again address common digital challenges in reusable ways. This has allowed for research help from dxw and technical support from Agile Collective.

Examples of work

The foundations of the work from Croydon and Brighton are built to a very high standard and this makes a massive difference. Here’s what our developers at Champion Internet had to say about that:

“Each feature seems to have been rigorously designed in the broadest sense, in terms of requirements, user interface, and development, and there are frequent references to the Government Digital Service (GDS) standards e.g. alert banners that I’ve been working on are based on this GDS work

Here’s some of the collaboration in action. London Councils have an alert banner in place at the moment. This was originally developed independently at cost to the organisation. A new version developed by the code sharing group builds upon the GDS standards mentioned.

The code-sharing group have then tweaked it to the needs of the 7 councils involved, pooling developer’s time and knowledge. That’s then been tested and refined by web managers and product managers in a continous loop. The banner can be tailored to different events (such as a plague of locusts) with various options and generally offers more flexiblility.

A screenshot:

Screenshot of a website banner that reads “plague of locusts — be alert”

That’s just one example. In the same way the group have rapidly prioritised and worked across standard content types councils use.

What are we getting from this long term?

We’re getting access to solid work that’s been already been heavily researched and tested, making it re-usable and modular and learning a lot along the way. In doing so we’re saving money and contributing to other councils to save money. The work we’re doing goes back into the pot, as part of the code sharing club. London Councils have been contributing web team time and developer time we have within our budget to go toward maintenance of our website.

In short, we’re working towards a new website and back end at a much reduced cost.

The trade-off is our site isn’t being improved in the normal way and much of the work is being done under the bonnet. It’s time now to start sharing more of what has been done. In the next blog I’ll share links to examples.

--

--

Oliver Hannan

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