Digitize your offline data collection. Create your Forms online with Tangerine Editor, conduct them offline with the Tangerine Android App. All results you collect can be exported as a CSV file, easy for processing in a spreadsheet. Tangerine has been used in over 1 million assessments and surveys in over 60 countries and in 100 languages.
The Location List widget is useful in scenarios for selecting from a static hierarchy. In many cases, a dynamic list is preferable. We will create a new input widget called "Dynamic List" which can be used to dynamically updating an existing "List". One of the big changes will be renaming "location-list" to "list" or "list-item".
The (eventual) process for creating a dynamic list will be:
The "List" must be defined first on the server UI, including set up of levels and metadata.
Optionally add items to the list in the server UI
The list creator chooses whether the list is dynamic (or not)
The form editor adds the List to a form and configures it to be dynamic (or not)
During the form response entry:
The list appears with the levels available for selection
The lowest-level is searchable
The lowest-level can take entry of a "new" item, with metadata
Items created on a tablet will sync up to the server
The Editor shows warning if the same list-item appears in the same hierarchy on the lowest-level
Database Updates
There is a significant change required to the way lists are stored to make this possible. Lists are currently stored as a static json doc. This needs to change to be stored as couchdb docs.
Requirements:
Keep the "levels" and "metadata" definitions in the json doc and rename them from "location-list.json" to "list-xyz.json"
Move the "locations" definitions from the json doc into couchdb -- each "location" will be renamed to "list-item"
Use smart doc IDs for the the list docs -- for example: "_id": "list-xzy-<item-id>"
The best solution will not require any indexes in couchdb
Each list item will have a unique id
The list-item label should be in the _id, sanitized and searchable
Sanitized metadata could possibly be searchable as well
Caveats
The default List will be the "location-list.json" and it will not change (for now)
The Location List widget is useful in scenarios for selecting from a static hierarchy. In many cases, a dynamic list is preferable. We will create a new input widget called "Dynamic List" which can be used to dynamically updating an existing "List". One of the big changes will be renaming "location-list" to "list" or "list-item".
The (eventual) process for creating a dynamic list will be:
Database Updates
There is a significant change required to the way lists are stored to make this possible. Lists are currently stored as a static json doc. This needs to change to be stored as couchdb docs.
Requirements:
"_id": "list-xzy-<item-id>"
Caveats