Feature #8697
Updated by Tom Clegg almost 9 years ago
Implement as a long-running process that polls and then waits {configurable} seconds
When a download job succeeds, create a UserFile record that
* has location == output of download job
* belongs to the appropriate participant
* does not appear on the participant's public profile page
* appears on the participant's "data files" list
* cannot be edited/overwritten by the participant like a regular uploaded file would
Processing job succeeds → update report_content_locator = job output, send email to user, add entry to user log, set participant_notified_at=now() (code goes in Report model)
Any job fails → send email to site admins
h2. Implementation
New UserFile attributes
* <pre>
t.datetime "sent_notification_at"
t.datetime "seen_by_participant_at"
t.datetime "published_at"
t.integer "study_id"
</pre>