Alaveteli gets an upgrade

June 12th, 2013

Brass Band Serenade by .sashi

Today, we are using the phrase “Alaveteli upgrade” rather a lot – and not just because it’s such a great tongue-twister. It’s also a notable milestone for our open-source community.

Alaveteli is our software for running Freedom of Information websites. The code can be deployed by people in other countries who wish to set up a site like our original UK one, WhatDoTheyKnow. If you’re a developer who would like to use the platform in your own country, it makes several things easier for you.

Alaveteli will now be using the Rails 3 series – the series we were previously relying on, 2, has become obsolete. One benefit is that we’re fully supported by the core Rails team for security patches. But, more significant to our aim of sharing our software with organisations around the world, it makes Alaveteli easier to use and easier to contribute to. It’s more straightforward to install, dependencies are up-to-date, code is clearer, and there’s good test coverage – all things that will really help developers get their sites up and running without a problem.

Rails cognoscenti will be aware that series 4.0 is imminent – and that we’ve only upgraded to 3.1 when 3.2 is available. We will be upgrading further in due course – it seemed sensible to progress in smaller steps. But meanwhile, we’re happy with this upgrade! The bulk of the work was done by Henare Degan and Matthew Landauer of the Open Australia Foundation, as volunteers – and we are immensely grateful to them. Thanks, guys.

Find the Alaveteli code here – or read our guide to getting started.

This entry is cross-posted from the main mySociety blog.

Image credit: Sashi Manek (cc)

Release 0.9, and a new development roundup

April 24th, 2013

We’ve just released Alaveteli 0.9 – hopefully the last release before we upgrade to Rails 3. The last few months have meant a bunch of behind the scenes upgrades, bugfixes and refactorings to get us to this point – with some highlights being:

  • Alaveteli now has better support for running entirely over SSL – as can be seen at WhatDoTheyKnow and the new Australian Right to Know site.
  • Upgrade to HTML 5
  • Preliminary support for running under ruby 1.9 (full support to come with the Rails 3 upgrade)
  • Better isolation and testing of the mail handling code
  • A more consistent admin user interface using Bootstrap by default
  • Better support for responsive front end themes and sqlite on the back end
  • A clearer and more consistent format for translations

Thanks to everyone who’s contributed!

New for developers: deploying with capistrano, handling mail with Postfix.

November 12th, 2012

It’s been a long time since the last post, but we’ve been busy! We’ve just released Alaveteli 0.6.8. A full list of changes is available on github. For developers, there are a couple of bits of good news – Alaveteli can now be easily deployed using Capistrano, and has support for using Postfix as an MTA, as well as Exim. Both of these features come courtesy of @matthewlandauer and @henaredegan of the Open Australia Foundation, who are getting very close to launching their own Alaveteli-based FOI site.

API update: now you can create and update requests

June 28th, 2012

Version 0.6.1 of the software was recently released with an urgent security update.  Also included in this release was an extension of Alaveteli’s API, which allows developers to write apps that create and update requests on a per-public body basis.  There’s the start of some documentation on the wiki.

New for developers: bundler support

June 21st, 2012

Thanks to lots of hard work from @mckinneyjames, Alaveteli now uses Bundler wherever possible to satisfy its dependencies.

We have a few such dependencies, like recaptcha and rmagick.  Previously we installed these from system packages on Debian.  The advantages of using Bundler are:

  • We can upgrade to newer versions more quickly than Debian packages allow
  • It’s the standard way of packaging software in Rails 3, to which we will migrate in due course (in fact, we will probably skip straight to Rails 4…)
  • It brings the process of getting a working setup in OS X closer to that of building the same thing on a Linux-based system

It’s not utopia — the first run of “bundle install” on a new system will take a very long time, because Xapian has to be compiled from scratch; and we can’t remove our non-rubygems dependencies like gnuplot and memcached.  However, as part of the slow process of moving to a modern Rails setup, this is a major step forward.

New feature: “following” and the “wall”

June 21st, 2012

You’ve always been able to subscribe to email alerts about requests.  However, since WhatDoTheyKnow (the predecessor to Alaveteli) was first conceived, certain well-known websites have become the primary way many of us interact with the internet.  So we decided to use some of their technology.  Instead of subscribing to alerts, you now follow topics.  And when you follow a topic, by default this still means you get email; but you can turn email alerts off, and choose to view updates on a new “wall” area.

Here’s the “Follow” button:

following a topic

…and here’s the “wall”:

