Forms is a section in Spider Impact that allows you to build forms that add and update dataset records. It’s perfect for supplementing datasets with additional fields that aren’t tracked in the system of record, but it’s also great for collecting and managing data that isn’t stored in any system of record.
Before we get into the details of the Forms section, let’s cover why this functionality is important. There are three types of data that Spider Impact tracks.
- Scorecards (KPIs) are updated on regular basis and are tracked forever. Each KPI has a single value for every period.
- Initiatives have a start date and an end date and usually last around 18 months. They are updated irregularly and have two values (budget and percent complete).
- Datasets track large amounts of unstructured data. Instead of tracking a single value (KPIs) or two values (Initiatives), dataset records can have dozens of values. For example, first name, last name, phone number, etc.
All three types of data can be updated through outside sources like spreadsheets or database connections. They can also be manually updated directly in Spider Impact.
KPIs and Initiatives have very specific data formats, and Spider Impact already has great update forms for them. People can log into Spider Impact and use the built-in forms to quickly update all KPI and Initiative values for the items that they own.
There is, however, no universal form to update dataset values or create new dataset records. That’s because datasets have unstructured data and can have dozens of fields. That’s what the new Forms section is all about. It allows people to build the forms that they need to manually put data into Datasets.
Security and permissions
Forms inherit their permissions and security from the Datasets section. You only have permission to view, add, or modify records in a form if you have permission to do the same thing in the Datasets section. If you only have permission to view some of the records, you’ll only see some of the records in the Forms section.
If you want someone to be able to edit records in a form but not on the Datasets Records tab, however, you can give them permissions to "Modify Individual Records" but not "View Records Tab".
Building forms
Creating Forms and form pages
The Forms section in Spider Impact is in the menu pane on the left.
To create a new form, click the “New Form” button and choose a dataset. Each form is associated with a single dataset, and that’s what you’re choosing right now. In this example we’ll choose the Customers dataset, name the form “Customer Management” and then click the Create button.
Now that our form is created, we’ll add the first page to the form.
We’ll call this page “Customer Details”.
We now have a form for the Customers dataset with one blank page.
Adding form widgets
To add form widgets to a form page, click the “Add Widget” button. You can choose to add one of the following widgets, all of which are explained in detail below.
We’ll choose Single Field widget, and then we’ll start adding widgets for the Customer dataset’s fields.
It looks like this when we’re done.
We’ll also add a button widget.
Arranging form widgets
New form widgets are added at the bottom of the page, but you can drag and drop widgets to reorder them.
Editing form widgets
To edit a widget, just click its Edit button.
This opens the Edit Widget dialog. We’ll change the button text to “Create Customer” and we’ll add an On-Click Action of “Save the current record”.
This is what the button looks like when we’re done.
Widget labels and descriptions
Each type of form widget has different configuration options that are explained in detail below. The two things that are shared by every type of widget, however, are the Label and Description. Both are optional.
This is what labels and descriptions look like on the form.
Note that all URLs in form widget descriptions are automatically turned into links. In this example, we’ve added a link to an external web page in the Status field’s description.
When the form is being used, the link is now styled differently and is clickable.
Forms that create records
Example form
The simplest version of a form is a single page that creates a record. To use a form, click the View tab, which is what shows by default when you first visit the forms section. Notice how the individual form pages that you see on the Edit tab no longer show on the View tab.
We’ll fill out the form with the details for a new customer, and we’ll click the “Create Customer” button. This adds a new dataset record for this customer.
Similarities with Datasets Records tab
Manually added records will stay in your dataset, even after you import new data with “replace all records”. This is the exact same behavior as adding a record on the Datasets Records tab.
The difference with the Datasets Records tab is that you have no control over layout, no way to break data entry into multiple pages, and no way to do logic and advanced data validation. In short, the Dataset Records tab is a simple list of fields, and the Forms section is for building mini-apps to collect data.
All of the user permissions that apply to adding records on the Datasets Records tab also apply to forms. For example, people can only create new records with a form if “Allow manually adding new records” is checked on the dataset’s Edit tab. See the Manually Adding & Updating Records article for more information.
Reasons for adding records
There are two situations when adding records to datasets make sense. The first is when you’re not in control of the system of record that your dataset is built from, but you want to supplement it with additional records.
For example, let’s say your Employees dataset is built from a data connection to your HR software. The HR software doesn’t track unpaid summer interns, but you want to include the intern data with the other employees on your Spider Impact dashboards and reports. In this situation you could create a form to manage the summer interns. It would add additional records to the employees dataset to supplement all of the records that are from the HR system. These new supplementary records would stay around, even after new HR data is imported.
The more common use case for adding records to datasets is when there isn’t a system of record and you’re starting with a blank dataset. For example, maybe you want to send out a survey to customers, or you want to start tracking your company’s computer hardware. In these situations you can create a dataset with no Data Source and manually create fields.
Another option is to choose a Spreadsheet as the Data Source and just not include any records in the spreadsheet.
Forms that edit records
Example form
We’ll add a second page to our form called “List All Customers” and set it as the form’s Starting Page.
On this new blank page we’ll add a Record List widget.
Our Record List widget will have a title of “Choose a Customer to Edit”, and we’re going to choose to show the customer fields of first name, last name, email, and country to identify each record.
We’re also going to have an action button in our Record List widget. Each record will have an “Edit Customer” button that goes to the “Customer Details” page for that record when clicked.
Now when I go to the View tab to use the form, it lists all of the records in the Customer dataset.
When I click the “Edit Customer” button for one of the records, it goes to the Customer Details page for that record.
The Country field is editable, so we’ll change that to “New Test Value” and click Save Customer. The form goes back to the customer list and we can see this new country value.
When we click the Edit Customer button for this record, we can now see that its imported value is being overridden. We can type a different value, or we can click “Undo” to go back to the imported value.
Similarities with Datasets Records tab
If you’re editing a record that came from a data import rather than being manually added, this new value that you entered will stay in the dataset, even after you import new data with “replace all records” later. This is the exact same behavior as editing a record on the Datasets Records tab.
All of the user permissions that apply to editing records on the Datasets Records tab also apply to forms. That means you can only override imported values in a form if that dataset field has “Allow This Field’s Values To Be Overridden” checked on the dataset’s Edit tab. See the Manually Adding & Updating Records article for more information.
Reasons for editing imported records
There are two reasons for editing fields in records that are imported from a system of record. The first is when you’re not in control of the system of record that your dataset is built from, but you want to correct its data.
For example, let’s say your Employees dataset is built from a data connection to your HR software. If you notice that a few of the employees’ departments are either incorrect or missing, the best approach is to fix the data in the system of record, and then the corrected values will show up in Spider Impact. If that isn’t possible for some reason, however, you can override the values in Impact and they’ll stay overridden even after the next import.
The more common use case for editing an imported record, however, is adding supplementary fields that don’t exist in the system of record. For example, let’s say you want to track each employee’s t-shirt size, and that’s not something your HR software does. You can just add a T-Shirt Size field to the Employees dataset and then enter those values using an Employees dataset form.
Forms that create and edit records
Example form
We’ve given examples above of forms that add records and forms that edit records, but forms can also do both. Here we’re adding a “Create New Customer” button to the form’s starting page.
This new button does two things when clicked. First it clears fields and starts a new record. Second, it goes to the customer details page.
We’ll also edit the button that’s on the Customer Details page.
It’s now going to go back to the “List All Customers” page after saving the record. We’ll also change the button’s name to simply “Save Customer” because this page is going to be used to both create and edit customer records.
Now when we go to the View tab, we can choose between two different types of actions. We can click on the “Create New Customer” button, which takes us to the “Customer Details” page to create a new record. Or, we can click on a record’s “Edit Customer” button. This also takes us to the “Customer Details” page, but we’ll be editing the existing record.
Regardless of whether you’re adding or editing a record, the form will go back to the “List All Customers” starting page when we click the “Save Customer” button.
Page display actions
You can choose to run actions whenever a page is first displayed. To do this, click the page's "Page Display Actions" button.
Page display actions are great for setting a widget's initial state or input validation. In this example we're setting the Address field to either Editable or Disabled based on data that has been entered on a different page.