Issues appear in wrong columns when using custom columns

Issue #139 new
Maurice Kelly created an issue

Browsers tested (on OS X): * Google Chrome Canary (23.0.1245.0 canary) * Google Chrome (21.0.1180.82) * Safari 6.0 (8536.25)

I created a new column called "In Triage" and placed it between the existing columns "New" and "On Hold".

When a card was dragged onto the "On Hold" column it seemed to work as expected, but when the entire browser page was refreshed, the newly dragged card appeared under "In Triage".

Additionally, if a card is dragged directly to the custom "In Triage" column, it often gets an activity spinner on the card that continues for a much longer period of time, then the entire card re-appears back in the column it was dragged from.

Comments (5)

  1. Sam Tardif repo owner

    Hi Maurice,

    Thanks for the report. Could you please tell me what rules you set up for the column?

    I'm getting the feeling that this is a problem with the UI. My guess is that you've created a new column, named it "In Triage", but not used the "Add a rule" link on the Add/Edit Column dialog to define which issues should go in the column, and how issues should be updated when they're dropped in a column. The UI shouldn't let a column like that be created, and I can see how the behaviour would be a bit unexpected (and flawed!) in such a case -- when you drop an issue in such a column, BB Cards doesn't know which field(s) to update, and I'm guessing the BB REST API is choking with a weird request.

    Let me know if that's the case :)

    Cheers, Sam.

  2. Maurice Kelly reporter

    You guessed right. I created a new column but I didn't make any other changes when creating the column.

    The reason I made no other changes is because I wasn't 100% sure what those changes would actually achieve. For example, under "Add a rule" it states "Display an issue in this column if its". To me this implied that an issue could be automatically filtered into the column based on the rule. Is a rule intended to be a way of preventing specific cards from entering a column?

    (PS I love BitBucket cards - great use of your 20% time!)

  3. Sam Tardif repo owner

    Rules are used in two ways. Taking the "New" column as an example, its one rule is just "status" = "new". This gets used in two ways:

    - as a filter when rendering the issues, e.g. all issues with a status of "new" will be displayed in the "New" column

    - as a guide for how Bitbucket Cards should update an issue that gets dropped in the "New" column, e.g. when you drop an issue in "New" its status gets set to "new".

    You can create as complex a set of rules as you like. The standard setup is pretty generic. You might also like to filter by assignee to get an overview of each team member's workload, and to drag and drop cards between each team member, things like that.

    The whole UI around setting up columns and column rules needs a revamp, it's not very intuitive...

    Hope that makes sense, though.

    And thanks :)

  4. Maurice Kelly reporter

    Okay, either I'm still not getting it, or it's not working as I would expect it to. I've gone "pristine" on another project, to ensure I've not permanently broken something :-)

    • I create a new column called "Triage".
    • I add a rule for "Status" with "Open" checked.

    The idea behind this workflow is that when new issues come in, I want a user to be able to pull the cards into the "Triage" column to indicate that they are evaluating the issue - it's not "In Progress" as the issue could be discarded at this point.

    • I take a new issue and drag it to "Triage" - this works okay as I get an email from BitBucket informing me that the issue status has been updated from "new" to "open".
    • I decide that the issue is valid, and move its card into the "In Progress" column.
    • I reload the page and find that the card is now back under "Triage"

    I get why this happens - both columns have a rule with "Status" == to "open". Because "Triage" appears to the left of "In Progress" any issues with a status of "open" will appear in "Triage" first. Am I right?

    Can you suggest a better way to do this?

    I thought about modifying the "New" column to have the following rules: "Status == new", "Assignee == ''" (no assignee). Then the "Triage" column could have: "Status == new", "Assignee == '*'" (any assignee). Is there a way to achieve that? I can't seem to get a wildcard happening on the assignee field, and I don't know if an empty assignee is being picked up either.

    Cheers,

    Maurice

  5. Sam Tardif repo owner

    Yep, you're right about the current behaviour, a card will appear in the first column that it matches (having the card appear in every column it matches causes a whole bunch of confusion).

    Fundamentally I think the set of Bitbucket statuses just doesn't match what you're trying to do here. If there was a "Triaging" status this would be easy :) but I think the general assumption is that issues that are "New" are either untriaged or being triaged, and once triaged you set them to "Open".

    Your workaround is what I would have tried as well, and sadly the column rules aren't sophisticated enough to allow for that (no wildcards atm). That's a good feature request, though, and shouldn't be too difficult.

    In the meantime I think the New -> Triage -> In Progress flow just won't work, and it'll have to be New -> In Progress :(

    If you stick with the assumption that "assignee = * and status = New" means an issue is in triage, I'll do my best to get the wildcard match in soon :) then you can add that In Triage column.

    Cheers, Sam

  6. Log in to comment