xiao8579 / QuickCapture-Testing

Repo for feedback and issues during QuickCapture testing events.
0 stars 0 forks source link

Project user input improvements #72

Open xiao8579 opened 2 years ago

xiao8579 commented 2 years ago

Description

You can now create a project user input from a field with coded value domains. Code values will become a read-only choice list.

Test

Create project user input from coded value domains

  1. Create a feature layer, or choose an existing feature layer from your content.
  2. Add a new field (type: string) to this layer.
  3. Create list for this new field, add a few coded values, and save. image
  4. Sign in to QuickCapture Designer.
  5. Create a QuickCapture project from this layer.
  6. Click on one of the buttons in the project, on the Data tab, and find the new field.
  7. Create a project user input from this field. image
  8. You can choose to make it a required project user input.
  9. You can create more project user inputs from other fields.
  10. When you're done, save the project.

Test on the mobile app

  1. Sign in to the QuickCapture mobile app.
  2. Download and open the QuickCapture project.
  3. If it's a required project user input, a user dialog will show on project open.
  4. If it's an optional project user input, you can open the project user input from the top of the project buttons.
  5. Verify that the coded values are correctly populated on the dialog.
  6. Select a value from the list, and click Done.
  7. Collect some data with the project, and send.
  8. Verify that submitted data has the correct attributes.

Feedback

  1. Do you see the need to refresh the domain list from the mobile app so it gets the latest values, and why? Please let us know.
  2. Do you see the need to support creating project user input from range domains (i.e. integer field that has range domains), and why? Please let us know.
pjdohertygis commented 2 years ago

I am having issues setting up the domain field as a project user input. I was able to set it up for Waypoint (point) types but not on our Tracklogs (lines). In writing this... now I see this is not a bug. It is a limitation. You cannot take the domains from one layer (waypoints) and apply them to the field of another layer (tracklogs). In this case, I think it will better for us to stick to our current workflow vs moving to domain based project user input.

image image image

pjdohertygis commented 2 years ago

From Josh Hull PA-TF1

"Not sure I remember it being this touchy but I did have an issue when trying to select my team. The page would not slide and I could not get further then the CA teams. "

matt-t-801 commented 2 years ago

I don't understand why there's the option for multiple project user inputs for a single field. It's very possible I'm missing something.

In my testing, I tested with an Animal Species field (domain values of Raccoon, Skunk, Opossum, Squirrel, Coyote). I set a Project User Input, and named it "What species are you tracking?", and that works great. I understand that the purpose of this is so that the field staff can select one feature type of interest (in this case, 1 animal species), and collect data with a single button.

In the designer, I can add a second user input for the same field. The choices are identical. From the mobile app, I'm prompted to answer both questions, from the same list of choices; but the second choice doesn't have any impact. Features are collected using the first user input selection.

Maybe there's some use case where a second user input actually has an impact? I'm not clear what that is. From my short testing it didn't do anything. Further information about this should be well documented with use cases to clear up any confusion.

matt-t-801 commented 2 years ago

I'm wondering if this capability could be expanded to work like subtypes do.

The use case I'm thinking -- Riverside County includes both Riverside and the Coachella Valley, which are 2 very different ecosystems. I'm imagining that someone collecting environmental data for the county would be in the field capturing locations of plant or animal species, and depending on which part of the county they're in, the relevant species list will be completely different.

I'm trying to think how this would work within the app -- if I had a field called Locale, with a coded domain list of Riverside or Coachella Valley, and then a Species field with a domain list of species that is very comprehensive; and then in the designer application, set the user input for Locale like normal. Then for the Species user input, set multiple user inputs, but filter the list of choices from the domain, so that when Riverside is selected, only the relevant species appear in the list, and same for Coachella Valley. (This was my initial thought for why there might be more than one user input available, but when I started working with it, I saw that wasn't the case)

matt-t-801 commented 2 years ago

If I set a user input, and then switch the field to Coded Value or some other choice, the user input doesn't deactivate, and that's not intuitive.

I can see why it's beneficial to not delete the user input that was set up, if the user switches to coded value -- because if the users goes back to Project User Input, then they have to re-add it from scratch.

But it should deactivate if a different choice is selected.

What I find is, I set a Project User Input, with an Animals Species domain list. And then I change the field to Coded Value with the value "Raccoon". When I go to the mobile app, the user input values show up the screen and I select something other than Raccoon. When I collect a point, it's collected as Raccoon. So the pre-defined Coded Value field overrode the user input, which makes sense -- but for the field worker this project input prompt wrongfully shows up and then is ignored by the application. This will create the false belief for the field worker that they're entering certain values when other values are actually being recorded.