← Back to team overview

gavel-team team mailing list archive

Parliament Module

 

Just wanted to send a quick status update.

A month or two back I did get some communication from the main dev of the
Parliament module. Haven't made any definite decisions. My preference for
Parliament is that it be moved to Launchpad from SourceForge, and the
Parliament project added as a sub-project of Gavel. This way if there are
any bugs in or things we need to add to Parliament, we can do so easily. The
current project owners can keep their project ownership of Parliament, and
continue to work on that.

If they don't want to do that we can cooperate. I could register Parliament
as a project in Launchpad linked to the original SourceForge project. That's
one of the very nice features of Launchpad is that you can use it even if
the original project is hosted elsewhere.

If worst comes to worse we fork Parliament and make it fully part of Gavel.
Hope we don't have to do that. We will just use it straight, and if we
really need to make some changes that force a fork, we will. We probably
don't need to do this.

In the meantime, I suggest to checkout the source of Parliament from the CVS
trunk using cvs. It has some documentation walking through the developers
API of the module. Study this up, see how it'll work, and decide if it's
worth using.

Some other thoughts I've been having are about what sort of database do we
need? We've been assuming we'll be using Django and it's ORM to access SQL
databases. SQL databases are very strict and the first step of producing a
SQL-driven app is mapping out the schema. I'm not sure how well Parliament
will mix with a SQL database. I'll have to play with it some more, and maybe
try to diagram some database schemas.

Another option I was investigating is Apache's CouchDB. CouchDB is a
document database, based entirely around JSON documents and using HTTP REST
to access the data. This is perfect for developing an AJAX application. It's
schema-less, making it much more flexible than a SQL database. Custom views
can be written in JavaScript within the CouchDB server, and I think there
are ways to use Python from within the CouchDB server. CouchDB is based on
HTTP and as such does not require a separate web or application server.

A fascinating feature of CouchDB is that it can replicate itself across
systems. This is intriguing as it would allow creating independent instances
of Gavel, specifically for committees and such.

Just some thoughts. What we really need to do is create a To Do list on the
Wiki (http://gavel.scrapper-site.net/wiki/), make it a big, broad,
everything-but-the-kitchen-sink To Do list. We can translate some of the
items in the To Do list into Launchpad blueprints and bug reports. Once we
decide on the framework we will be using, and have some idea of how we will
be implementing our ideas, we can create the main trunk branch in Launchpad
and get working.

-Josh

-- 
Society loses the value of things which are uselessly destroyed.
--Frederick Bastiat

GCS/B/M d+ s+ a--- C++ UL++ Py+++ L+++ E- W++ w-- M- PS+++ PE+++ Y+>++ PGP+
t+ R tv- b+ DI++ G e h! r! y-