the new "wall" in alaveteli

New feature: easier request moderation

June 20th, 2012

WhatDoTheyKnow has been criticised in the past for not doing more to discourage frivolous or abusive requests. The vast majority of requests for information are sensible, but we get a some citizens using the site to vent their anger or frustration at something, and a reasonable number of requests which are not really FOI requests at all, made by people who misunderstand the purpose of the site.

Alaveteli has always supported hiding requests that are unsuitable, but in version 0.6 we’ve added some new functionality that makes the process smoother and faster.

First, we allow any logged in user to report a request for moderation by an administrator. This is important because there’s no way we could support the moderation of requests before they are published on the site:

Requests that have been reported now appear in a worklist on the home page of Alaveteli’s administrative interface:

When a moderator clicks through to the edit page for the request, they are now presented with radio buttons to select a reason why the request should be hidden (if any). A text box appears prefilled with suggested text, and when the moderator hits the “hide request” button, this message is emailed to the requestor notifying them that their message has been hidden:

Let us know if you find this useful, and if you think it needs any more tweaking!

New feature: the new bootstrap admin theme

June 20th, 2012

One of the major new features in the latest release of Alaveteli is a more attractive (and hopefully more usable) admin theme.  Here’s a before-and-after shot of the home page:

The theme was started at AlaveteliCon by @wombleton.  It’s based on Twitter’s Bootstrap framework, a CSS-and-javascript foundation for layout and styling of websites.  It tries to collapse the large amounts of data often found on a single page into smaller chunks that can be scanned more easily.

When I started integrating the new code into the Alaveteli core, I realised that this might be quite a big and potentially unwanted step for users who are used to the old interface.  So I moved all the interface changes into their own theme, which can be installed or uninstalled by changing a line in the configuration file.

The upshot of this is that instead of specifying a single theme in your site’s configuration file, you can now specify a list of themes.  When Alaveteli needs to display a help page, or a template, or a CSS file, it starts by looking in the first theme on the list.  If the resource isn’t there, it works through the other themes in order, until it falls back to the resources provided in Alaveteli itself.  This may be useful if you want to borrow someone else’s theme but just change the logo or colours; or perhaps if you want to temporarily add a banner at the top of your site to make an announcement about a change in FOI laws in your jurisdiction.

In new installations of Alaveteli 0.6, the admin theme is installed by default, but existing installations that want to try the theme out will need to add it to their config file, as per the sample config supplied with Alaveteli.

The new admin theme includes some new functionality that isn’t available in the old theme, and the old theme should be considered deprecated.  You can expect the new admin theme to be merged into the Alaveteli core (and the old theme to disappear) by version 0.7, so if you don’t like the new look, shout out on the mailing list before it’s too late!

Alaveteli 0.6 “fancy admin” released!

June 20th, 2012

Finally Alaveteli 0.6 is out of the door! Grab it from the github master branch and try it out.  The most obvious new feature is a glossy new administrative interface, based on work started at AlaveteliCon by @wombleton.  If you are upgrading, be sure to read the upgrade notes in, and the new section in the install docs about upgrading Alaveteli.  Drop a note to the alaveteli-dev mailing list if you need any help with your upgrade.

