The Indigo Legislation Platform
Greg Kempe
greg@code4sa.org
@longhotsummer
AfricanLII
Code for South Africa
The Indigo Trust
Indigo is an open source web platform for
the consolidation and publication of
legislation.
Make it easier to capture & publish well
structured legislation to facilitate free
access to law.
Change this …
Into this …
To enable this …
… and this …
… and this …
… and everything else we haven’t
dreamt of yet.
The Indigo Platform is an
ENABLER
and not an end goal
APPROACH
Capture
CONTENT
STRUCTURE
METADATA
Automate
PRESENTATION
because it depends on the user, use-case,
language, medium, context, etc.
Hide
AKOMA NTOSO
because no-one wants to write XML
JUICY DETAILS
XML
Grammar + Parser (Ruby)
Text
XSL
Can import
PDF, RTF, Word, XML, Plain Text, …
Standalone REST Application API
Web Editor built on the Application API
Content API with Content Negotiation
/api/za/act/1994/1/eng.xml
/api/za/act/1994/1/eng.json
/api/za/act/1994/1/eng.html
/api/za/act/1994/1/eng/toc.json
/api/za/act/1994/1/eng/chapter/1.html
africanlii.org
openbylaws.org.za
Indigo API, Indigo Editor
Python Django Applications
github.com/Code4SA/indigo
Cobalt
Lightweight Python library for Akoma Ntoso
github.com/Code4SA/cobalt
Slaw
Grammar and parser (Ruby)
github.com/longhotsummer/slaw
Challenges
term and def
schedules
blockList vs point
element refs in remote documents
indigo.code4sa.org
africanlii.org
code4sa.org
www.indigotrust.org.uk
openbylaws.org.za

The Indigo Legislation Platform

Editor's Notes

  • #10 APIs, export, move the state of the art forward.
  • #12 content: actual data Structure: parts, chapters, sections Metadata: critical for doing useful things
  • #13 Phone, print, desktop, ebook, sms, search, etc. Don’t confuse the user Word is presentation. PDF is presentation. Bold is presentation. THIS IS NOT WORD
  • #14 Complex! Legal editors are scarce, don’t make it even more difficult
  • #21 Stripped of presentation – just content, with hints of structure