Contents |
Notes for the Open311 GeoReport v2 Community Summit
September 30, 2011 2:00-4:30pm
Original notes taken at: http://etherplans.org/open311-2011-09-30
Current spec: http://wiki.open311.org/GeoReport_v2
Meeting Details: https://docs.google.com/document/pub?id=1hbsPwQHNrxGqTgZHTGQgujqoFNQD5pDQt52KvhigibQ
10 mins: Introductions
10 mins: Open311 current state and roadmap
10 mins: Review list of GeoReport issues
70 mins: GeoReport enhancement discussion
20 mins: Follow-up & next steps
eg http://developer.open311.org/ticket/33
#33 Define Media Handling (eg multipart post) + PFA, AN, PW
#35 Define Comment Handling, + PFA, Kam, AN
#37 Define Update Request (eg to update status and status_notes) + PFA, Kam
#55 Clarify error handling, + PFA, Kam, AN, PW
#51 Add full update history as part of Get Service Requests + PFA, Kam
#56 Allow for subscribing or callbacks on future events (eg PuSH) + Kam
#28 Add updated_datetime as parameter to GET Service Requests
#52 Add page and page_size parameters to GET Service Requests +AN
#39 Add option to load all Service Definitions in a call to Get Services
#26 Add lat/long as a request parameter for GET Services + Kam, PW
#29 Rename address to address_string in Get Service Requests +PW
#31 Add location accuracy for coordinates on Post Service Request
#38 Add compass heading to improve location accuracy
#32 Add device make and model for debugging Post Service Request submissions
#54 Provide an authentication mechanism +AN, Btown
#53 Support multiple languages and robust internationalization, +PFA, Kam, PW, Btown
These have been added to the tracker since the call or still need to be added (if they're listed as #00)
#60 Require JSON +Kam
#61 Namespacing & extensibility +AN
#62 Clarify that service_request_id does not have to be an integer +PW
#63 JSONP Cross Domain handling +KL
00 General community management and improvements to documentation and tools (eg iodocs, validator), +PFA, Kam
00 Clarify API key handling +AN
00 Optional/Required fields in the base spec (not the custom field extensions) +AN
00 Add secondary questions to Request object
00 Field length limits / Regular Expression rules +AN
00 CAPTCHA-equivalent (NYC wants for data quality, flood attack prevention) +AN
00 Non-spatial SRs +PFA, +AN
00 List of Permissions in Service Discovery
00 Conditional fields, +AN
00 Additional data in response to SR submit +AN
00 Distinguishing Identity of OPEN311 Server (Logo.url, color, bgcolor, etc) +BTown
00 Index of Deployments / Geodatabase of Deployments +Btown
Seem really simple and/or could be easy optional standards we just need to pick a standard.
I'm going to interpret this as meaning these are some issues that Kam thinks could/should be addressed for v2.1 -phil
63 JSONP Cross Domain handling
62 Clarify that service_request_id does not have to be an integer
#28 Add updated_datetime as parameter to GET Service Requests
#52 Add page and page_size parameters to GET Service Requests
#31 Add location accuracy for coordinates on Post Service Request
#33 Define Media Handling (eg multipart post)
#51 Add full update history as part of Get Service Requests
#39 Add option to load all Service Definitions in a call to Get Services
#26 Add lat/long as a request parameter for GET Services
2 conditions: 1) eg in Alexandria, some services are expare exposed based on credentials (permissions to access certain services). in NYC we want to limit the ability to retrieve status to certain people. Peter Watkins - privacy and convenience. Privacy,e g 211. Convenience to view just your own requests.
API Keys aren't user specific, more app specific.
identification vs authentication. Authentication helps ensure identification. Not all of this data is public, eg couldn't all be called through FOIA, so there are real privacy needs
authentication for back-end updates.
Security - how do you prevent a lot of submissions of fake/bad/malicious data. Authentication not a hard requirement for this, but would help.
From SCF - no authentication is required, anything can be submitted. It has been abused before, but we've handled with rate limiting and other filtering on server side to process those.
Protection against more aggressive things like anonymous, aggressive governments? Authentication would require accounts, use something like a CAPTCHA to get account.
Mark: CAPTCHA prevents other modalities, eg SMS
Andrew: NYC does currently accept anonymous requests, but uses a CAPTCHA for web, but accepts all via SMS, phone. Data quality is main concern. Also concern of being flooded with requests.
Peter: device_id can be used as identifier. If not authenticated for SR, get routed to URL with more information.
balance between access and security
conflation of preventing attacks and identities
they are separate issues, but authentication might help control both.
Kam: balance between human interaction and machine to machine interaction
Andrew: other specs that can help inform this?
Dave: This is from very IT perspective, goal is to ease customer service. Balance between excessive security and ease and quality of service.
How are things currently limited/authenticated in NYC? Could spin up lots of virtual phone lines and flood NYC 311 with calls/sms.
Yes, it's a balance of convenience and security
Andrew: like idea of token, rate limit the token.
Peter: cities with authentication use cases work together and propose solution
propose approaches for various security environments, eg WS sec
Mark:
Peter: API keys are used for lots of users, want to be able to pinpoint specific users. Table this specific discussion.
Andrew Nicklin: Namespacing within the spec, eg this is done in XML, not sure about JSON. Could create a specific namespace for extensions that factor in these issues.
Kam: has to jump off, recognizes need for security. Urge us to use existing standards that are proven secure rather than just trying to do something that isn't particularly effective and complicates the spec. Low hanging fruit to priortize, eg JSONP
The version numbers are just sketched out proposals and have not been fully discussed, this was just an attempt to outline what part of the roadmap certain features or issues might fit into. These have been slightly reordered from the original notes so that the version number groups were in order