Closed cmcavoy closed 10 years ago
In general, I think I agree. However, I'm not sure as I understand the same thing by 'transaction id' that you do. Right now, it's possible for the same application to have multiple evaluations, or what I think of as 'transactions'.
In the case of CEM, given that we're trying to avoid any kind of fixed state, we won't have the option for a user to go back and update an application - they'll just have to start again, with a fresh application. However, to generalise the situation, we'll need to know which evaluations have been picked up on, regardless of how many are made for any given application.
So, my understanding of the situation:
Off the top of my head, I don't think this means much needs to change.
ID
(UUID
, or similar).seen
flag.seen
flag in the UI somewhere.yes - agreed - application id is what I'm thinking.
So - next step is clearly ticketing out the things that need to change. Not sure what the gap is between the workflow above and what's current.
Upon further investigation, we need to file tickets to:
<review>
model (which already exists in the database).<review>
model to add a seen
attribute.seen
attribute in the UI.achievement
block of the <submission>
model to handle external IDs (or, potentially, any other meta data).{reviewId: <ID>}
to /api/submissions/:submissionId
.Everything needed for the stateless workflow seems to be in place.
@toolness / @andrewhayward wanted to confirm that the following workflow for CEM could work. If it doesn't work with the current implementation of Aestimia, how much would we need to change? The intent here is to field a CEM site (essentially a CSOL-lite implementation) without having to store any kind of state on the CEM site. We don't have user accounts, so why store any data at all? If the following flow works, then I think we can hit that goal.