LocalGov Drupal - Sprint 3 notes

Agile Collective is working with developers and managers at Croydon Council, Brighton & Hove City Council and a growing number of other councils to refactor existing Drupal 8 code and configuration into a more generic Drupal Distribution for UK councils, aptly named LocalGov Drupal. In the spirit of the Local Digital Declaration we are working in the open and publishing our sprint notes as we go. We've just finished sprint 3.

What we've been doing

Progress continues at a good rate and the team continues to grow, with Drupal developer Dan Champion from London Councils joining us mid-sprint. We now have me, Stephen and Ekes from Agile Collective, Andy B and Andy W from Brighton & Hove City Council, Adnan and Chris from Croydon Council and Dan from London Councils. The developers all have other commitments vying for their time, but it is great to have technical input from different organisations and discussions about architectural decisions and approaches. In essence, this is the foundation of the “Technical group” that was outlined at the end of our discovery phase, as the techie side of project governance. At the same time, the “Product group” has also started to come together, with a number of meetings with a wider group of councils to discuss the future roadmap or the product. More on that below.

In terms of practical progress within sprint 3, the key pieces of functionality added in the last sprint are the step by step and the guide content formats. 

Step by step

Taking heavy influence from the gov.uk design system, the step by step navigation pattern was adopted by Brighton & Hove Council and Croydon Council to provide a clear presentation of ordered steps to complete a particular process. Examples of this pattern can be found on the website of both Croydon Council  and Brighton & Hove City Council and is also now available to demonstrate on localgovdrupal.agile.coop where we are reviewing and testing new functionality.

LocalGov Drupal step by step pages
LocalGov Drupal step by step pages

As outlined on gov.uk. this pattern is good for user journeys: 

  • that have a specific start and end point,
  • that require the user to interact with several pieces of guidance or transactions on the website,
  • where it’s helpful for the user to complete tasks in a specific order.

The pattern is less good when the user only needs to read guidance and not take an action or when there’s no logical or helpful order to complete the tasks.

The code for steb by step pages lives in its own repository at https://github.com/localgovdrupal/localgov_step_by_step and is intended to usable without the rest of the distribution.

Guide pages

The guide pages are similar to the step-by-step pages insofar as they consist of an overview page and a number of child pages, but the navigation is presented as a list of links across the top of the content rather than an vertically ordered list. This is considered more useful for collections of content that is related but not necessarily intended to be consumed in order. An example of this on the Croydon Council website is Paying for adult social care. We now have the basic building blocks of guide pages available in the LocalGov Drupal distribution, with previous / next navigation and basic styling provided by the theme. The code for guide pages also lives in its own repository at https://github.com/localgovdrupal/localgov_guides and is again intended to be usable without the rest of the distribution.

LocalGov Drupal Guide Pages
LocalGov Drupal guide pages

Github CI and automating the testing

Writing automated tests for each component allows us to ensure coding standards are consistent and that new code does not break the existing functionality. Developers can run these tests on the local development environment, but they take about 15 mins at the moment, so having them run automatically is a massive time saving. Stephen spent some time this sprint getting the Github continuous integration set up so that all pull requests will run the tests to confirm if all tests pass.

Github continuous integration
Example of Github continuous integration running automatically on pull requests

Product Group

It has also been enlightening to start getting input from a wider range of councils, effectively forming the foundation of the ‘product group’ who will guide the product roadmap and decide on the priority of new features to be developed. We’ve had a couple of meetings with representation from Bracknell Forest Council, Westminster City Council. Kensington and Chelsea Council and London Councils, as well as Croydon and Brighton & Hove. We’ve reviewed how topics are used for tagging content, how step-by-step and guide pages are used at different councils and how basic content publishing workflows should work. We also had a good discussion about ‘campaign’ content types too, used for microsite type functionality with some flexibility on colour and layout and more image rich content. Campaigns is an area we already see requirements diverging between councils, so it will be important to support flexibility in the structure of campaign pages.

Plans for the next sprint

In the next sprint, we’re aiming to: 

  • add the campaign content types and more image rich paragraphs components,
  • improve the admin user experience of adding related links to landing pages,
  • consolidate the topic tagging functionality,
  • continuing work making the base theme more generic.

Keeping in touch

If you want to get involved, or have any questions, please do get in touch! 

Follow the project on Twitter for updates https://twitter.com/localgovdrupal

Get in touch with me directly https://twitter.com/finnlewis or Agile Collective https://twitter.com/agilecollective.

Or jump into the issue queues on Github https://github.com/localgovdrupal/!

Meet the Authors
Back to blog