Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

swim lane feature request #31

Open
quisenbeje opened this issue Feb 18, 2021 · 1 comment
Open

swim lane feature request #31

quisenbeje opened this issue Feb 18, 2021 · 1 comment

Comments

@quisenbeje
Copy link

First I'd like to say I really like this project and I wish I knew more about emacs/lisp development so I could contribute.

I think it would be really helpful add the ability to create swimlanes in the table based upon item tags. An example might look something like this:

#+TITLE: kanban
#+TODO: HOLD WAITING IN-WORK NEXT | DONE
* example
** IN-WORK [#A] GUI app :@james:dev:p1:project:
** NEXT [#B] CM admin :@james:p2:project:
** WAITING [#A] Correlator app :@daniel:p1:project:
** WAITING [#B] D01 build :@daniel:dev:project:p3:
** IN-WORK [#B] doc update :@boomer:@jerry:project:p1:docs:
** HOLD [#C] serial app :@jj:project:p4:
** DONE [#C] b300 :@jj:project:p2:study:

#+BEGIN: kanban :compressed t :mirrored t :match "project"
| DONE | NEXT     | IN-WORK    | WAITING        | HOLD       |
|------+----------+------------+----------------+------------|
| b300 | CM admin | GUI app    | Correlator app | serial app |
|      |          | doc update | D01 build      |            |
#+END:

#+BEGIN: kanban :compressed t :mirrored t :match "project" :lanes ("@james" "@daniel" "@boomer" "@jerry" "@jj")
| LN      | DONE | NEXT     | IN-WORK    | WAITING        | HOLD       |
|---------+------+----------+------------+----------------+------------|
| @james  |      | CM admin | GUI app    |                |            |
|---------+------+----------+------------+----------------+------------|
| @daniel |      |          |            | Correlator app |            |
|         |      |          |            | D01 build      |            |
|---------+------+----------+------------+----------------+------------|
| @boomer |      |          | doc update |                |            |
|---------+------+----------+------------+----------------+------------|
| @jerry  |      |          | doc update |                |            |
|---------+------+----------+------------+----------------+------------|
| @jj     | b300 |          |            |                | serial app |
#+END:

#+BEGIN: kanban :compressed t :mirrored t :match "project" :lanes ("p1" "p2" "p3" "p4")
| LN | DONE | NEXT     | IN-WORK    | WAITING        | HOLD       |
|----+------+----------+------------+----------------+------------|
| p1 |      |          | GUI app    | Correlator app |            |
|    |      |          | doc update |                |            |
|----+------+----------+------------+----------------+------------|
| p2 | b300 | CM admin |            |                |            |
|----+------+----------+------------+----------------+------------|
| p3 |      |          |            | D01 build      |            |
|----+------+----------+------------+----------------+------------|
| p4 |      |          | doc update |                | serial app |
#+END:

It might also be worth considering having an option to filter solely on the lanes. in which case, in my example above I could have replaced :match "project" with :match_lanes t; and if :match_lanes nil was set there would be some catchall lane for those items that exist but don't fall into a lane.

#+BEGIN: kanban :compressed t :mirrored t :match "project" :lanes ("dev" "docs" "study") :match_lanes nil
| LN    | DONE | NEXT     | IN-WORK    | WAITING        | HOLD       |
|-------+------+----------+------------+----------------+------------|
| dev   |      |          | GUI app    | D01 build      | serial app |
|-------+------+----------+------------+----------------+------------|
| docs  |      |          | doc update |                |            |
|-------+------+----------+------------+----------------+------------|
| study | b300 |          |            |                |            |
|-------+------+----------+------------+----------------+------------|
| ::    |      | CM admin |            | Correlator app |            |
#+END:
@gizmomogwai
Copy link
Owner

Thanks for the feature request.
At the moment this is not possible, and I think this might add too much features into the tables, especially because each lane would make up a new row, with individual separators.
In theory you could create a new table for each lane, but then you would loose the nice overview.

It might be possible to iterate over all the lanes, filter on them together with match (i guess the things should be and'ed) and then concatenate them all in a big table.

Not sure when I will come around to implement that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants