kanboard / kanboard

Kanban project management software
https://kanboard.org
MIT License
8.5k stars 1.8k forks source link

Archive swimlanes #3881

Closed witsec closed 5 years ago

witsec commented 6 years ago

This issue is:

When all tasks in a swimlane are closed, I'd like to be able to archive said swimlane.

I can disable the swimlane, but that's going to be piling up real quick. Plus, we use 'inactive swimlanes' as a backlog, so that doesn't help much.

I can't delete the swimlane, as it contains tasks (even though they're closed) - and nor do I really want to either. Also, if I'd delete the tasks, I don't have any history and I'm pretty sure it'll mess up the statistics.

Thanks.

oliviermaridat commented 6 years ago

I think that the "Inactive swimlane" feature was done for this purpose. Maybe you should use an active swimlane for your long-term backlog.

witsec commented 6 years ago

That could be an idea, yes. Although it would certainly help if I was able to hide those (active) backlog swimlanes through filters. Right now the tasks disappear when you filter on swimlane, but the swimlane itself remains visible.

I could then edit the "backlog" when I change the filters, which would be a good solution for my issue.

hilhorst commented 6 years ago

A toggle to hide swimlanes with no visible tasks would probably solve this. Normally you would want to show a swimlane with no tasks, but in this case it would be helpful to hide them.

lastlink commented 6 years ago

These are starting to sound a lot like sprints that end after their period is over. Would it not be useful to have dates attached to the swimlanes themselves as an option? start & end date.

Kolossi commented 6 years ago

I'm new here, but a recent and enthusiastic convert to kanboard (running under docker on my synology nas).

If it is indeed a sprint as @lastlink mentioned, why not just use a sprint tag on the tasks e.g. "sprint_2018.01" and then filter by the tag?

Or use separate projects and "Bigboard" plugin?

lastlink commented 6 years ago

I use my tags for many other things and this will eventually make a super long tag list. What I have been doing is using the milestone plugin for sprints & treating a story as a sprint/milestone/epic and attaching other stories to it as internal links. The swim-lane option as sprints may be nicer. I ended up have 4 swim-lanes w/ my current setup, one for milestones, one for active swimlane, one for backlog swim-lane, & one for epics. I do connect things to other projects like a theme/program project. I don't like using tags for this purpose though, but then again it goes to preference.

witsec commented 6 years ago

We're more than happy to use filters and they hide tasks that don't match the filter, but the (then empty) swimlanes will still be visible, so that'll pile up real quick.

The bigboard plugin combines multiple projects into a single view. That isn't what we're looking for I'm afraid.

Kolossi commented 6 years ago

My suggestion for tags was so that you won't have swimlanes, just tags which have no weight/baggage/piling when there are none matching.

The use of swimlanes here seems from the description a little ... shall we say "nonstandard". Swimlanes usually get used for different priorities/sources (customer vs internal)/blocked. They don't tend to "pile up".

Maybe time to step back and reassess whether there's a better way to achieve the (no-doubt genuine) requirements than swimlanes rather than bend swimlanes to the will of this particular nonstandard usage?

My bigboard suggestion was to possibly use different projects rather than different swimlanes. Projects already have the concept of start and end date.

I get that neither tags nor projects work for you though, just a suggestion - I'll wind my neck back in. :-)

witsec commented 6 years ago

We were digging through the code and found a way that works great for us. The code code can be found here: https://github.com/witsec/kanboard (it's currently based on v1.2.3).

It's a bit quick and dirty now, because we simply wanted to see if this worked. It's not forked yet. There's also a Docker container available, so you can quickly test it if you want: https://hub.docker.com/r/witsec/kanboard/

What this does is when you use a filter with "swimlane:texthere", it hides all swimlanes that don't contain tasks anymore. This allows us to use the active swimlanes as backlog as well and also sort swimlanes in a certain order.

If such a functionality would be built-in, that would be awesome!

witsec commented 6 years ago

We also made another tiny change. If you create a new task, you can select the swimlane it should be part of. But when you edit a task, the option to change the swimlane isn't there. And so we've added that option there.

We found that sometimes tasks were in the wrong swimlane (by mistake). The swimlane it should have been part of was hidden because of swimlane filters (which hides empty swimlanes). You can now simply edit the task and change its swimlane and then when saved, the swimlane it should've been part of is automatically displayed again.

ghost commented 5 years ago

Please, use the forum (https://kanboard.discourse.group) for discussions and feature requests, the bug tracker is reserved only for bugs.