This repository has been archived by the owner. It is now read-only.

Prototype #40

merged 64 commits into from Aug 15, 2014


None yet
2 participants

konklone commented Aug 15, 2014

This pull request merges in the work @vz3 @jackiekazil and I did on a very rough, aspirational prototype of a FOIA request process.

Some things to bear in mind: it does not handle all the requirements one would imagine for a FOIA request system. It is not "designed". In fact, it is laid out (and screengrabbed below) for a mobile phone, so that we can focus on interactions rather than aesthetics and filling space. It also doesn't "work", in the sense that no requests are emailed or otherwise transmitted out of the system (though they are saved).

Functionally, the below is a Jekyll site, using the code in this repository, 18f/foia-hub, and at request-time, talks to a Django API in 18/foia-core. It uses contact data in 18f/foia from an associated Python scraper for Our other repo, a Node app at 18f/foia-search, is not used here.

The home page...

demo-home pretty bare and nothing works! The search box doesn't point to anything, and the blog post snippets are just ripped from OIP's FOIA blog.

Clicking the "Request" tab at the top brings you to an agency selection screen. It is blunt, just an agency name selection, using Twitter's typeahead.js library. It defaults to showing all agencies:


But supports autocomplete:


Only GSA and OSTP work.

There's obviously a lot more to be done there, like matching on keywords, descriptions, and even FOIA response metadata and documents, to get people routed to the right place. Also, these are populated by the ~99 top-level "agencies" as listed on, and it probably makes sense to put some lower-level "offices" with their own strong identity and independent line of work (like the FBI) alongside top-level agencies.

Selecting an agency brings you to a landing page for them, with a basic description of their agency, and some common FOIA requests. This description is taken from existing data, but should really be better optimized for FOIA. The "common requests" section was written by me.


Some basic contact information - name and email, no phone number or address requested. Optionally, we added a couple date fields to help scope the request in a structured way.


The date field pops out a pretty spiffy date picker, using pickadate.js.


We also have a couple of GSA-specific fields on the GSA form, as adapted from their current online form.


Finally, we have a couple form fields around fees. We tried to collapse a somewhat complicated question (can we proceed with any fee-incurring work? if so, how much will you bear?) into one input field. The fee input field syncs with the bolded number automatically.

If the waiver box is checked, a text field appears to fill out.


When a request is submitted, a success message is shown, with a simple auto-incremented (and zero-prefixed) tracking number assigned, along with the agency's contact info. This doesn't actually initiate any emails right now, though the request data is stored in a database.


Some things we're working on next:

konklone added a commit that referenced this pull request Aug 15, 2014

@konklone konklone merged commit c90a7da into master Aug 15, 2014

@konklone konklone deleted the prototype branch Aug 15, 2014

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.