Please see attached file: 12496_User_Editable_Fields.pdf
User Editable fields are a feature that applies only to Overwrite Records. Record fields that are set to be editable can be modified by dashboard users in a Record Grid. These changes to the field contents are then written directly to the Record’s table in the Project’s Data DB.
User Editable fields are identified in Studio by setting the Overwrite Record’s desired field’s “Is Editable” property to TRUE.
Note: If an Editable field is added, but not mapped to any source field (whether natural or derived) the editable field will not be included in the database query as it will be flagged as a “Fake” field. Thus, while it is still possible to modify the field contents and have the changes reflected in the underlying database table, these field contents will never be visible on the dashboard due to the field’s unmapped status.
In addition to the editable field settings themselves, the Overwrite Record must also have a designated Key Field which contains a unique row identifier (much like a table’s Primary Key). This ensures that every row in the Record’s table has a unique ID, and can thus be located and updated as required by user edits on the dashboard.
User Editable fields are made accessible to the user via a Record Grid. Once the desired fields are selected for the Grid with the Data Wizard, you must also set the “Allow edit” property for each editable field that you wish to actually be editable in this particular Grid.
If the Record’s designated Key Field is not already included as a displayed column in the Grid, then you must select the “Request data” property for the Key Field series.
This ensures that the Key Field is included in the SELECT query that is used to populate the Grid. The field will not be displayed as long as the “In use” property is not selected. Without the Key Field there is no way of identifying which database table row the user is actually trying to edit. Note that if the Key Field is added to the Grid using the normal Data Wizard, then both the “Request data” and “In use” properties would already be selected.
Record Grids support two “Edit Modes” for Records containing user editable fields: Field, and Record.
The default mode is Field Mode. This means that as soon as any given editable field is modified, the updates are written to the Record’s database table.
The Record Mode allows for multiple field edits per record, before attempting to update that specific database row in the Record’s database table.
This “per-record” updating is controlled by an additional prompt that appears whenever an editable field is modified. The user must “Apply edit” in order to save all the pending edits for that one given record row. Additional edits to fields in other records cannot be initiated until the edits are applied, or the Grid is Reset/Refreshed to cancel any pending edits.
Depending on the desired Data Load scheme for the Overwrite Record, you may have a scenario where records are intentionally overwritten and thus any contents of User Editable fields will be lost.
Instead of directly editing the Record pulled from the source, you could create an intermediate Record that will have the editable field.
- Record1- is created from original data source, and also includes the comment field (but it's not editable) that is joined from Record2.
- Record2 - loads all fields from Record1 and has the comment field as editable. Record2 is exposed to the dashboard.
And we have a strong condition: Record 1 should be loaded before Record2.
Use an additional dashboard View with an additional Record Grid to enter the User Editable values.
- Need to have three Records:
- Record1 – is Record only for the original (non-editable) data from original data source
- Record3 – stores only the editable and key fields
- Record2 – On-Demand Record that joins Record1 and Record3, only used to display data
- Need to create another View that will contain Record Grid to edit Record3 and will use filter from the Record Grid with Record2 (see Step #3).
- Record Grid for Record2 should have settings to pop up the Record3 View using Key Field to filter.