Update on hotlinking media files for dashboards

Hi all,

Already some posts were dedicated on hotlinking photos/images for dashboard usage. I am a bit confused. Is there already some progress made on this topic? We are using Superset to show our ODK Central data (downloaded to on a Postgres cloud database and linked to a Superset cloud dashboard). Ideally, we want to show our photos in Superset (using a hotlink instead of downloading all photos). Is there some progress made on this or is this still on the to-do-list? Just to have some clarity. Thanks!

1 Like

Hi @Edmonds,

We still don't have a solution for this but we know it's an important use case!

1 Like

Hi @ktuite,

Thanks for the update! Good to know this is still on the list. Is there a place where I can check progress on all these feature updates?

Thanks for the questions, @Edmonds! https://getodk.org/roadmap is where we publish the work we are actively working on or have a rough sense that we'll get to within the next few months.

For items that are not on the roadmap like media hotlinking, the Ideas category is the source of truth. If an idea is open there, it means we (as the core team) don't consider it out of scope but don't have enough confidence in taking it on within the next year to put it on the roadmap. This thread is what we consider the "landing page" for this functionality.

We try to be consistent about giving updates or closing threads as we learn more but we do sometimes get behind so status checks are welcome. It's always helpful to learn what end goals are, for example publishing to Superset in your case.

Hi @Edmonds ,

It seems we have similar workflows (pulling ODK data into PosthreSQL) and similar need to hotlink images into web dashboards or other tools.
When we adopted central instead of aggregate, I developed PostgreSQL functions to pull data from ODK Central to PostgreSQL and attachments to a given directory.
This directory is readable by a simple web server so we can hotline pictures in our tools alongside the datas they illustrate.

The first version of this set of functions is called "central2pg" and a more recent work makes use of pyODK and il called pl-pyodk

It's not as easy as hotlinking photo stored into central or an S3 bucket but if your confident with PostgreSQL functions it works fine.
Central2pg needs only curl installed on your PostgreSQL server when pl-pyodk needs python. Next efforts will be put on pl-pyodk around entities.

[Edit] this does not answer your question as you'll have to download photos :worried:

Hi @mathieubossaert ,

Thanks for this feedback and your kindness to share your code. Very much appreciated. I considered downloading all photos to for example AWS-S3. However, as the scale of our photo collection is huge, this is far from optimal for us, not only considering the vast number of photos, but also the costs involved to store and retrieve them from AWS-S3. So I think at this point, we will await the development of the hotlink option. Not sure how fast this development will be and when we can expect this feature however, so as a certtain point we have to make a decision.

1 Like

Hi @LN ,

Thanks for clarifying this. Very useful. I will check it.

Kind regards,

Edmond