A full list of changes is on Github.  Interesting features and bugfixes include:

  • Most Ruby dependencies are now handled by Bundler (thanks @mckinneyjames!)
  • Support for invalidating accelerator cache — this makes it much less likely, when using Varnish, that users will be presented with stale content. Fixes issue #436
  • Adding a GA_CODE to general.yml will cause the relevant Google Analytics code to be added to your rendered pages
  • It is now possible to have more than one theme installed. The behaviour of multiple themes is now layered in the reverse order they’re listed in the config file. See the variable THEME_URLS in general.yml-example for an example.
  • A new, experimental theme for the administrative interface. It’s currently packaged as a standalone theme, but will be merged into the core once it’s been tested and iterated in production a few times. Thanks to @wombleton for kicking this off!
  • Alert subscriptions are now referred to as “following” a request (or group of requests) throughout the UI. When a user “follows” a request, updates regarding that request are posted on a new “wall” page. Now they have a wall, users can opt not to receive alerts by email.
  • New features to support fast post-moderation of bad requests: a button for users to report potentially unsuitable requests, and a form control in the administrative interface that hides a request and sends the user an email explaining why.
  • A bug which prevented locales containing underscores (e.g. en_GB) was fixed (issue #503)
  • Error pages are now presented with styling from themes

There are some blog posts about some of the new features here:

Alavetelicon, or how to give a voice to the people

May 15th, 2012

This guest post by Romina Colman from Argentina is a translation of her original article at La Nacion

Attending the first Alaveteli World Conference reminded me why I am dedicated to promoting access to public information in my country.

At the University of Oxford, where the event was held, I found not just 50 delegates from 33 countries, but a group of people who, like myself, are convinced that only by working together will we bring the Right to Information to light.

In this place I gained an understanding of what Alaveteli is. You can define it as open source software for creating sites that solicit information from the State. But that is the very least of it, and does it a disservice.

Alaveteli is, above all, a community, a group of people willing to get the word out to help citizens improve their quality of life, to understand that Freedom of Information is a right and as such, must be respected.

This is the goal of the team. It’s a difficult task if it’s anything. However, no obstacle seems to stop those who have chosen to take the project forward.

During the first day of the conference, a panel discussed access to public information in different countries. The general conclusion was that much remains to be done: there are still national territories with no FOI law instilled, as in our case, and there are places with long lead times for delivery of a response, a problem most evident in the U.S., for example.

With lunch came a series of flash talks, in which we shared the situation in our countries, but in most cases, the talks ended with “count on us for what we need.”

I was also pleasantly surprised to talk to Tom Steinberg, director of mySociety, the NGO which built Alaveteli, and to find that he was unlike anyone else in the room. Tom is one of those people that it is impossible to ignore: he has the contagious spirit of a student, and a welcome for everybody. He makes it impossible not to get involved, because he has complete belief in what he does. He’ll always listen to criticism and he knows the best way to help people move forward when they hit an obstacle.

All the workshops for activists focused on the need for collaboration, open discussion and teamwork. Monday’s session, by Daniel Silva, one half of the duo behind the Brazilian Alaveteli, highlighted the main problems facing those who wish to promote the project in their countries: the initial resistance of the authorities, and non-response to requests.

Beyond that, in jurisdictions where Alaveteli is already up and running, positive change has been achieved.

In the UK, some public bodies are interested in the possibilities offered by this open source software. No wonder. Alaveteli is not just a technology for transparency, but it also promotes a new type of relationship between the State and the people.

Any technological advance without a body of stakeholders to promote it is doomed to failure before it even begins. Therefore, to develop the initiative, always and without exception, you have to get the public sector behind you.

The very best type of civic leader understands that Alaveteli is not anti-government. On the contrary, it presents a unique opportunity for citizens to talk to them. When public information is in the hands of the people, it contributes to a democracy that is no longer experienced in the abstract – it is felt to be tangible and real.

This is the main challenge for all of us who met in Oxford earlier this week, already feeling like  part of a great community that mySociety had brought together.

Perhaps for this reason, on the last day of the event, a list of all proposed improvements to Alaveteli was put on the wall.

Which got the most votes?
-  A way to generate statistics, with a league table of institutions, showing which bodies are the most, or least, responsive;
- Advice for users where they are given no information, or requests are denied;
- Functionality to allow the use of these sites in countries where FOI requests have to be submitted on paper, rather than by email.

My participation in the conference, without doubt, has changed my understanding of what it means to be an activist, a word which is often loaded with negative meaning.

In my case, being an activist for Freedom of Information means asking the state questions every week, walking, taking the subway, approaching the front desk of an agency to make my request, taking home my sealed copy, sitting and waiting, in some cases receiving a request for an extension… and finally having the answer in my hands.

This is what I call “literally getting access to public information.” Because as an excellent teacher of journalism once said, a journalist’s work is not done from the desk. Neither is the FOI activist’s.

If we want our voices heard, we must cry out, until the echo is so intense that they can not ignore it. Alaveteli does that, and much more: it gives voice to those who did not know they had one. It allows you to ask, not only in order to get an answer, but to show public information can improve the lives of people.

And indeed it does. Only a few people know that everyone has the right to ask about scholarships, neighborhood plans, grants, and many other things. This is where Alaveteli’s power lies.

For all this, it was really hard for me to leave Oxford. Everyone who took part in this first world conference of activists and hackers showed that if one is truly convinced of a project like those that mySociety have instigated, you can achieve. The most important thing is to find a team that believes in this aim, and wants to pursue it.

The rest is secondary. After all, in the Alaveteli community we are a couple of crazy people who want to change access to public information, nothing more and nothing less. A couple of people that nobody can ignore.