Application Configuration File Structure
A complementary description is provided in the user-level documentation. The tool suite stores its configuration and data files on the SDCard in a directory structure rooted at opendatakit. The directories underneath this are application names and provide isolation of data and configuration from one user-defined application to the next. By default, if not specified, the application name is assumed to be default. Underneath this are 4 top-level directories:
/opendatakit/{appName}
/config
/assets -- common shared configuration
app.properties -- application properties
index.html -- HTML home page for Tables (if configured)
/css -- common css files
/fonts -- common font files
/img -- common image files
/js -- common javascript files written by you
/libs -- common 3rd party javascript libraries
... additional directories and files
...
tables.init -- identifies what to process during initialization
/csv/{tableId}[.{qualifier}].csv
/csv/{tableId}/instances/{cleanrowId}/{row-level-attachment-files}
...
/commonDefinitions.js -- shared translations (available in all webkits)
/framework/frameworkDefinitions.js -- Survey template translations
/framework/forms/framework/framework.xlsx -- XLSX framework form
/framework/forms/framework/formDef.json -- created from XLSX
/tables
/{tableId}/definition.csv -- defines the data model of the table
/{tableId}/properties.csv -- properties of the tableId
/{tableId}/forms/{formId}/{formId}.xlsx -- XLSX form
/{tableId}/forms/{formId}/formDef.json -- created from XLSX
... optional additional form definition files
/{tableId}/forms/{formId}/customTheme.css
/{tableId}/forms/{formId}/customStyles.css
/{tableId}/forms/{formId}/customPromptTypes.js
/{tableId}/forms/{formId}/customScreeenTypes.js
/{tableId}/forms/{formId}/{other-files}
... end optional additional form definition files
/{tableId}/html/{optional-html-files}.html
/{tableId}/js/{optional-js-files}.js
... any other directories and files you might want
...
/data - database and file attachments for this application
/system - internally managed javascript files and configuration
/js/odkData.js
/js/odkCommon.js
/tables/js/odkTables.js -- wrapper for odkTables functionality
/survey/js/odkSurvey.js -- wrapper for odkSurvey functionality
... the remaining files are not directly accessed
/lib/... -- 3rd party libraries used by Survey
index.html -- Survey top-level HTML
/js/mock/... -- mock interfaces used in App Designer
/survey/js/... -- Survey javascript
/survey/templates/... -- `ODK-X Survey <https://docs.odk-x.org/survey-using/>`_ handlebars templates
/output - holds logging files, exported data
/permanent - available for device-only content (e.g., map tiles)