18f / 2015-foia-hub Goto Github PK
View Code? Open in Web Editor NEWA consolidated FOIA request hub.
License: Other
A consolidated FOIA request hub.
License: Other
Create an API to receive requests --- post API
(After this info is published to agency API.)
Data folder: (TODO - add the location)
Loader location: (TODO - add loader file location)
Explore usa.gov data, and figure out how to integrate with our contact data.
Create tickets as necessary to make it happen.
usa.gov data: http://www.usa.gov/About/developer-resources/federal-agency-directory/index.shtml
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?
Create a way to cross link ids from different systems that refer to the same request.
What could a schema look like? How would we ingest it? Where would it live?
SO MANY QUESTIONS THAT MUST BE ANSWERED!
Using agency description, keywords, and potentially foia-search data.
Learn more about how information is made available now, inconsistencies in contact info, and discuss what information stakeholders want.
The main thing is:
And for how the form works and is stored:
This all needs to be reflected in the intake API, of course.
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.
Build an endpoint for agency to pull/push FOIA data from core.
What should the end point include?
Set up api on FOIA dev server
Descriptions, names, etc. To blend with any released FOIA data we can get in here, for request-oriented search.
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.
Set up base structure for project -- includes data storage and set up files.
Add a way to agencies to add custom fields by agency -- example -- some agencies have custom fields that they want to add -- this should be at the time of initial set up.
Related: #23
@jackiekazil wants a settings default so that foia-hub. Jackie will you add in details of how database connections, and secrets are handled?
For the routing of requests and contacts -- Identify the diff between quality of data between FOIA.gov site & csv
More info here on the location of the web content & csv: https://github.com/18F/foia/tree/master/contacts
The question for this ticket -- are there differences in lists?
Related #7 - Acquire & store a list all government agencies
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.
Setup foundation for jinja2 templates in Django
Our dev server should reflect the merge, and clear away unused config and app code.
Out:
... so people know what to do this with code
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 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
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.
Research and implement a way to generate randomized tracking numbers.
(p.s. if usa.gov data is integrated, maybe prefix with normalized agency abbreviation. If not, put this in a separate follow up ticket.)
Compare service center & phone data fields in agency data. These are different, but do they have the same information? Do we need both?
When FOIA request is closed, then core gets notification and closes the case -- actually notification will probably be determined by future research on integration.
This ticket is for the rewrite of https://github.com/18F/foia/tree/master/contacts
In the process, please adjust the following ---
I think previous thinking has been that we will store contact data in Github. Let's consolidate that thinking, and revisit those assumptions again.
@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.
... so people know what to do this with code
Figure out how we are handling access / authentication, then implement or create tickets, then implement.
Compare current contact data list to USA Search to determine if we currently have the best data model for the hierarchy/contact list.
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:
We have 18f.us
set up in Amazon Route 53 in an approved manner, and we can create subdomains very easily.
Parse FOIA officer info from xls data file from FOIA.gov. FOIA officer is not in web scrape.
Should we do anything with other titles in the spreadsheet?
Acquire a list all government agencies (& sub agencies) - we are doing to need this. Source - TBD.
One specific use case on the front-end: 18F/2015-foia-design#2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.