1. New in Alaveteli: importing & presenting blog posts

    Alaveteli is our platform that anyone can use to run a Freedom of Information site in their own country or jurisdiction.

    We’ve added new functionality that allows Alaveteli sites to highlight blog posts on the homepage, so they’re more visible. In this way, Alaveteli sites can not only help users with the ‘how’ of making an FOI request, but also show, in a very tangible way, the ‘why’  — especially if the posts are highlighting impactful uses of the site.

    Previously, Alaveteli had a basic way to pull in an RSS feed of blog posts. These were only available on the blog page (/blog), which often does a disservice to all the great work that gets written about.

    We wanted to better signpost the blog from other pages in Alaveteli to celebrate great FOI use, and help users understand how a seemingly simple FOI can go on to have an outsized impact.

    When the site runner configures a blog feed, posts are pulled into Alaveteli and cached in the database. This makes them available on the homepage. Here’s what that looks like on WhatDoTheyKnow:

    Latest News and Campaigns screenshot

    They’re also visible in the admin interface via the Tools > Blog Posts menu item.

    Blog posts lists on Alaveteli

    At present only the title, URL and publication date are cached in Alaveteli. These records are intended to be “pointers” to the canonical URL of the article hosted on the external blog service.

    In the admin interface, blog posts can be tagged to indicate their subject matter.

    As FOI requests and authorities can also be tagged, this allows the blog posts to be highlighted in the sidebar of appropriate pages where there’s a matching tag. So, if someone’s browsing requests or visiting an authority that deals with the climate emergency, for example, they’ll be shown relevant blog posts – hopefully making them more visible to people who have already displayed that they have an interest in the topic, and giving those people a bit more contextual knowledge.

    List of FOI request climate action plans on Alaveteli Climate Action plans on Alaveteli's front end Authority - Geraldine Quango Showing where the related blog posts are on Alaveteli

    In future we’d like to make these posts more visible, by importing header images and a short summary, and give the ability to display some posts when there isn’t a direct tag match.

    You can read about the initial design and subsequent conversation and pull requests starting at mysociety/alaveteli#6589.

    Banner image: Patrick Perkins

  2. What you’ll notice on FixMyStreet 3.0

    We recently released version 3.0 of the open source software which FixMyStreet runs on.

    This brings some substantial improvements to the code. The update is available to anyone running a site on the FixMyStreet platform, which includes our own fixmystreet.com; the installations we provide for councils and authorities; and the FixMyStreet instances run by others, in places from Australia to Uruguay.

    If you run a site on the FixMyStreet platform yourself, or are just interested in the technical details, you can read the release notes here.

    Meanwhile, here’s a rundown of the new front-end features you might notice if you’re a user of FixMyStreet.

    Run the site as an app

    FixMyStreet can now be added to phones (and desktops for that matter) as a ‘progressive app’. Here’s what to look for when you visit fixmystreet.com:

    On Chrome for Android:

    Installing FixMyStreet on Chrome on Android

    Access from the bar at the bottom of the screen.

    On iOS:

     

    Share button on iOs

    Click the share icon at the foot of the screen.

    Add to homescreen

    Then select  ‘add to home screen’.

    On Firefox for Android:

    Installing FixMyStreet on Firefox for Android

    Look for the pop up notification or tap the home icon with a plus sign in it in the URL bar.

    Any of these methods will install a version of FixMyStreet that will behave like an app, placing an icon on your desktop, browser start page or home screen.

    This way there is no need to download or update from the app store, and changes to the main website (which are invariably released sooner than on the app) will be immediately available to you.

    Cobrands (for example the councils that use FixMyStreet as part of their own websites, and people running FixMyStreet in their own countries) can provide their own logo and colourscheme as well.

    Mobile browser improvements

    Whether you install the progressive web app or just visit fixmystreet.com on your mobile browser, you may notice some nice new features.

    • If you use the geolocation function (‘use my location’), your position will be displayed on the map:Marker showing user's location on FixMyStreet when viewed on a mobile browser
    • When viewing an area, you can access the filters to narrow the reports displayed down by their status (fixed/open etc) and category:Filter options on FixMyStreet's mobile browser interface
    • If you’re about to report something that looks like a duplicate, you’ll not only be shown the report/s that have already been made, but you’ll also see a small inline map without having to scroll back to the main map to check where they are.
    • The site recognises that when you’re on a mobile, the message about uploading a photo shouldn’t invite you to ‘drag and drop’, but rather to either take a new one or select a photo from your phone.Prompt to add a photo on FMS app
    • If you’ve placed the pin incorrectly, the ‘try again’ process is clearer.

    Sharing reports 

    If a picture paints a thousand words, then your Twitter character count just went stratospheric. Now, when you share a report on places like Twitter or Facebook, if there’s a photo included in the report, that will also be pulled through.

    Previously, the ‘open graph image’ that was shown by default was the same for every report  — which could get a bit boring in aggregate, and certainly missed some of the impact that people might want to share when they’re posting about their own, or others’ reports.

    Tweet showing a picture pulled through from a FixMyStreet report

    Social media isn’t the only place that FixMyStreet reports can be piped to, though — the site also has several RSS capabilities that have been baked in since its early days.

    For those not totally up to speed with RSS and what it can do, we’re now no longer displaying them as raw XML but as a nice simple web page that explains its purpose.

    To see this in action, click ‘Local Alerts’ in the top menu of any page. Here’s a before and after:

    FixMyStreet RSS feeds before and after a design refresh

    What benefits one, benefits all

    Much of this work is thanks to NDI, the National Democratic Institute.

    NDI offer the FixMyStreet codebase as one of their DemTools, installing it in countries around the world as an innovation which empowers citizens to keep their neighbourhoods clean and safe.

    Thanks to this partnership, NDI funded the addition of new features which they had identified as desirable — and which, thanks to the open codebase, will benefit users of every FixMyStreet site worldwide.

    There are some other significant additions in this release, including integration, back end and security improvements, all of which will be of most interest to developers and site admins — so if you’d like to see them, head over to the full write up on the FixMyStreet platform blog.

    Image: Max Fuchs

  3. How to publish local FixMyStreet reports onto your Facebook page

    If you run a Facebook page or group for a local community, you might like to add a FixMyStreet feed. This will publish recent reports, made within the geographic area that you define, as posts on your Facebook page, like this:

    FixMyStreet on a Facebook page

    Adding a FixMyStreet feed to your Facebook page is not difficult, but you do need to be an administrator for the page you want it on.

    Also, it is a multi-step procedure. In other words, you might like to fetch yourself a cup of tea before following along with the instructions below.

    Here’s what to do:

    1. Visit FixMyStreet.com and locate the area you want a feed for

    Does your Facebook page deal with a particular city or town, or an area within that town?

    You’ll probably want to publish the FixMyStreet reports that are made within that area. The wider the area you choose, the more reports you will be publishing, so think carefully about what your followers will actually want to see on your Facebook stream.

    Once you’ve decided, locate that area on FixMyStreet by putting a postcode or place name into the box on the homepage. It doesn’t need to be precise; you just need to locate any spot within the area that you want to cover.

    find area on FixMyStreet

    You’ll be taken to a page showing all recent reports for the surrounding area.

    Local area on FixMyStreet

    Don’t worry if this isn’t the exact area that you want your feed to cover, so long as you’re at a point within that area – we’re going to refine that in the next step.

    You can click and drag the map or zoom in and out if you’re not quite within the area that you want to be.

    2. Create your feed

    At the very foot of the FixMyStreet page, below the list of reports on the left, you’ll see a little icon marked “get updates”. Click on this.

    get updates from FixMyStreet

    You now have the choice of several options. You can get a feed for:

    – All problems reported within 2km, 5km, 10km or 20km, or within a population of roughly 200,000 people

    – All problems reported to your local council

    – All problems reported within the ward of your council

    Choose which option most closely matches the area that your Facebook page deals with, and click the green button marked ‘Give me an RSS feed’.

    Pick your FixMyStreet feed

    3. Grab the URL

    Your feed page will look something like this:

    FixMyStreet RSS feed

    It’s basically just the data from FixMyStreet, with none of the site’s styling or functionality around it. This is what we need Facebook to grab and publish on your page.

    You will need the URL (web address) of this page in a short while – just keep it open while you go through the next steps.

    4. Log into Facebook

    You don’t need to be logged in as the page that you want the feed on; it’s fine just to be logged in as yourself, the administrator of that page.

    5. Connect an RSS action to your Facebook page In order to publish FixMyStreet reports, you’ll be using what’s called an RSS feed – a stream of data that can be picked up and published anywhere else. In this case, the data stream is found on what you saw in step 3: the ‘bare bones’ FixMyStreet page; and the target for publication is your Facebook page.

    Facebook itself does not provide a way to publish RSS feeds, so we’re going to use a service called IFTTT.

    IFTTT stands for ‘If This, Then That”, and it’s a really nifty, free service that basically allows you to say: “Every time [something] happens, do [something else].

    We are going to use it to say “Every time a new post appears in the RSS feed that I specify, publish it to my Facebook page”.

    Here’s what to do.

    a) Sign up for an IFTTT account, if you don’t already have one.

    IFTTT homepage

    b) Click on ‘my recipes’ and then ‘create a recipe’:

    create an IFTTT recipe

    c) Click the word ‘this’:

    ifthis

    d) Search for the word ‘feed’ and then select the orange RSS symbol:

    feed

    e) Click ‘new feed item’:

    new feeditem

    f) Input the URL of your FixMyStreet feed (the one we kept open earlier, in step 3) and click ‘create trigger’:

    input url

    g) We’ve set up the first half of our ‘recipe’—the ‘IF THIS’. You can see it as the orange RSS feed sign in the sentence now.
    So next we’re going to tell the recipe what to do when that feed updates.
    Click the word ‘that’:

    that

    h) Search for Facebook and select ‘Facebook pages’:

    facebook

    IFTTT will take you through the steps of linking with Facebook and choosing which page to publish to. Just make sure you say ‘yes’ to everything.

    i) Choose how you would like updates to display – I think a link post looks most suitable

    This format allows you to add a message to every item it publishes: probably a good idea, because it helps give context to these posts that are going to appear in your Facebook stream.

    FixMyStreet reports are often written in the first person, so if they appear without a title or explanation, they may look as if they are posts from you yourself – take a look at the example at the top of this post and you’ll see what I mean.

    format

    j) Input some text if required, eg “Here’s a new report from x area”:

    fill in

    k) Click ‘create action’ and you’re done. Note that your feed will not start publishing out until the next report is made on FixMyStreet.

    Do let us know in the comments below if you go ahead and install this functionality – plus any tips you might have.

    By the way, you can use this method to publish any RSS feed to your Facebook page, so you could also publish anything from blog posts to YouTube videos, so long as you can find the RSS source, which is usually signaled by that little orange icon: rss

    Footnote

    A user, Alan, has kindly been in touch with this message:

    I connected to Facebook Pages, and assigned a Facebook Page I manage (a trial site). Then, later, I couldn’t figure out how to change to another Facebook Page I manage. After much delving, I found that people can change the Facebook Page to where the feed should go on this page.
    Also of note: I have also had a dabble with zapier.com which seems pretty good at doing the same thing. It offers a range of subscription plans ranging from free.