The ODI Publishing Platform


Web publishing as if it was 2013


Open Data Institute Tech Team ยท @ukoditech

ODI Tech Team

  • started January 2013
  • mixture of skills
    • data science
    • statistics
    • public data
    • devops
    • engineering
  • building tools for open data
  • showing best practice
  • open culture in code

Our Principles

  • Open By Default
  • Borrow Mercilessly
  • Experiment and Learn
  • Share Everything
  • Be Ourselves

Our Approach

  • Open tools
  • Open workflow
  • Open communication
  • Continuous deployment
  • Infrastructure as code

Our old website

Our old website

  • Built with Drupal
  • Inherited from the early days of the ODI
  • Inflexible (but, sometimes, too flexible)
  • Not built for automation

Our wishlist

  • Content = data
  • Open standards
  • APIs everywhere
  • Flexible - multiple frontends
  • Automatable
  • Workflow-compatible
  • A content platform, NOT a website!

Enter GDS and gov.uk

Gov.uk is:

  • Open source
  • Built in the open
  • Built with Ruby (amongst other languages)
  • The API is the service

Many parts, loosely joined

Signon

Panopticon

Publisher

Content API

Frontend

Many parts, loosely joined

  • Content is managed as editions
  • Content is entered as markdown
    • (Content, not presentation!)
  • Easy to add extra content types and fields
  • Pushed to an API
  • The frontend consumes the API
    • (and so can other frontends)
  • The API is public

Workflow

  • For code: GitHub Flow
    • Branch
    • Code
    • Pull Request
    • Merge
  • For content:
    • Create new edition
    • Edit
    • Review
    • Publish

Workflow

  • Comments attached to changes
  • Reviewers notified automatically
  • Even handles external reviewers

What we did next

Documentation as code

Pushed back improvements

Commits everwhere!

Markdown extensions

Future plans

  • Push back changes
    • Wrap instead of fork
  • Shared templates
  • Moar frontends!
    • Learning
    • Labs / Tech
    • Specific Projects
Stuart Harrison Sam Pikesley James Smith Jeni Tennison

Open Data Institute Tech Team
@ukoditech
info@theodi.org
irc.freenode.net #theodi

ODI

http://theodi.github.io/presentations

ODI Creative Commons