Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This page explains how to create a kanban board.

Overview

Kanban boards are commonly used to track tasks in projects. They consist of columns that display cards. Each column represents a stage in the process. Each piece of work is represented by a card. To move a card to another column, the board user can:

  • either change a value, such as "status", in a card
  • or drag a card into another column. This automatically updates the "status" value.

In PhixFlow a kanban board consists of:

Sections on this page

  • 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

Example Data

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

Example Data

The backing stream has the attributes:

  • StatusID
  • StatusName
  • Task
  • Assignee

All the records have one of the following statuses:

StatusIDStatusName
01Not started
02In progress
03Done

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"]:

  1. Select the attribute:
    • StatusID to create the kanban columns
    • StatusName to name the kanban columns
  2. Tick Evaluate Kanban Columns as Expression
  3. Enter an expression to always display all 5 statuses: 01, 02, 0304 05 todo-Fiona example expression.
  4. 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.
  • No labels