From La Quadrature du Net
Revision as of 23:00, 10 July 2010 by Pi (talk | contribs) (Roadmap)
Jump to navigationJump to search
Political Memory is a toolbox designed to help you reach members of European Parliament (MEPs), and track their voting records.


  • Pages on this wiki related to Political Memory are based upon a Berkeley DB XML database (BDB XML). Some Perl scripts are run to create this database, to extract informations from this database in order to create wiki pages, or to update this database from updates made on the wiki pages. Hence these wiki pages can be viewed as a frontend to this database. However there is no real time synchronizations between the database and the wiki pages. Updates of the wiki from the database, and conversely, are frequently made in a semi-automatic way. For more information, see

From Stefan P., initiator of the "djangoification":

"Technically, I have chosen Couchdb to store the data. Nevermind the nosql fad, document databases aren't new and imho fit this project very well. The alternative, it seems to me, would involve spending time on database modeling, which tend to be relatively static and/or complex anyway, or to store unstructured data in SQL, which tends to be useless :p

Couchdb has versioning and replication, with some framework for merges and conflict resolutions, which will come in handy to handle updates that can come both from users and from updates in source sites.

We wanted a platform easy to work with for as many people as possible, and so we picked the well-known python based Django framework.

As of right now, I have a simple working system that takes the MEPs part of the memopol 1 wiki-based tool, stores it as JSON in couchdb with minimal structure changes, and lets people see lists of MEPs (by name, country, ...), individual profiles of MEPs, and lets them add moderated comments on those profiles."


You can find the repository at the following address :


Milestone 1

Milestone 1 would be to complete that initial work up to the point of being able to replace memopol 1 - basically including all the current data and views, with the addition of the "add a public position" feature:

  • To have one screen per Member, with all the links to country, group, commissions, etc...
  • To have a simple form "add a public position of this Member" (with text field + source URL field). moderated a posteriori for logged users, a priori for non-logged users.

Milestone 2

After that,

  • an important part is code to import data from official sites, and keeping it up-to-date on our side.
  • A complex search engine
  • visualisation modules


Thinking ahead a bit, in the long run, I think it should be possible to build a web GUI that would let volunteers add new sources by entering URLs, mapping the structure of those pages to the small number of core fields we need to know how to find (think dom inspector or firebug, where hovering on parts of a page adds a colored border). Once the source properly configured, site admins could choose to approve it and make the new data publically visible on the site. Anyway, we'll see - I think this is simpler/easier than it sounds.

<< back to the garage
Political Memory
Picture of this projet
Description Political Memory is a toolbox designed to help reach members of European Parliament (MEPs), and track their voting records.
Leader Gibus
Contributors {{{developers}}}
Project Url
Demo {{{demo}}}
Download {{{download}}}