Hello Bubblers !
When deleting things in the database, all the pictures and files are actually kept in the S3 bucket (file storage). The only way to get rid of a file and free space is to use the action “data => Delete uploaded file”. That a nice start but this is not enough as most of the time, we would use “Delete a list of thing”… Then, it seems that there is no way to delete all the binded pictures of files !
This is a big deal as it probably leads to huge “leak of memory” in many Bubbles projects as things a made and deleted… and not the files.
Such a function would be great improvement !!!
An ever better approach would be to have the action “launch a custom event for a list of thing”. It would offer a lot of new possibilities to deal with list of things !
4 Likes
Jici
2
For now, you can schedule API Workflow on a list. Set the type of the list to be File. Set the list of file you want to delete
In the backend workflow, you just need to Delete a file
2 Likes
Thank you @Jici for your advice ! API workflow works perfectly. 
Yet, it should be simpler to implement such a basic operation. Hope the ingenious bubble teams will come along with a better solution.
5 Likes
hi, I have gone through this thread because I am trying to do exactly what was asked: delete a list of files through a list using a backend workflow. However I can’t get it to work, here is my set up: the URL of the file to be deleted is contained in the field “Receipt” of the data type “Transaction_data” as shown below:
All transactions that must be deleted (and consequently the URL of the files attached) are added to a Custom State of the type “Transaction_data” which is a list:

Here is the backend WF as I created it:
Here is the call to the Scheduled API in the standard worklow:
however, after I execute the WF, the files are still there in the file manager:
Please what am I missing ?
Thanks for your help !
Cedric
Never mind folks, I have managed to make it work, I had not understood that I should not mark the “list” checkbox in the backend WF. unmarking it, solved the issue.