Throw InvalidFragment when failing to write data
Removed unneccessary cast
We're now saving the fragment source in a file

This file is uploaded to the DocumentService and the resulting url is
stored in custom-attribute-3 (configured in ephorte.properties).