The Inline Editing App allows users to modify their DataSets in Domo directly from a Card in Domo. App Admins can also configure the targets, sources, levels of access, etc. that users can access in the app.
How to get
Please contact your Account Executive to gain access to the Inline Editing App.
Only Admins can configure the app's internal settings. To add Admins, first create a Domo Group and name it _Inline_Edit_Owners then, add app Admins to this Group.
If the Group does not exist, the app will still run but no users will be able to make changes to it.
These are a few limitations in the current version of the app:
- Regular DataSets are limited to 100,000 rows and/or 500 columns. If you need to use a DataSet larger than that, you need to convert it to an Upsert DataSet first (see instructions on how to set up an Upsert DataSet).
- If a mechanism external to the app is in place and modifies the data in the DataSet (e.g. a DataFlow), the changes written from the app will be overwritten by the mechanism.
- The app checks every few seconds for changes in the DataSet. If multiple people are actively using the app, and one them commits changes, the app will warn the other users about the action and their changes will have to be dropped to continue.
The Inline Editing app can be configured to use any DataSet in Domo. However, when changes are written back to the DataSet, there are two ways of sending the changes:
- In a regular, default DataSet, the app must download the entire DataSet (in sections), apply the changes to the target rows, and re-upload the modified DataSet. This process can potentially take a very long time, depending on the size of the DataSet.
- In an Upsert DataSet, changes are sent only for the rows that were modified, added, or deleted, using the values in they key columns.
These are some basic instructions for how to set up a regular DataSet as an Upsert DataSet with key columns:
- Set your DataSet to Append updating in Domo:
- Navigate to your DataSet in Domo.
- Click on the Settings tab, then click on the Update Mode setting.
- Click Change update settings then choose Append in the dropdown.
- Click Save.
- Define the DataSet's upsert keys:
- Download the Domo CLI tool (Java). You can do so by going to the Admin section of Domo, then selecting Tool Downloads.
- Navigate to and run the .jar file from your terminal or command-line emulator.
- Once the program is running, connect to your Domo instance:
connect -s <domain> -t <access_token>
connect domo.domo.com -t 6fc25303a1ce7ad3a65de5bc9cb6475a84964a0d27f34b0b
- Define key columns for the target DataSet:
define-upsert -i <dataset_id> -c <columns>
define-upsert -i 516afb45-b881-43c7-b5e5-89a7ad01112b -c “Column 1”,”Column 2”
- To check if the command and change was successful, you can run this command:
get-schema -i <dataset_id>
If you run into issues setting up an Upsert DataSet, please contact Domo Consulting or Domo Support.
Page Filters setup
The Inline Editing App provides an in-app way to filter the data. However, the Filters applied to the Domo Dashboard where the Card is placed can also be read and used by the app.
In order for the columns used in the DataSets in the app to be available as Page Filters, these DataSets must be mapped properly. The app allows for up to 30 DataSets (as well as 30 tabs) to exist at the same time.
Whenever a tab is added, the mapping for the tab’s DataSet must be configured again. For example, if the app has two tabs and a third one is added that uses the “Test webform” DataSet, you must map this DataSet to the Card.
- Each DataSet can only be linked to one tab. Once linked, you cannot add a second tab pointing at the same DataSet.
- If you remove a tab, you do not necessarily need to remove the DataSet from the mapping. Doing so, however, will clean up the list of Filters and will keep a cleaner list of mapped DataSets.
Follow these steps to map DataSets to the Card:
Enter Edit Card mode:
Hover over the app’s Card. Two icons on the top right corner should appear.
Click on the Settings icon (wrench icon).
In the dropdown menu, click on Edit Card.
Click on the tab called Datapoint Mappings, located in the bottom left side of the “Edit Card” view. This will reveal the 30 slots for mapping DataSets.
Choose an unused slot (the order does not have to match the tabs) and click on it.
You can click on them to see what their current mapped DataSet is, and choose one to use. When the app is first deployed, all 30 slots point to the same placeholder, empty DataSet. You can safely replace this placeholder DataSet with the one you need.
From this view, you can also use the Clear Data Mapping link to reset the DataSet’s mapping if you have removed the tab that used it.Note: we have noticed that sometimes when a DataSet is changed, the list of Page Filters in the Dashboard where the Card is does not auto-update. In this case, the columns from the newly mapped DataSet are not included. A quick fix is to close the Page Filters bar, reload the page, and open them again. This cannot be controlled by the app. If you are still unable to see the Filters listed, please communicate with your Domo Support point of contact.
When you have chosen a slot, click on the DataSet’s name, on the left side, under Select Dataset and follow the on-screen instructions to select the target DataSet.
After selecting a DataSet, click the Save & Finish button located at the top right corner of the page to save your changes and return to the Card.
By default, the app will automatically use the Page Filters that apply to the active tab to filter the data displayed on the table. However, as an admin, you can use the in-app Settings, under the Filters section, to configure whether the app should use Page Filters and how it should use them. You can follow the on-screen instructions in that section.
Configuring the app
App Admins can configure settings in the app which determine what users can do in it.
Tabs allow users to edit multiple DataSets from the same Card where the app is deployed.
- Add a new tab.
Click the plus (+) icon in the bottom left corner of the app.
If the icon is not present, you are not an Admin and should first be added to the Admins Group.
From the next view, you can search for and select a DataSet to use in the new tab.
After a DataSet is selected on the left side, its details are displayed in the section on the right.
The preview area lists the first few rows in the DataSet.
If a DataSet is already being used in another tab, it cannot be used to create a new one. The Select button is disabled if that is the case.
Click Select to use this DataSet for the new tab.
Write the name for the new tab.
* The tab cannot be created if another tab already has the same name.
The new tab is automatically selected after being created.
Delete a tab.
Click the ellipsis icon to bring up the tab’s options.
Click Delete Tab.
To modify the settings for the current tab, click the Settings button on the top bar:
The next view allows Admins to change all settings for the DataSet. To select a different setting to change, click on each of the items on the left-side section.
Settings cannot be modified if the current user has changes already made on the table for the current tab. You must discard any changes before attempting to modify the tab’s settings.
To save and apply the changes, click the Apply button.
This section allows you to enable or disable the types of changes the users can make in the app:
- Edit cells: allows making changes to existing values in the DataSet.
- Add rows: allows creating of new rows.
- Delete rows: allows marking rows for deletion when changes are written to the DataSet.
- Bulk edit: shows the Bulk Edit button that allows users to modify the values of all the cells under a selected column.
This section lets you select which columns are visible or hidden. Selecting all or none of the columns in the list will display all the columns in the table view.
This list will not show key columns (upsert DataSet) and the columns marked as required. Those columns are always displayed.
Admins can configure each individual non-key column in the DataSet to be editable from the app. Key columns cannot be edited or hidden.
If the DataSet/tab already has changes in any field, marked or added row, you cannot make changes to the column configuration. All changes must first be discarded.
To begin configuring a column, click the ellipsis icon next to the column’s name, and click on Enable column editing.
If enabled, the fields under this column are required. If there are empty cells for required columns:
- Users cannot navigate away from the Page or DataSet.
- Users cannot change the number of rows displayed per page.
- Changes cannot be written to the DataSet.
- Auto-save of temporary changes skips rows with required, empty cells (invalid cells).
Change input type
This allows you to select what type of input box or dropdown will be presented to the users when making changes to a field:
- Validated: The input box will switch according to the field type defined for this column in Domo. e.g. a text-type column shows a simple textbox, a date-type column shows a datepicker, etc.
- Option List: Allows users to select one or more values from a dropdown list, populated using entries from the DataSet or custom entries:
If you need to add a custom option to the list of values, you can type the new value in the Search box. If the value is not present in the list already, the Create button will become available and you can add it to the list.
Enable/Disable column editing
Toggles whether the column is or is not editable. Enabling edit mode also displays the other options in the menu.
After making and applying changes to the column configuration, the settings are saved for all users of the app.
Using the app
To edit a field, simply click in the editable cell to begin, and click away to exit edit mode. Editable columns are marked with a blue triangle, and the font in editable cells changes to a blue color.
To add a row, click the + Add Row button. This will add a new row at the bottom of the table, and scroll to it. All fields in required columns and key columns are required in new rows. Temporary changes are not saved until all these fields have a value, or if the entire new row is empty.
New rows are always displayed at the bottom of the table, on every page.
Columns can be marked to be deleted by clicking the ellipsis button on the row menu and then clicking the Mark for deletion option.
If a row has changes in any field, the entire row can be reset by clicking the ellipsis button on the row menu and then clicking the Reset row changes option.
All cells under a column can be edited at the same time by using the Bulk Edit feature. To begin, click the Bulk Edit button on the top bar.
On the next window, you can select the target column and new values for those columns. After clicking Apply, the app needs to download the entire DataSet in sections and apply the changes to each section. Depending on the size of the DataSet, this can take quite some time. A progress view is displayed to the user while the changes are being applied. Applying a bulk edit does not submit the changes. Writing back to the DataSet must still be done manually.
Use the Discard Changes button to reset all changes, from all pages, in the current DataSet.
Columns can be sorted by clicking the sort icon next to the column’s name.
The first click sorts in ascending order, the second one in descending order, and a third click resets to no sorting for the column. Since multiple columns can be sorted, a number next to the icon indicates the sorting priority.
- Filter: You can filter the rows that are displayed in the table by clicking the filter icon. After applying a filter, only the rows displayed are affected by manual or bulk edit changes. However, if changes have already been made before filtering the data, those changes are maintained and will still be applied when writing back to the DataSet.
- Full screen: Click the full screen icon to toggle between full and normal screen.
- Font Size: Increase or decrease the font size in the table using the controls. The last font size selected is stored locally.
- Save: Since changes made in the table are not directly written back to the DataSet, the app stores them temporarily. Every few seconds, if there are new changes in the table, the app will auto-save those changes. Users can also manually click the Save button to save changes. Users can come back to the app later and continue where they left off.
Writing back changes
Once you are ready to submit the changes and write them back to the DataSet, click the Write to Dataset button on the bottom right corner of the app.
Clicking the button will bring up a summary of the changes to be written back to the DataSet. From this view, click Confirm to begin the process. The app will then send and write the changes. This process can take a while. If the window, browser, or app is closed during this time, the process is interrupted.
If the user does not have permission to write back to the DataSet, the app will display the message “You have no WRITE permissions in this DataSet” and the ability to write to the the DataSet will be disabled.
The app also creates a DataSet in Domo that acts as a change log for all the edits, added rows, and deleted rows submitted through the app.
To find the change log, look for a DataSet in Domo with the name: <dataset_id>_INLINE_CHANGE_LOG
You will notice that the DataSet name also has a hash (a string of characters and numbers) attached to it initially. Once you find the DataSet, you can rename it to any other name, and the app will continue logging changes in it.