What high-level problem are you trying to solve?
I would like to be able to set limits on a device for how much space can be used or how long Sent Forms are stored in ODK Collect.
USE CASE: Where enumerators are using their own devices, or an organisation is managing a set of devices remotely (i.e. the Data Manager for an ODK-based Project does not have control over the device). The question encountered is "how will ODK Collect impact on my device?" - the answer is "it's complicated" or "it depends"... but obviously the answer given is usually "hardly at all".
CURRENT: At present it is down to the device user to manually delete Sent forms, or it is possible to configure devices to 'delete after send' - this is generally a binary situation: either having all Sent Forms or none on a device (unless the user of the device is diligent at clearing space and has an idea of which submissions might be important or large). There is also potential conflict between 'Delete after send" and "Edit Sent Forms"...
NEED / WANT: Being able to retain data on devices for a set period or up to a maximum storage limit allows better management of the device storage capacity without intervention from the Data Manager or an organisation's IT department (the latter might not understand the requirements!). It would also give a potential back-up to the back-up when the back-up of ODK Central fails and you need to retrieve the most recent sent forms from device(s) - or edit a sent form to resubmit (if you have that option enabled!). That's a hypothetical, by the way. Not guilty, yet.
Any ideas on how ODK could help you solve it?
A project level setting with ODK Collect for "delete Sent Forms after [editable] days" or "Set storage quota for Sent Forms to [editable] Mb / Gb" - probably not useful to have this as an XLSForms setting.
Potentially a 'Nag' notification could be used to remind someone that they have used (for example) 90% of their storage - this could then allow the device user to manually choose Sent Forms to delete, or ODK could use a buffer to allow data collection to be uninterrupted, but delete a 'batch' of Sent Forms to free up space. I envisage the process running in the background on a daily basis (or other interval) - it could have a notification similar to the Form update, confirming how much space freed / Sent Forms deleted, but that's not necessarily important.
Related to this, knowing how big a Sent Form is, would be useful - to help target the data heavy submissions for deleting... But that's just cake-icing!
Clearly, my own device is well managed and I don't have thousands of submissions on it dating back years or in different projects from different servers. That would be irresponsible... And I'm not running out of storage space. Honestly. ![]()