Subtasks clutter the Dashboard

#1

We use Kanboard for a while now in our company, and since day 1 I have and issue with the use of subtasks. I like the idea to separate a task into subtasks, but I dislike them for cluttering the dashboard. In an ideal world, I would be assigned several task-cards which consist of several subtasks. All the Kanban-Tasks would be set with due-dates, so I could use the dashboard to see “my work day” and so on. But as soon as I finish different subtasks across all my tasks, the dashboard gets kind of useless, because I still see everything I’ve already done. In my opinion I should only see what I didn’t do and what I have to do today or tomorrow. I find it confusing to see all the “Done” stuff. Can you follow me? What’s your opinion about this? Should this be invisible or a filter to show “subtask:open” for example.
Thank you for this great project!

#2

The dashboard doesn’t actually show “Subtasks” it shows “Tasks” and then renders all the subtasks that are related to it, I think that’s your problem. You could change that behavior after line 3 here:

by adding the condition for status of the subtask. It’d be a simple override of a template plugin.

#3

and in case you are wondering what that looks like, you’d just be wrapping the contents of the foreach loop with the if statement, like below:

<?php foreach ($task['subtasks'] as $subtask): ?>
      <?php if ($subtask['status'] != 2): ?>
        <div class="task-list-subtask">
            <span class="subtask-cell column-50">
                <?= $this->subtask->renderToggleStatus($task, $subtask, 'rows', isset($user_id) ? $user_id : 0) ?>
            </span>
            <span class="subtask-cell column-20 subtask-assignee">
                <?php if (! empty($subtask['username'])): ?>
                    <?= $this->text->e($subtask['name'] ?: $subtask['username']) ?>
                <?php endif ?>
            </span>
            <span class="subtask-cell subtask-time-tracking-cell">
                <?= $this->render('subtask/timer', array(
                    'task'    => $task,
                    'subtask' => $subtask,
                )) ?>
            </span>
        </div>
      <?php endif ?>
    <?php endforeach ?>

and you would no longer see “done” subtasks in the overview at all.

And to note: Although you will no longer see any “done” subtasks, the “Task” will still show up on your overview, if the “done” subtask is assigneed to you and the task is still open, as the previous behavior, but that too could be changed, by overriding the taskfindermodel, and changing this function:

so that it only finds subtasks that are active, and not “done”, by changing line 65 to:

                    ->addCondition(TaskModel::TABLE.".id IN (SELECT task_id FROM ".SubtaskModel::TABLE." WHERE ".SubtaskModel::TABLE.".user_id='$user_id' AND status!=2)")

And it doesn’t really end there, does it…because now it does exactly what you are asking for, but still counts them…

image

just doesn’t show them…but I’ve done enough without actually doing it for you, so I’ll let you figure out the rest from there.

#4

Create subtasks in categories not resolve this ? creecros make this for me ! its work !

1 Like
#5

Lol, I think I’ve slowly reached my limit of doing things for unresponsive folks. People who want my help need to hold a conversation before I consider it.

#6

Thank you very much @creecros. That’s a lot if input I have to consider, HTML and PHP is not my world, but I should get it done. Internally we are still discussing whether to user subtasks or not. We are thinking about not using them at all. But if we might, we will evaluate your suggestion before.

#7

I use 2 project boards, 1 for my projects and one for my tasks. I then use internal links back to the project task it relates too. Same idea as a tasks with subtasks, but this way the subtasks can go through their own workflow. Not sure if that makes sense, or helps you, but I always found that to be the best way for me.