Why a workflow is needed to update the submitted object? Why don’t we just update the content of the specified attribute using the content of the modified file?
The problem here is that typically an object contains various attributes that derived from the main data file.
In the case of an image, there is typically a thumbnail, attributes containing the pixel size of the image, its color space, etc.
All of these must be updated when the image data is modified.
This is done by the workflow, which runs a process similar to the one executed when new files are uploaded, re-computing all these derived attributes.
These update workflows are always called with the id of the object being updated, passed in the ‘ObjectIds’ property, and the file data passed in the ‘Data’ property.