- Created by Zoe Baldwin , last modified on Aug 13, 2024
You are viewing an old version of this page. View the current version.
Compare with Current View Version History
« Previous Version 45 Current »
Overview
When creating apps or testing functionality, it is often necessary to create test data. There are a number of ways to do this in PhixFlow. The following methods will be covered:
- Creating an Editable Grid - This method creates a spreadsheet-style screen, that allows you to edit and update data. This method is best when using existing data
- Using External APIs - This method is best for creating large datasets using a third-party data generator (mockeroo.com)
- Using Input/Output Multipliers - This method is best for small datasets, with specific examples. The data can be easily rolled back and reset to its original state. For example, testing the results of a function
If, after making changes, you wish to restore your test data to a previous run or its original form, see Rolling Back Test Data.
Video
Creating an Editable Grid
Use a simple ERD and Screen setup to create an editable grid.
Step 1: Create a table
On an
ERD, either:
Create a new table by dragging
Table from the toolbar onto your ERD canvas
- Add an existing table by clicking
Table on the toolbar, then dragging a table from the
Repository onto your ERD canvas
- Import a CSV file by dragging it from your PC onto your ERD canvas
If you create a new table, PhixFlow automatically adds the following attributes to the table:
Primary Key: UID
Display Name: Name
- If you import a CSV file, add the above UID attribute to your table and set it as the
Primary Key
Add the attributes you require to your table by clicking
Add on the table, and give your attributes appropriate names
- New attributes only require a valid Name and Type
Step 2: Create a Screen
- To create a screen using your ERD data, click
on your table and choose
Create Screen
- On the Create Screen wizard, enter the following:
- Name: give your screen an appropriate name
- Open Maximised: toggle
- Description: give your screen an appropriate description to indicate its purpose
- Template: choose Tile with Buttons, Tile no Buttons or Edit Form
- For this example, Edit Form has been chosen
- Click Create Screen
- The Available Attributes selector will automatically appear
- Click the tickbox next to each attribute, or click the top tickbox to select all of the attributes, and drag them onto your screen
- PhixFlow will ask how you would like the attributes to be displayed, choose
Grid
- PhixFlow will ask if you would like to add actions, choose Yes
- On the Grid Actions wizard, drag Delete Selected Records onto the Delete button on your screen - this is the only button you need
- Close the Grid Actions and Available Attribute wizards
Step 3: Set up the Screen
- Right-click on the grid on your screen and select
Show the View Configuration
- On the
Actions tab, toggle on
Auto Save
- Note: Enabling Auto Save automatically saves any changes made to the data
- Click
Apply and Close
- In the Layers panel, click on the area containing the grid to open its Properties on the right
- Click on the
Styles tab and within the Style Settings section, ensure the Width and Height to
100%
- Click
Apply and Close
- Click
- Click on the Name attribute header on the grid to open the View Attribute Properties on the right
- On the
Styles tab, in the Grid Settings section, untick Read Only
- In PhixFlow version 11 and older, this option is on the
Properties tab
- Click
Apply and Close
- In PhixFlow version 11 and older, this option is on the
- Repeat this step for all of your attribute headers, except UID
- Note: Unticking Read Only will allow you to manually enter information into these columns on your grid
- Then click
Apply and Close
- With Auto Save set up, the screen no longer requires a Save button
- To delete the Save button, click on it on the screen to highlight it in the Layers, right click it in Layers and select
Permanently Delete
Adding a Button
- Open the Palette by clicking
Palette on the toolbar
- Expand the Buttons - Primary section and drag the Add button onto your screen - the screen will highlight the areas where the button should be dropped
- Give your button a name
- Optional: In the Layers panel, expand the area Window CRUD Bar. Then, while holding
shift
, drag and drop your Add button onto either the Left or Right area within the Window CRUD Bar
- Optional: In the Layers panel, expand the area Window CRUD Bar. Then, while holding
Check Point
At this point, your screen should look similar to this:
Step 4: Add New Records via an Actionflow
- Right-click on your new Add button and choose
Add Actionflow
- Give your Actionflow a name
- To configure the input connection, within the Connections section on the left, click on Click to Connect
- Choose the On Click Action Event, then select Connect Input
- Drag a
Calculate action from the toolbar onto the canvas
- Give it a suitable name
- The
Properties for the Calculate action will show on the right
- If these are not open, click the Calculate action to reopen them
- In the Output Attributes section, add a new attribute by selecting
- Give it a name and set the expression to
"new"
- Give it a name and set the expression to
- Drag a
Save action from the toolbar onto the canvas
- Give it a name
- Set the Type to Auto Insert/Update
- On the Table dropdown list, choose the table you made earlier on your ERD
- Connect the out pipe from the Calculate node to the Save node
- Map across your Output Attribute from the Calculate node onto the Save node
- Drag the Input Connection Point onto the Calculate node
- Close the Actionflow and open the screen you created earlier
Lock the screen, then select the Add button
- The Actionflow will fire and a new record will be created on the grid, with a unique ID (UID)
- Double click on the fields to manually enter information
- Repeat these steps of adding a new record and updating the information as many times as required
- Each record will save automatically
Check Point
At this point, your screen should look similar to this:
Using External APIs
Configure an Analysis Model to import data stored outside of PhixFlow using an API.
Create a Multi-Record Table using an API
This example uses the below three elements to create dynamic data. The table in this example will pull across data, as stipulated by the attributes, and this data will change each time the user clicks Run Analysis.
The HTTP Datasource is used to connect to the external source, the HTTP Collector then reads the data, and the Table stores the data in PhixFlow.
For more information on how these three elements work and for a detailed example, see Importing Data Through an API.
- Prepare your API data and ensure it is in JSON format. For this example, we have created a data schema and mock API using https://www.mockaroo.com/mock_apis
- On an
Analysis Model, create a new
HTTP Datasource
- Set up your
HTTP Datasource Properties to look similar to the below settings, and ensure your URL matches your API source
- Hover over your
HTTP Datasource and select
Add a new HTTP Collector on the hover menu
- Set up the
HTTP Collector Properties to look similar to the below settings, and ensure your URL passes in your API key
- Hover over your
HTTP Collector and select
Create New Table
- Set up the
Table Properties to look similar to the below settings, and ensure the
Attributes you wish to display on your view are set up
Run Analysis on your
Table, then
Show view to see your data
Using Input and Output Multipliers
Use a simple table configuration on an Analysis Model.
Create a Multi-Record Table using an Array
This example uses an array to create static data. The table in this example will produce the exact records as stipulated in the Input Multiplier.
- On an
Analysis Model, create a blank Calculate
Table
Within the Table's
Properties tab, add
Attributes to the table, which will act as column headers
- Add the Expression _inputMultiplier, followed by .1, .2, .3, etc. to the relevant attributes
- In the Analysis Options section, in the Input Multiplier box, add an array, like the example here
- Input Multiplier
[ [1,'CHAIR',100], [2,'TABLE',430], [3,'MONITOR',800] ]
Apply and Close the Properties, then
Run Analysis on the table
- Hover over the table and select
Show view
- For this example, the data shows three records, with each record assigned the UID, Item name and Quantity as specified by the Input Multiplier, along with the Last Updated date
- Hover over the table and select
Alternatively, an Output Multiplier can be used to create data. Repeat the steps above, but with the following changes:
- The Expression for all of your attributes must be _outputMultiplier, followed by .1, .2, .3, etc.
- Add the same array as above, but to the Output Multiplier box
- Add 1 in the Input Multiplier box to indicate the number of times the table should run
- No labels