Open jnolasco opened 7 years ago
What is the rationale for doing this as opposed to the current 'Draft' system that puts untrusted updates in the Shelters Update queue? I like the ability to just send a note about a shelter but I'd rather not create another place for dataentry to have to look for stuff. Could we extend the 'draft' functionality to handle this?
Data entry is about to be overwhelmed with physically calling 500 shelters every day. In about 4-5 days, the situational report as delivered on irmashelters.org (open/closed, what do they need, where to send aid) will become so unreliable that it will be unusable to the average citizen seeking to obtain or render aid.
This is what we experienced two weeks ago for Harvey. It is unlikely the update team will be able reliably get accurate, complete status reports from more than 20-30% of the shelters per day. Reducing friction is the key to winning back some of that 70-80% of shelters for which we'll have literally zero to report.
Customer service ticket generation works largely the same way. Some data entry can clean the tier 2 queue, others can continue to get updates the tier 1 method (calling, scraping facebook, aggregating news reports, etc.).
I understand there are no direct writes to the shelter database.
However, is it possible to generate one model in the db that does have the ability to accept a Read or Write only new records? This allows me to create a simple form on irmashelters.org for submitting plaintext updates from anonymous users, like "this shelter is full" that could be timestamped, and the queue of "citizen updates" can be translated into the Shelter model manually.
Schema looks like this:
[UntrustedUpdates] int id int shelter_id datetime created_date string update_text bool processed? datetime processed_date bool accepted? int admin_id
Would involve creating model, creating API endpoint to read updates by shelterid, write updates to shelterid, and the admin/edit views to mark off untrusted updates when processed.