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 8 Next »

This page explains how to create a kanban board.

Todo-Anthony - to have a look at this draft

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.

Basic Steps to Creating a Kanban Board

  1. Create a dashboard.
  2. Optionally add a header areas with icons and heading text.
  3. Add an area to act as a container for the board.
  4. Add a card component and bind it to a stream
    • Either, drag a stream onto the area and select Card view.
    • Or drag a card container from a palette (for example Theme 2) onto the screen. In the card properties drag a stream into Basic Settings - Stream.
  5. Save the change.
  6. In the card properties → Kanban Board options, select the attribute to use as status.
    • Simple Kanban Board - link
    • Kanban Board with Fixed Columns - link
  7. To configure how the board looks, use options in the Style Settings section.
  8. To configure an action if the user clicks on the board or drags a card, 
    • Fiona-todo some combination of action options
    • Action Method, Action, Default Action, Drag Type and Drop Target


Does this give me all the columns? does this give me the cards?

The backing stream must have:

  • 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.

todo-Fiona

  • When you edit Sarah's kanban board, all the columns disappear.
  • When I bind the kanban column to data i still only get one column
  • How to I get teh records to appear as cards?

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.

Using the Kanban Board Properties

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

Usually, you want a kanban board to continue to display empty columns, so that you can drag cards onto them. To do this you can specify the columns using expressions. In the card properties → Kanban Board section:

  • tick Evaluate Kanban Columns as Expression.
    PhixFlow shows:
    • Kanban Column Expression→ enter an expression that specifies the attribute and values that you want to uses as columns.
      For example: todo-Fiona check this is true and add Example expression here e.g. 01, 02, 03
    • Kanban Column Headings Expression → enter an expression to specify the column labels. todo-Fiona Can the user use the Kanban Column Headings instead??

Tips for Kanban Expressions

The output values of kanban expressions must result in an array e.g. ["1", "2", "3"]:

You can use context parameters in the expressions. For example, in an action that opens a kanban board, lookup a context parameter to create the columns.Todo-fiona add an example expression

To ensure kanban boards are responsive, expressions can only take the functions that work on the client-side; see Responsive Functions.

Over time, users can add more values, for example statuses for blocked tasks or those in review. When you fix the columns using expressions, the new statuses will not be automatically displayed as columns in the kanban board. You must update the expressions to add them.

To accommodate ongoing changes to the columns for your kanban board, create a separate stream that lists all the statuses.

StatusID
Primary Key
StatusName
Display Name
01Not started
02In progress
03Done
04Blocked
05In review

In the Kanban Column Expression, refer to the stream so that PhixFlow creates a column for each attribute. Todo-fiona add an example expression. When you add more attributes to the stream, PhixFlow automatically adds columns to the kanban board.

Configuring Dragging Between Columns

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