- A dashboard
- Card components bound to a stream (the backing stream)
- The backing stream has:
- an attribute that has the values you want to show in columns
- records to display as cards
- optionally, any background filter that you want to apply to the records.
- The card component has properties to define
- the kanban columns in the Kanban Board section.
- how the board looks in the Style Settings section.
- actions that run when the user drags a card onto a column.
Fiona-todo some combination of action options - Action Method, Action, Default Action, Drag Type and Drop Target
If a user or process (such as running analysis on a model) updates the backing stream, the next time the kanban board refreshes, PhixFlow automatically moves the cards to the columns that reflect their stage in the process.
How To
All the following start with a dashboard. Add a card component and bind it to a stream todo-fiona how to do this
Simple Kanban Board
A simple kanban board, based on the example data has 3 columns, Not started, In progress
and Done
, with cards displayed in all the columns. PhixFlow automatically:
- displays columns for each value of the selected Kanban Column
- moves cards automatically if a user changes values in the selected Kanban Column.
Select One Attribute for Both Columns and Headings
The backing stream has the attributes:
- Status
- Task
- Assignee
All the records have one of the following statuses:
Not started
In progress
Done
In the card properties → Kanban Board → Kanban Columns: select the attribute you want to use. In this example Status.
In the dashboard, PhixFlow displays 3 columns Not started, In progress
and Done
, with cards displayed in all the columns.
Select Different Attributes for Columns and Headings
The backing stream has the attributes:
- StatusID
- StatusName
- Task
- Assignee
All the records have one of the following statuses:
StatusID | StatusName |
---|---|
01 | Not started |
02 | In progress |
03 | Done |
In the card properties → Kanban Board
- Kanban Columns: select the attribute you want to use. In this example StatusID.
- Kanban Column Headings: select an attribute to provide the headings for the columns. In this example StatusName.
Limitations on a simple kanban board
A simple kanban board does not
- respond if a user tries to drag a card to another column
- display a column when there are no records that have its status. For example, if no record has the Status of
Done
, then the Done column is not displayed.
Kanban Board with Fixed Columns
It can be confusing if your kanban board does not display empty columns. You also need empty columns to be displayed in order to drag cards onto a column that is not displayed on the board.
To always display all possible values of an attribute, even
To hard-code the kanban board to display empty columns, use the card properties → Kanban Board
- Evaluate Kanban Columns as Expression tick so that PhixFlow does not use the Kanban Columns and Kanban Column Heading properties, and to show:
- Kanban Column Expression→ specifies the attribute and its values to represent as columns
- Kanban Column Headings Expression → specifies the headings
.The output values of these expressions must result in an array e.g. ["1", "2", "3"]:
- Select the attribute:
StatusID
to create the kanban columnsStatusName
to name the kanban columns
- Tick Evaluate Kanban Columns as Expression
- Enter an expression to always display all 5 statuses: 01, 02, 03, 04 05 todo-Fiona example expression.
- Specify a different heading for a column using the Kanban Column Headings expression. Kanban column headers as expressions. todo-Fiona Can the user use the Kanban Column Headings instead??
One thing that could be useful in these expressions is that you can use context parameters here. If you do a lookup in a context parameter in an action that opens the Kanban dashboard, then this could be used to create the columns.
To ensure kanban boards are responsive, expressions can only take a subset of functions that work on the client-side; see Responsive Functions.
Columns can change
One limitation on hard-coding the columns using expressions is that, if an additional value is added to the attribute for the column, then you have to change the expression. For PhixFlow to automatically find any new attribute values and to automatically add them to the board, whether or not they have records
Create lookup (??) stream that has an attribute for each of the values that can appear in the stream that backs the board. In the expression, refer to the stream. When you want a new value, for example In Review, add it to the stream. The expression will find the additional option and the kanban board automatically displays the new column.
Kanban column headers as expressions. If using the expressions. The output values of these expressions must result in an array e.g. ["1", "2", "3"]:
One thing that could be useful in these expressions is that you can use context parameters here. If you do a lookup in a context parameter in an action that opens the Kanban dashboard, then this could be used to create the columns.
Add Blocked and In Review
Status changes when card is dragged to another column
Configure a drag-and-drop action on the card so that PhixFlow can change the value in attributes when the user drags a card from one kanban column to another.
To configure drag-and-drop use the _kanban internal variable. For example todo-Fiona check this - I'm not sure what the internal variable is doing that is different from the properties.
- _kanban attribute . "StatusID"
- _kanban headingAttribute . "StatusName"
- _kanban value . "5"
- _kanban headingValue . "Manager"
Temporary excerpt from the internal variable page
value
: The value of the kanban attribute in the target kanban column.attribute
: The kanban attribute name of the card container.heading
Value
: The value of the kanban heading attribute in the kanban column.heading
Attribute
: The kanban heading attribute name of the card container.