Hi @Grzesiek2010
Thanks for opening this topic.
I can see the problem of using 'wrapped' hyperlinks for some people.
Would it be logical instead to keep the existing URI to the Drive file and insert an additional column (or vice-versa!) that is simply a plain text value for the filename of the media file (for example, a photo taken with the image widget, 1565778282401.jpg). That way we can identify the file if it is downloaded from Drive and shared in any other way. This would be reasonably consistent with Briefcase, which would export the field as media/1565778282401.jpg (ideally they would be the same format and the same column number in the csv, and the Google Drive link would be at the end, but that's just for my needs!)
At present the media files, when downloaded from Drive, appear to have the full path from the Android device:
_storage_emulated_0_odk_instances_[instance-name]_[filename].jpg
so if they could be uploaded as truncated to just the filename that would facilitate the process of importing to other systems. However, if there are other reasons for keeping the full path, a 'batch convert' of the downloaded files can do that if necessary, so it's merely a suggestion.
This approach would retain the advantages of the existing links, but add functionality without any 'risks' of data corrupting during transfer to other software. Looking at your possible solution:
could perhaps be
<submission action="https://example.com/submission" addPlainMedia=”yes” method="post"/>
or
Add Plain Media Field
in the 'General Settings' if the Server is set to Google Sheets
The first option is going to be more reliable for ensuring all enumerators get it right... It would be unfortunate to get some data submitted without the plain text field if the enumerator changed or didn't set that option (and might break the import?)
In my case, I use QGIS with most of my forms and have existing layers that allow me to view the images as geolocated data points. I also produce reports from QGIS that call the images. These break when I try to import the data from Drive (although I've found a way to manage it with some scripting and changes to my layers, but obviously I need to be online at the time to view the images - not always the case!).
Often I am doing fieldwork in areas where I have no internet connection on my field device and I need to download that data daily to a laptop, so I use Briefcase for that (I might be 3 or 4 days on site sometimes with hundreds of data points, so it's risky to leave the data on a single device). Or a colleague does the same. And so I often end up with two or more incompatible datasets from a single form... Not very efficient.
At the same time, formatting the location fields of geopoints to match Briefcase would be really helpful - QGIS uses two fields to calculate the vector point when importing 'delimited text layers' so I have to use a formula to separate the Drive version of the dataset (lat,long in a single field)... Sorry to introduce other issues into this discussion, but hopefully it helps explain the context.