Closed markboots closed 6 years ago
I don't think this is important, but I'd go w/option 2
Discussed today on call (2018-03-01):
Proposal: because session IDs are (almost universally) common, make these a new first-order column in the spec.
Question: Should they be required, or can a platform send NULL for a session_id if it doesn't have that concept?
-- Hypothesis A: null is OK if you don't have a session-like concept... Ona will fill it in with e.g. the row ID, which will not be that helpful as every response will be seen as a separate submission -- Hypothesis B: Avoid this because the data aggregator is changing the submitted data. Leave it up to the client to generate
On call, leaning to the proposal with Hypothesis A, as it would work with flexibility for the most systems. However, we are optimizing for allowing no session IDs, and can't think of any application without session IDs. This seems funny.
@nditada , any thoughts?
Location of added column: insert after Column 3:
Recapping our final decision from the group calls:
Lots of systems track the concept of a session with the Contact. It could be useful to have a common way of recording which Responses are associated with a session.
From @ggiraldez on https://github.com/FLOIP/flow-results/pull/2 :
Some options we discussed on the call today:
Option 1: add additional new (optional) column for session_id (column 7). Pro: Avoids lots of repeated
session_id
text on each row.Option 2: allow putting
session_id: 2384728374
into the response metadata column JSON. Pro: Most minor change. Con: doesn't fit our current definition of response metadata, which is standardized data related to the Question type.Option 3: Add additional
extension
column for an extra JSON blob of whatever systems want to put there. (Required column, can benull
or{}
if not needed). Includes whatever extensions vendor platforms want to include. One of these could be asession_id
. Pro: Most extensible solution; handles future request for a platform-specific place to store random things. Question: do we have a standardized list of optional parameters (such assession_id
), and require using anX-
prefix for platform-specific parameters outside the standardized list?I could live with all of these, as could the group on the call today. @ewheeler picked option 3 for us from his 3-sided coin. @nicpottier , @ukanga , do you have any suggestions?