Kuika's Kanban Board element allows you to visually manage your projects and tasks. It allows you to organize workflows and group tasks into different categories. Kanban Board is especially ideal for project management, team collaboration and task tracking. In this guide, you will learn how to use the Kanban Board element, how to organize your tasks and how to customize your board.
This training content consists of the following topics:
The customizable properties of Kuika's Kanban Board element make it easy to manage data connections and workflows. It allows dynamic organization of tasks (card) and categories (lane).
To be able to edit the properties of the Kanban Board element, you need to create SQL actions and tables in the Datasources module.
The following sample SQL actions can be used to add, update and delete data on Kanban Board or you can create your own actions:
SELECT * FROM KanbanLane;
INSERT INTO KanbanLane (Id, laneIndex, title, description)VALUES ( NEWID(), (SELECT COALESCE(MAX(laneIndex), -1) + 1 FROM KanbanLane), @title, @description);
DELETE FROM KanbanCardWHERE laneId = @Id;DECLARE @DeletedLane TABLE ( Id UNIQUEIDENTIFIER, laneIndex INT);DELETE FROM KanbanLaneOUTPUT DELETED.Id, DELETED.laneIndex INTO @DeletedLaneWHERE Id = @Id;UPDATE KanbanLaneSET laneIndex = laneIndex - 1WHERE laneIndex > (SELECT laneIndex FROM @DeletedLane);
UPDATE KanbanLaneSET laneIndex = laneIndex + 1WHERE laneIndex >= @newLaneIndex AND laneIndex < @draggedLaneIndex AND id != @draggedElementId;UPDATE KanbanLaneSET laneIndex = @newLaneIndexWHERE id = @draggedElementId;UPDATE KanbanLaneSET laneIndex = laneIndex - 1WHERE laneIndex > @draggedLaneIndex AND laneIndex <= @newLaneIndex AND id != @draggedElementId;
SELECT * FROM KanbanCard;
INSERT INTO KanbanCard (Id, laneId, cardIndex, title, description)VALUES ( NEWID(), @laneId, (SELECT COALESCE(MAX(cardIndex), -1) + 1 FROM KanbanCard WHERE laneId = @laneId), @title, @description);
DECLARE @DeletedCard TABLE ( laneId UNIQUEIDENTIFIER, cardIndex INT);DELETE FROM KanbanCardOUTPUT DELETED.laneId, DELETED.cardIndex INTO @DeletedCardWHERE Id = @Id;UPDATE KanbanCardSET cardIndex = cardIndex - 1WHERE cardIndex > (SELECT cardIndex FROM @DeletedCard) AND laneId = (SELECT laneId FROM @DeletedCard);
UPDATE KanbanCard
SET laneId = @targetLaneId,
cardIndex = @targetCardIndex
WHERE id = @draggedCardId;
UPDATE KanbanCard
SET cardIndex = cardIndex - 1
WHERE laneId = @currentLaneId
AND cardIndex > @currentCardIndex
AND id != @draggedCardId;
UPDATE KanbanCard
SET cardIndex = cardIndex + 1
WHERE laneId = @targetLaneId
AND cardIndex >= @targetCardIndex
AND id != @draggedCardId;
The above actions allow you to integrate your Kuika Kanban Board with a SQL database. Thus, you can dynamically manage your tasks and categories, update your data and create a workflow that fits the needs of your system.
Then you can make the following edits from the Properties panel of the UI Design module Kanban Board element.
Lane Options
Card Options
Events
In this example scenario, we will describe how to manage tasks and categories in a software development project using a Kanban Board. We will discuss how to configure the Kanban Board using Tasks and Categories data sources, how to customize the ordering of tasks, and how to manage events.
The following categories will be used in a software development project:
Each category will have specific tasks and these tasks will represent work steps in the software development process.
1. Adding and Configuring the Kanban Board Element
We start the project by adding the Kanban Board element from the UI Design module.
Tasks belonging to each category will be pulled from the Tasks data source and each task will be placed in the category it belongs to.
Lane Settings (Category Configuration)
"Action": "Categories",
"Field to Lane ID": "id",
"Field to Lane Index": "index"
Card Settings (Task Configuration)
"Action": "Tasks",
"Field to Card ID": "task_id",
"Field to Card Lane ID": "lane_id",
"Field to Card Index": "task_index"
2. Managing Kanban Board Events
Handling events that occur when tasks (cards) and categories (lanes) are moved allows the Kanban Board to work dynamically and facilitates the tracking of projects.
onCardDragged Event (When Task Moved)
This event is triggered when a task is moved to another category . For example, when a task in the “Todo” category is moved to the In Progress category, the following data structure is obtained.
"onCardDragged": {
"cardId": "task1",
"cardIndex": 2,
"cardLaneId": "lane_todo",
"cardTargetIndex": 1,
"cardTargetLaneId": "lane_in_progress"
Using this data structure, it can be tracked that the task has been moved to its new category and the record in the database can be updated.
onLaneDaragged Event (When Category Moved)
This event is triggered when the order of the categories changes. For example, when the “In Progress” category is moved to come after the “Todo” category, the following data structure is created:
"onLaneDragged": {
"laneId": "lane_in_progress",
"laneIndex": 1,
"laneTargetIndex": 2
This event can be used to update the sorting of categories and manage changes to the interface.
3. Filtering and Customizing Tasks
Filtering and customizing tasks based on certain criteria can improve the user experience. For example, you may want to see only high priority tasks.
Filtering Example
"filter": {
"priority": "high"
This structure shows only high priority tasks.
4. Database Updates and Synchronization
Task movements in Kanban Board should always be synchronized with the database. onCardDragged and onLaneDragged events provide data updates by reflecting the sorting information of tasks and categories to the database.
For example, you can update the database when a task is moved to a category:
"updateCard": {
"cardId": "task1",
"newLaneId": "lane_in_progress",
"newIndex": 1
With Kanban Board:
In this example scenario, configurations were presented over Tasks and Categories data sources. However, for more complex projects, extended scenarios can be created by integrating different data sources.
To configure the setting:
By customizing your elements with the Styling Panel, you can create impressive interfaces for your web and mobile applications. In this section, you can configure the following settings:
By following these steps, you can configure the Area Chart element to suit your needs.
Kuika supports the following system actions: