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

Version 1 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

  1. A dashboard
  2. Card components bound to a stream (the backing stream)
  3. 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.
  4. The card component has properties to define the kanban columns in the Kanban Board section.
  5. The card component has properties to define how the board looks in the Style Settings section.
  6. Optionally, the card component has
     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

In the card properties → Kanban Board → Kanban Columns: select the attribute you want to use. 

Using the Example Data on the right, select Status.

In the dashboard, PhixFlow displays 3 columns Not started, In progress and Done, with cards displayed in all the columns.

Kanban Column Headings → optionally select an attribute to provide the headings for the columns, for example if Kanban Columns is an identifier.



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

Attribute is not a useful name

StatusID is the primary key, and it hasattribute, but the headings will use the StatusName.

StatusIDStatusName
01Not started
02In progress
03Done
  1. Add a card component
  2. In the card properties → Kanban Board
    • Kanban Columns → select the attribute you want to use
    • Kanban Column Headings → optionally select an attribute to provide the headings for the columns, for example if Kanban Columns is an identifier.

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.

Showing all possible columns

By default, PhixFlow shows columns for all the attribute values present in the stream. For example in a stream for the tasks in a project, there are records that have a status of: Backlog, In Progress and Done. The kanban board has columns for these 3 statuses, and each column contains cards. The stream has no records with a status of Scheduled or In Review, so these columns are not present on the board. 

If the status of a record changes to Scheduled or In Review, PhixFlow displays the column the next time the Kanban board refreshes. If you have configured drag-and-drop, you cannot drag a card onto a column that is not displayed on the board.

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

  • No labels