Monday, 2015-07-13

*** jcoufal has quit IRC00:22
*** cody-somerville has quit IRC00:40
*** openstackgerrit has quit IRC00:51
*** openstackgerrit has joined #storyboard00:52
*** coolsvap|away is now known as coolsvap03:50
*** coolsvap is now known as coolsvap|afk07:32
*** coolsvap|afk is now known as coolsvap07:56
*** persia has joined #storyboard08:46
persiaSotK: I don't think there should be any manual way to change whether or not a given item appears in an automatic worklist (although reordering may be interesting for some folk).08:49
persiaThat said, there's no reason that a UI can't present things to make it look like it does this (e.g. if one has an automatic worklist for items in reivew, the UI could represent attempting to place an item in that worklist as an attempt to change the item status so that it would meet the automatic criteria)08:50
persiaOn the pasted API model: I have always imagined it being interesting to be able to see all the worklists in which a given task is included (to answer the question: is someone else doing this?  Should I focus on something else).08:54
*** sambishop has joined #storyboard09:34
SotKpersia: interesting point about viewing all the worklists which contain a given task09:55
SotKthat makes me feel like there should be a /worklists API endpoint, rather than adding it to the project/users API09:56
persiaThe idea being that if I am a development manager at a company, and I want to target my engineers, I may want to point them at tasks that aren't being prioritised by someone else.09:56
SotKthe reason I was asking if anyone cared about manually messing with automatic worklists is that it would be much easier to implement them as "look at all the tasks in the db and apply a filter" than having to update a bunch of records which link the task and the automatic worklist, having to check for a match with *all* the automatic worklist filters when creating a task...09:58
*** sambishop has quit IRC10:01
persiaI hope that my comment helped move you towards a filter-baed implementation.10:03
persias10:03
SotKpersia: it did, except for the bit about reordering being interesting :)10:03
persiaYou might want to ask other folk then.  I don't think order is interesting for things that I imagine being automatic worklists (i.e. "Assigned", "Under Review", "Done"), but others may have other ideas about how to use them that would involve a need to order.10:05
persiaMy main interest is being able to define an automatic worklist that would act as a *negative* filter to my regular worklists.10:05
persiaFor some worklist purposes, I'm uninterested in anything that is already underway, but from the various folk I've spoken with about this stuff, some seem interested in a kanban-like view, including being able to view things that were completed.10:06
*** sambishop has joined #storyboard10:13
* SotK starts considering kanban views and how to enforce task uniqueness properly10:13
SotKI envision being able to define a kanban view by creating a new board, then adding worklists to the board (either from existing lists, or by creating a new one), with an error being raised if you attempt to add two lists containing the same task.10:15
SotKI think it will be fairly easy to restrict it once the board is in use, either give an error when someone tries to, or treat it as them moving the task from one list to another10:16
persiaI think as much of the "kanban" functionality ought exist in the client as possible.10:22
persiaThe server should really only care about the state of the data: the application logic doesn't belong there.10:22
persiaI agree it ought be fairly easy, once we have the data model for worklists.10:23
persiaI also envison a simpler interface for worklists: just something so I can check what my supervisor wants done, or what is important for the next release, etc.10:23
SotKyup, I *think* the only things to be stored in the database for boards should be the name of the board, its owner and the worklists it contains10:24
persiaThat sounds about right.10:25
persiaAnother source of confusion with arbitrary worklists is how to construct the "priority" of a task in the standard view.10:25
*** coolsvap is now known as coolsvap|away10:25
Zara_(looking at the tags spec again; wondering if worklists, favourites, etc could be obtained via tagging and filtering those tags. maybe reserve certain names for special tags (eg: *-favourites will put those things on *'s worklist)? or maybe that's too prescriptive)10:26
persiaZara_: To me the difference is that tags are global, whereas worklists/priority is local.10:26
persiaIf I tag something, I want everyone to see the tag.10:26
persiaIf I worklist something, I don't care if everyone sees it, so long as the people I expect to consume my worklist see it.10:27
SotKpersia: I'm not sure that showing priority in the standard view is possible with arbitrary worklists, a person could easily have a task in different places in multiple lists.10:28
* SotK thinks more10:28
*** coolsvap|away is now known as coolsvap10:28
persiaSotK: That matches my thought.  Some prior discussion around this area talked about separating "Priority" and "Importance".10:28
persiaI've generally seen "Importance" set based on some guidelines that were project-wide: the main issue is that this fails to align with the development priorities of most folk that assign engineers.10:29
persia(specifically including, as a majority of assignment, self-assignment)10:29
SotKhmm, so "Importance" being what is represented by the current implementation of Task priority?10:31
persiaI don't know.10:32
persiaI think the current "Priority" is a placeholder, beause the worklist model is really complex, and doesn't match most folk's experience with other task trackers, bug trackers, etc.10:34
persiaUnfortunately, I can't remember all the conversations about it, and many have limited logs available.10:35
Zara_yeah, I was wondering if it would be possible (and simpler?) to use tags for everything, and determine scope with a prefix attached to the tag. I think that would require reserving characters and would offer less flexibility than alternatives, but would be easier to implement. but I could be horribly wrong!10:36
persiaSomething like that is how some folk are using Malone, but it is generally painful.10:38
Zara_I haven't heard of Malone; what is it?10:42
*** coolsvap is now known as coolsvap|away10:43
*** CTtpollard has joined #storyboard11:26
persiaZara_: Apologies: Malone is the old name for the bug tracking part of Launchpad.11:42
persiahttp://launchpad.readthedocs.org/en/latest/malone.html11:43
Zara_ah, I see11:44
*** coolsvap|away is now known as coolsvap11:44
persiaNote that the current implementation of that functionality in Launchpad does not match the vision posted there (hence being under "Documents of Historical Interest")11:44
SotKthe more I think about it, the more I decide that worklists need their own API endpoint12:03
* SotK rewrites his notes12:03
SotKMy current thoughts are here: http://sprunge.us/PUYa12:32
SotKwhat do people think regarding public/private worklists and boards?12:32
* persia mumbles about paste.openstack.org being nice, and then reads the content12:34
persiaI don't see value to worklists being private to a project: I don't even really know what that might mean in terms of ACL.12:35
* SotK removes that bit12:36
persiaI think worklists are personal, and shouldn't be changed by other users, but that might just be me.12:36
persiaOne use-case that might benefit from group-edited worklists would be something like a release-team-approved set of tasks.12:37
persiaI guess I think a worklist should belong to a User or to a Team, and that makes the ACL easier.12:37
persiaBut if there's some easy implementation that is a superset of that, I think I don't care much.12:38
SotKthat makes sense, though Teams appear to only be partly implemented at the moment :)12:38
persiaTeams are one of those organisational gropus that are hard to specify.12:38
persiaBecause some folk like to break down teams based on the target of work (i.e. some project), whereas others like to break them down in terms of the source of the work (e.g. some employer).12:39
persiaAnd the self-identity of members of these teams gets quickly complicated when both models prevail.12:40
SotKpart of me wonders if it would be useful to have a Trello-like ACL system for worklists, whereby one can add a different User to the board as well as oneself12:40
persiaThat appeals to the team-manager use case that I usually have in mind when thinking about worklists.12:40
persiaIt could be modelled as a one-lane kanban, but that's not how I usually imagine looking at it.12:40
SotKI read somewhere in the depths of backscroll for this channel (I think) about Project pages linking to some "Official" worklists... I'm not sure how this should work. StoryBoard doesn't seem to have any kind of "PTL" ACL at the moment.12:44
SotKhere: http://eavesdrop.openstack.org/irclogs/%23storyboard/%23storyboard.2014-02-21.log.html#t2014-02-21T17:13:2012:45
openstackgerritAdam Coldrick proposed openstack-infra/storyboard-webclient: Stop using fixed-width containers  https://review.openstack.org/20112413:32
*** mrmartin has joined #storyboard13:48
*** mrmartin has quit IRC13:54
SotKpersia: do you have any comments on the data model I described in that paste?14:11
* SotK ponders Trello-like ACLs some more14:31
SotKI think that ACLs for boards should just be a UI which allows the setting of ACLs for a bunch of worklists at once, rather than boards having their own ACLs separate from the worklists that make them up. Do people agree with that?14:33
*** mrmartin has joined #storyboard14:34
paulsherwoodnot really14:36
persiaI like the idea of worklists having ACL, rather than some other construct: it makes it easier to deal with worklists where folk aren't trying to manage multiple simultaneous worklists.14:36
persiaheh.  We have achieved controversy :)14:36
paulsherwoodmaybe i'm misunderstanding14:36
paulsherwoodif i have a board with 6 lanes, i don't want to have to do 6 acl operations14:36
persiaSotK: On the data model: back when I did data models, the fashion was all to strive for full normalisation, which this isn't.  The content, and relationships seem relatively sane.14:37
persiapaulsherwood: That makes sense.  From my POV, if I have a worklist, I don't want to fuss with needing to define a "board" just to set an ACL.14:37
paulsherwoodi'm ok with each worklist having its own acl, so long as the ux allows me to add team members to the whole board with minimum fuss14:37
SotKpaulsherwood: I envision you having to do 1 operation in the UI which causes a change to the ACL of each of the 6 lanes14:38
persiaBut I agree that this particular issue could possibly be hidden in UI.14:38
paulsherwoodSotK: ok then. i do note, however, that the two other solutions i've studied in depth (hobokan and trello) do it at board level, rather than lane level14:39
SotKpaulsherwood: I want worklists to have their own ACLs, so that they make sense when not in a board. I also want to avoid having to try to resolve conflicts between board and lane ACLs (what happens if a board contains a lane that someone who can edit the board can't edit?)14:42
SotKhm, but then board-level ACLs do make sense for things like "who can add lanes? who can rename the board?" situations14:44
* SotK goes back to thinking14:44
paulsherwoodre:  (what happens if a board contains a lane that someone who can edit the board can't edit?)14:44
paulsherwoodshould not be possible, imo14:45
paulsherwoodbut i'm aware that others here may have use-cases for a worklist without a board.14:45
paulsherwoodmaybe board has acl. if worklist does not have board, worklist has acl?14:46
persiaAt least for me, the first proposal to organise worklists into a board came years after the first discussion to use worklists as a sensible way to prioritise work for an open task tracker.14:46
persiaThat said, the worklists-in-board proposal did arrive in the very early days of Storyboard discussions, so it is less alien for others perhaps than for me.14:47
paulsherwoodi should have caused the hobokan work to be done in public... :/14:48
SotKpaulsherwood: that seems fine except for the situation where a worklist which is in a board is also used elsewhere not in a board?14:51
persiaI suspect it is safe to assume that is uncommon.14:51
persiaAs a worklist owner, I probably either want a board or don't when I set up the worklist.14:51
persiaUnless there is some speculation that one could have a "board" that consisted of several worklists, but in such a case, I think it would be better to consider that a "dashboard", where one doesn't have any of the constraints normally applied to a "board".14:52
persia(the idea being that I might want to see several other people's ideas of priorities in parallel, but when doing so, I don't mind duplicates, etc.)14:52
paulsherwooddo we have clear needs to potentially have a given worklist appear in multiple 'boards'?14:54
SotKOK then, it seems that I should be treating kanban boards as something more special than "an group of worklists that has some constraints" in my head14:54
* SotK is happy with "board has acl. if worklist does not have board, worklist has acl?" given the new separation of ideas he has14:55
SotKpaulsherwood: I think that that would be useful in "dashboards", but perhaps not in "boards"14:57
paulsherwoodSotK: sounds right15:05
*** cody-somerville has joined #storyboard15:06
* SotK tries to discover what the "permissions" table in the db is actually for15:06
paulsherwoodin which db?15:07
SotKstoryboard's15:07
SotKI'm wondering if that is a prior attempt at implementing some kind of ACL15:08
SotKgit blame is entirely un-useful15:09
*** SotK has quit IRC15:36
*** paulsherwood has quit IRC15:36
*** jjardon has quit IRC15:36
*** SotK has joined #storyboard15:37
*** paulsherwood has joined #storyboard15:37
*** jjardon has joined #storyboard15:49
*** MarkAtwood has joined #storyboard15:53
Zara_hm... was playing around with the search function, hoping to eventually get stories searchable by tags. instead managed to break my storyboard instance. :D changed all files back to how they were before I messed with the search function, but it's still broken. something to look into tomorrow...16:54
persiaYou might find it interesting to play with various git functions to make sure that the changes made aren't just the changes you expected.17:00
persiaThere's ways to tell git not to ignore the normally ignored generated files, etc.17:00
*** cody-somerville has quit IRC18:09
*** persia has quit IRC19:21
*** persia has joined #storyboard19:23
*** persia has quit IRC19:45
*** cody-somerville has joined #storyboard20:03
*** cody-somerville has quit IRC20:03
*** cody-somerville has joined #storyboard20:03
*** persia has joined #storyboard20:07
*** persia has joined #storyboard20:07
*** lifeless has quit IRC20:20
*** lifeless has joined #storyboard20:21
*** mrmartin has quit IRC20:46
* persia stumbles across https://wiki.openstack.org/wiki/StoryBoard/Task_Lists , finding it has a nice summary of when tags make sense and when worklists make sense, and also discusses a bit the different use cases for lists-of-worklists and kanban-like boards.21:22
persiaInterestingly, it asserts that tags belong to stories and worklists belong to tasks, in a strict fashion.  I think I agree with tags being only for stories, but with recent discussions, I'm weakening my opinion that worklists should always be tasks (to cover the "We need to assign tasks for this story" meta-task)21:23
SotKpersia: I think I found that at some point too, it was useful21:24
SotKI definitely agree on the "assign tasks for stories" use-case21:24
persiaIt also helps for the higher-level view, where someone doesn't actually care about the implementation details.  Something like tracking which approved specifications are landing within a development period, etc.21:25
* persia still has a vague dream about using a patch-tracker like interface to land stories into a task tracker, but suspects that is a successor or successor^2 project21:26
SotKI suspect so to ;)21:28
SotKs/to/too/21:28
*** coolsvap has quit IRC21:28
SotKalso, the kanban UI concept I mentioned hacking up elsewhere is visible here if you're interested: http://81.147.115.101/#!/dashboard/kanban (you may need to log in)21:29
*** coolsvap|away has joined #storyboard21:33
persiaI think I do need to log in.  Be nice if that wasn't a requirement.21:35
persiaInteresting.  That seems more like a set of worklists than a kanban, but is interesting to use.  Are some of the lanes different than others in some way?21:37
SotKnot right now, I just threw it together to let me think about kanbans a bit :)21:39
SotKthe three that have tasks in load all the active stories, the other two load all the merged and all the invalid stories respectively21:40
persiaI dragged stories around a bit.21:43
persiaSo for my view, the first column has some stuff, the second column some other stuff, the third column three copies of Mr. Boop, and the remaining columns everything not Mr. Boop.21:44
*** cody-somerville has quit IRC21:44
persiaDo those sort of changes show for other folk?21:44
* persia gets distracted by non-IRC21:45
SotKnot here, it doesn't actually make any changes to the underlying data yet, but that shouldn't be too hard to prototype quickly in a similar way21:46
SotKs/here/yet/21:46
SotKits too late for typing for me :)21:46
* SotK disappears21:50
*** cody-somerville has joined #storyboard21:58
*** jcoufal has joined #storyboard22:02
*** jcoufal_ has joined #storyboard22:04
*** jcoufal has quit IRC22:07
*** jcoufal_ has quit IRC22:15
*** cody-somerville has quit IRC22:58

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!