I made a small project with a form that collects data and displays it in a very simple way. The project consists of an index.html file that loads a podatak-paradajz.csv file and displays its contents on the page.
The problem is that when I click an image on my PC, it opens correctly. However, when I click the same image on my Android phone, it doesn’t work. Instead, I get the following error:
Pretty-print {"detail":"Not found."}
I also have another simple project where image opening works perfectly. The main difference is that the working project uses exported GeoJSON data, while the tomato project uses CSV data.
Could the file format (CSV vs. GeoJSON) be related to this issue, or is it likely something else? I’ve already tried several solutions I found online, but none of them fixed the problem.
Am I doing something wrong, or could this be a bug?
Why KobotoolBox doesn’t support .json format for export?
@cra_nk, in a CSV file format every question becomes its own column, including a full text table of all responses. GPS/geopoint data gets split across multiple columns, one with the full coordinate set, plus separate columns for latitude, longitude, altitude, and precision. Here the coordinates aren’t in a GIS-ready structure. You can understand CSV as a good general-purpose format for importing into almost any data management software, but it’s not geospatial-native. While, the GeoJSON file format can be understood as an open standard geospatial data interchange format, best suited for integrating directly with GIS software like ArcGIS.
I created a simple KoboToolbox form with an image upload field and exported the collected data as CSV. I then loaded the CSV data into my own index.html page to display the information to users.
The problem was that the image URLs stored in the CSV/GeoJSON export were only accessible while I was logged in to KoboToolbox. After logging out, the images could not be opened from my HTML page.
The issue was caused by the project sharing settings.
The following options needed to be enabled:
Settings → Sharing
Share publicly by link
Anyone can view this form
Anyone can view submissions made to this form
After enabling these settings, the image URLs became publicly accessible and the images could be loaded correctly from my custom HTML page.
btw. what is the most prefered way in KoboToolBox to access the data from an external place like my index.html which is hosted some hosting company?
Can you perhaps explain your use-case a bit more to get a better understanding.
Please keep in mind that Kobo data collection (actually, Open Data Kit tools in general…) are designed to be usable offline. Hence everything the form needs is typically loaded onto the device (or into the browser cache in the case of Enketo) when you initially fetch the form definition; you only need to be back online to submit back to the server.
I’m an IT engineer and independent researcher focused on applying modern technologies to real-world problems in environmental monitoring, agriculture, industry, and citizen science. My goal is to build practical systems that make data collection simple while creating datasets with long-term educational, scientific, and historical value.
Besides my IT background, I am also a volunteer diver and rescue team member involved in activities related to our local aquatic environment. Being frequently in the field and on the water, I see many opportunities where structured data collection could help teams, local communities, educational institutions, and researchers better understand and protect the environment.
This is one of the reasons why I am exploring KoboToolbox. I am testing it as a field data collection platform for people who are not technical experts but can observe, measure, photograph, and provide valuable information from real-world situations.
My idea is to use KoboToolbox as a data collection layer, while external applications can later process and present the collected data for different purposes — from professional analysis and research to public education and awareness.
For testing purposes, I created a simple HTML-based frontend that reads data exported from KoboToolbox (CSV/GeoJSON) and presents it in a custom way.
My main interest is understanding the best approach for secure and automated data exchange between KoboToolbox and external platforms. I am especially interested in how to protect authentication credentials such as API tokens while allowing public users to access only the intended information.
Thank you again for your explanation about the offline-first approach of KoboToolbox/ODK. This context is very helpful for understanding how to design the integration correctly.