Skip to content
Chris Birk edited this page Nov 18, 2013 · 14 revisions

A brief overview of Madison:

Madison is a collaborative, crowd-sourced document editing platform. It can be used for any type of document, but has been built with the idea of using it to gather input on policy documents on the federal, state, and municipal levels.

The Madison Document Architecture

Right now Madison stores documents in a mysql database that hold the top-level document information in one table, and the content ( line by line ) in another. The document content is also in a tree structure with each line storing the id of the line that contains it ( in an outline-like structure ). The annotations are then attached to the id of the line they target. This makes drafting, storing, and accessing the documents very difficult and Madison cannot handle overly lengthy documents due to the many mysql queries that must be run to identify the document structure.

Where we're going

We need a solution that can work both technically but also for the average individual that will be drafting and collaborating on these documents. The documents need to be stored as whole markdown files, and the annotations should be used as git commits to those files. This allows the documents to be easily drafted, exported, and versioned to track the changes to the documents.

On the annotation side, we will be using Hypothesis to facilitate feedback on the documents.

Clone this wiki locally