GithubHelp home page GithubHelp logo

18f / 2015-foia-hub Goto Github PK

View Code? Open in Web Editor NEW
48.0 22.0 17.0 7.05 MB

A consolidated FOIA request hub.

License: Other

Shell 0.27% Python 24.52% HTML 10.51% JavaScript 29.37% CSS 35.32%
unmaintained foia

2015-foia-hub's People

Contributors

adborden avatar adelevie avatar cmc333333 avatar dlapiduz avatar gbinal avatar geramirez avatar jackiekazil avatar jmcarp avatar jtag avatar khandelwal avatar konklone avatar phirefly avatar ramirezg avatar shawnbot avatar theresaanna avatar vz3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

2015-foia-hub's Issues

Receiving requests to API

Create an API to receive requests --- post API

  • Accommodate agency specific fields.
  • validations on the serverside
    • if bad info --> Return 400?; & errors, if possible.
  • if success
    • return 201 & unique id

(After this info is published to agency API.)

Finalize data store and framework

This is a place holder for the conversations that we are having, but since it is kind of dependency for everything else, I am turning it into a ticket.

What is stored?

  • Request
  • Response
  • Unique request id
  • ids to other systems
  • status
  • agency contacts
  • ????

FOIA Contact Info Schema

What could a schema look like? How would we ingest it? Where would it live?

SO MANY QUESTIONS THAT MUST BE ANSWERED!

Form revamp, emphasis on partner suggestions

The main thing is:

  • Make the form work for every agency

And for how the form works and is stored:

  • Storing agency-specific fields as a JSON object.
  • Make sure API field requirements are what the form indicates they are.
  • Expedited processing request, in a way that doesn't beg everyone to always turn it on.
  • Requester categories (press, commercial, noncommercial)
  • Classifying an agency (OSTP) as "fee-rare" and having UX optimized for that
  • Earliest date for records, indicate if possible
  • Accommodating non-email contact details, in an unoverwhelming way.
  • Review @jackiekazil's notes for other things that came up talking with partners.

This all needs to be reflected in the intake API, of course.

Parse email address from xls contact files and add to add to the scraped data.

Should be done here in process_agency_csv():
https://github.com/18F/foia-core/blob/master/foia_core/scripts/load_agency_contacts.py

process_agency_csv was written w/ the csvs as priority, but the yaml data was given priority, so feel free to chop this function up. It is not being used at the writing this this ticket.

The goal of this ticket ---
Match the agency slug, match the department slug, then try to match the name.
If you match the name, then add the email to be associated with the name.
Do no match titles, because they do not match.

The main ones that you are looking for are public liaisons and chief foia officers.

Load metadata from Data.gov

Descriptions, names, etc. To blend with any released FOIA data we can get in here, for request-oriented search.

Tests for FOIA request intake API

Along with #38 and #39, we could use some functional tests that hit the API with different requests and validate the responses, so we can refactor with more confidence going forward.

This is also an opportunity to choose the test manager we want to use for the app generally. @khandelwal and @jackiekazil, you would probably know best what the right call is for Django/Python today. FWIW, my personal preference is for lighter-touch, testunit-style libraries that focus on basic assertions, rather than RSpec-style libraries that introduce a meta-infrastructure and DSL, but whatever you want to do, I'm in.

Use an ELB to assure a more static IP

Get an ELB and point it at the main instance, so that our IP will stay more stable over time.

Will also require updates to our bookmarks/links/DNS, but we should do it early on so it's less of a pain. Not so urgent for this sprint, though.

Update install instructions w/ issues identified during coworking setup

  • add clarification on pyenv notes, mac, and ubuntu
  • add example path to the python3 location (ie mkvirtualenv --python=/usr/local/bin/python3 foia-core)
  • add pip to virtualenv & virtualenvwrapper
  • add start postgres instructions to "could not connect to server" instructions.
  • add setting django-admin.py to settings OR switch this command to /.manage.py

Out:

  • move cloning repo down to not interfere with env setup stuff
    B/c you need to clone the repo to install the requirements.

Get FOIAonline data loaded

There are many GB downloaded, in a similar format to State's get it loaded, so that we can start exposing it in our prototype.

Identify what the differences between DOJ agency/dept list & usa.gov list are

Identify why usa.gov has additional entities that DOJ dataset doesn't have
Do we need to include the additions for organizational purposes for routing? What if someone want to route to one of the agencies / departments not included?

Related #7 - Acquire & store a list all government agencies

Fees related, expedited comps

As discussed in our sprint retrospective, I think @vz3 needs to provide some simple comps to help document where the current thinking around fees and the expedited fields is.

Build mechanism to pick up data from Agency FOIA tool

When FOIA request is closed, then core gets notification and closes the case -- actually notification will probably be determined by future research on integration.

  • Status updates core.
  • Triggers closed email: foia-portal#5
  • Grabs pointer to any data docs that were provided in the response.
  • Grabs official response from the agency.
  • ???

Rewrite web scrape of contacts in python -- output yaml

This ticket is for the rewrite of https://github.com/18F/foia/tree/master/contacts

In the process, please adjust the following ---

Where do we keep contact data?

I think previous thinking has been that we will store contact data in Github. Let's consolidate that thinking, and revisit those assumptions again.

Documentation for FOIA request intake API

@khandelwal, hoping you can take a stab at a Markdown doc with documentation for our request intake API, as we talked about last week.

I just laid out the state of things in usdoj/foia.gov#25, and some ideas about what to do next, so this should be done in parallel to updating fields, which I'll add in a separate ticket.

USA Search contact data comparison

Compare current contact data list to USA Search to determine if we currently have the best data model for the hierarchy/contact list.

Another pass at improvements to FOIA request intake API

I opened a discussion thread on our API (to make sure non-gov't people saw it) at usdoj/foia.gov#25, and included some thoughts on next steps. They're not complete, and I'd encourage discussion and additions to be added to that thread.

As an actionable thing, let's group some of the immediate changes I outlined, assuming they're non-objectionable, on this ticket. We're not building to a committed v1 here -- this is another round of improvements to make this feel more like a proper API.

So this includes:

  • Field name changes
  • Ensuring optional and required fields in the API match those as indicated on form
  • Cleaning up response body

Move DNS to staging domain

We have 18f.us set up in Amazon Route 53 in an approved manner, and we can create subdomains very easily.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.