Best strategy to add missing data to a set of data that needs to be collected by an operator

Looking for ideas how to achieve the following use-case within the current limitations of the platform.

Use-case: The operator will scan a dynamic electronic barcode which encodes several parameters. For each of the encoded parameters they may or may not be a value assigned. Now, ideally after scanning the operator should get the chance to enter the missing data while the fields for which data has been transmitted should remain locked.

In classic app development I could simply write a component which replaces the input with a display field depending on whether there is some data value present in the incoming data or not. Something like this is currently not possible.

It looks like I am left with a rather complex field-by-field edit step or completely opening up the form entirely - which is not desired.

Can someone still think of a better alternative given the current limitations?

hmm custom widget is the only thing that comes to mind

I see a few different ways to approach this with different pros and cons:

All form fields are inputs, users could conceivably overwrite values

Pros

  • Stupid simple to implement
  • Limits the number of steps needed

Cons

  • Users could overwrite a prepopulated form

Steps for each permutation of the form, but with different fields missing. (one where input 1 is blank, one where 2 is blank, one where 3 is blank…)

Pros

  • Nice user interface
  • No custom widget needed

Cons

  • Lots of steps
  • A pain to make changes to all steps if you want to adjust formatting

Custom widget.

Pros

  • Can be done in a single step
  • Good user interface

Cons

  • Need to develop a custom widget
  • Less support help when you go down the road of custom widgets.

When a field is missing (or multiple fields) users are walked moved to a single data entry step (or many 1 for each datatype) where there is just 1 input field. The label of this field dynamically changes, along with where it is being stored, until all fields are collected. If multiple fields are missing, looping is used to dynamically change input labels.

Pros

  • Not a million steps
  • Scales x1 to x100 with no extra work

Cons

  • User experience is less ideal (can’t see whole form while filling in gaps)
  • Trigger logic is more complicated

If I was making a solution for this-
I would probably either go with the first solution (all inputs) or a custom widget, but I also have a lot of confidence that with the correct process users could be trusted to not overwrite values.

This kinda hits again on the larger topic of widget properties accessible from triggers. If you could, in a trigger, disable an input that would be the best of all worlds. This is one of the biggest initiatives around the trigger editor that I am pushing for right now. If I was the decision maker, V1 of that would be:

  • Enable/disable inputs
  • Set focus on widget.

No timeline to add this functionality, but it is a point of discussion right now.

Keep the gaps coming!
Pete

1 Like

Thank you, Pete for your summary. I will have a closer look at this.

I am in full support for your V1 enhancements!