/srv/irclogs.ubuntu.com/2011/12/01/#launchpad-dev.txt

* StevenK kicks celebrity_logged_in()00:39
huwshimiwgrant, wallyworld_: Have either of you seen user research from dan about the manage disclosure mockups (I guess from a while ago)? I'm just trying to track it down00:51
wallyworld_huwshimi: perhaps. was it an email?00:52
wgrantI don't think there's much point continuing those at the moment.00:52
huwshimiwallyworld_: I assume so00:53
huwshimiwgrant: How come?00:53
* wallyworld_ checks his email00:53
wgranthuwshimi: Requirements have changed.00:53
huwshimiwgrant: Really?00:53
wgrantIt's not clear what we're doing now.00:54
huwshimiwgrant: So the whole manage disclosure pages might be different?00:54
wgrantThings are sort of on ice.00:54
wgrantPossibly, yes.00:54
StevenKCan haz review? https://code.launchpad.net/~stevenk/launchpad/bugtask-userHasPrivileges-nomination/+merge/8404100:54
wgrantStevenK: How does that affect performance?00:54
huwshimiwgrant: When did this happen? I got asked over night to get them ready for testing tomorrow00:55
StevenKwgrant: IBugNomination.cannAprove() is already a dog?00:55
wallyworld_huwshimi: wgrant: the page will likely not be that different00:55
wallyworld_the testing should still go ahead00:56
wgranthuwshimi: A little over 24 hours ago.00:56
huwshimiwgrant: Oh right00:56
wgrantIt may not be that different. But it quite possibly will be. I guess we might as well continue testing.00:56
huwshimiok00:56
wallyworld_there's been an adjustment to the scope - security bugs need shared conversations, even private ones, hence multipillar private security bugs are allowed00:56
wgrantWhich means that the disclosure overview page can no longer feasibly show an overview of disclosure.00:57
StevenKwgrant: We already had to look up the product/distribution and {product,distro}series in canApprove() anyway, we're just checking a few more columns in the same tables.00:57
wgrantStevenK: k00:58
wgrantStevenK: Hm00:58
wgrantStevenK: Isn't this wrong?00:58
wgrantIt seems like it will permit bug supervisors to approve.00:58
wgrantWhich is wrong.00:58
StevenKWe don't want that?00:59
wallyworld_wgrant: i think the md page can still show an overview00:59
wgrantwallyworld_: It can't.00:59
wgrantIt can show a partial view.00:59
wallyworld_huwshimi: sent you an email with the info00:59
wallyworld_sure it can00:59
wgrantStevenK: No.00:59
wgrantwallyworld_: How?00:59
StevenKBah00:59
wallyworld_how not?00:59
* StevenK fixes it to check owner00:59
huwshimiwallyworld_: Awesome, just got it. Thanks for that00:59
StevenKBy hand00:59
wallyworld_huwshimi: np00:59
wgrantwallyworld_: We can't join through BugTask.00:59
wgrantwallyworld_: So we'd have to flatten everything.01:00
wallyworld_wgrant: why can't we do a union01:00
wgrantwallyworld_: Hm?01:00
wallyworld_instead of joining through a single bugtask, why not do the same thing across all the bug tasks (if there are now allowed to be > 1) and union the results01:01
wgrantIf I have a bug for project A shared with project B, project A's disclosure management page has to show all the observers for A and B.01:01
wallyworld_yep01:01
wgrantIf the disclosure management page knows about bugtasks, ARIWEJOFUWEFIHWEFIUWEF01:01
wallyworld_and?01:01
wgrantAlso, slow.01:01
wgrantIt's slow enough as it is.01:01
wallyworld_so we denormalise01:01
wgrantI went through this two months ago :)01:02
wgrantIt is not pretty.01:02
wgrantOr usable.01:02
wgrantAt all.01:02
wallyworld_bottom line is, we've been tasked with providing a solution for a problem our stakeholders want solved, we need to figure out a way to do it01:02
wallyworld_we may need to compromise on how some things are delivered/reported01:03
wgrantWe don't necessarily need to solve this.01:03
wgrantIt's not clear whether we want disclosure reports for security bugs.01:03
wgrantBecause proprietary projects will probably be forbidden from sharing security bugs.01:03
wallyworld_what about private security bugs01:03
wgrantOr having security bugs at all.01:03
wallyworld_so, if that's the case, then problem solved :-)01:04
pooliewgrant, like i said, why not just delete the field?01:04
wgrantpoolie: Which field?01:04
pooliesecurity01:04
wgrantHa ha ha.01:04
wgrantIt's not that simple, unfortunately.01:04
pooliemm01:04
wgrantSecurity privacy is now defined to be completely different from normal privacy.01:04
wgrants/now/as of yesterday/01:04
wgrantwallyworld_: Not problem solved.01:05
wgrantwallyworld_: It still requires a rethink of the UI.01:05
wgrantwallyworld_: Regardless.01:05
wallyworld_sure, but shit happens01:05
wallyworld_we'll come up with something01:05
wgrantRight, I'm not saying we won't.01:05
wgrantI'm saying it needs more thought.01:05
wgrantAnd work.01:05
wallyworld_the mockups can stil be tested01:05
wgrantAnd that spending time testing mockups that we know won't work is probably silly.01:05
wallyworld_we aren't spending any more time developing them, but it's still valid to test them01:06
wallyworld_as is01:06
wallyworld_since there's other useful feedback we can get01:06
wallyworld_like the use of the tag paradigm etc01:06
wallyworld_the location of the delete icon01:06
wallyworld_etc01:06
StevenKwgrant: Fixed, diff updated. Ignore the ADMIN_EMAIL addition, I've removed that already.01:07
wgrantStevenK: Why not add a helper method somewhere that checks if driver privileges are possesed?01:08
wgrantIt would be very similar to userHasPrivileges or whatever the existing thing is.01:08
wgrantExcept without bug supervisor.01:08
wallyworld_wgrant: StevenK: same me some greping, do either of you know the unit test for viewing a P3A owned by a private team where the use cannot see the team but is subscribed to the P3A?01:09
wallyworld_/same/save01:09
StevenKwgrant: Because it probably requires rewritting IBugTask.userHasPrivileges() for the third time in as many branches.01:10
wgrantStevenK: Good.01:10
wgrantStevenK: Rewritten but clean is better than dirty.01:10
wgrantwallyworld_: No idea, sorry.01:10
wgrantwallyworld_: You can probably find it by following the evil aura, though.01:10
wallyworld_np. just an opportunistic question just in case01:10
StevenKwgrant: userHasPrivilegesContextWithBugSupervisor()01:10
wgrantStevenK: userHasBugSupervisorPrivileges?01:11
wgrantuserHasDriverPrivileges?01:11
pooliehuwshimi,  i have a thing for you01:11
pooliehttps://code.launchpad.net/~mbp/launchpad/feature-modulus/+merge/8404201:12
pooliereview pls01:12
flacostewgrant, wallyworld_: the discussion between sinzui, mrevell and I was that we think it's fine that manage disclosure only shows a partial view of security issues01:18
flacostebasically the view of the security policy for your project01:18
wgrantflacoste: Right. But it gets confusing for projects like U1, which may have both proprietary and security bugs.01:19
flacostewith a warning saying: some people might have access to some security bugs through other projects01:19
wallyworld_flacoste: i think that's workable01:19
wgrantWe need to present that somehow that they're different.01:19
huwshimipoolie: You are awesome :D01:20
poolienow do something useful with it :)01:21
huwshimipoolie: Sure will, I just need to build a logging/reporting tool for it :D01:22
wallyworld_poolie: do you take bribes to allow users to "get in" on the feature :-)01:22
pooliesounds like a business model to me01:23
flacostewgrant: is it really a problem? either these security bugs are really private and they won't share it, or they are security bugs (and say also affect Ubuntu) in which case the warning is good enough01:23
pooliemore seriously you can always have something turned on either by membership in a team or by being lucky with your uid01:23
poolieor vice versa01:23
wgrantflacoste: Well, we have to make it clear that it shows everything for one tag, and not everything for the other.01:23
wgrantWhich is confusing, because in the current designs they're shown identically..01:24
flacostewgrant: yes, but a simple notice is probably good enough01:24
wgrantHeh, users don't notice notices.01:24
wgrantEver.01:24
flacosteagreed01:24
wallyworld_wgrant: you are in "glass half empty"mode today :-P01:25
poolietoday?01:25
StevenKWhat poolie said.01:25
flacostebut the assumption here, which should be tested, is that users have different assumptions between privacy and security01:25
wgrantflacoste: At present they have the same assumptions, because they behave the same way.01:25
flacosteso the fact that other people have access through the shared project security policy isn't surprising01:25
flacostelke it would be for private bugs01:25
wallyworld_flacoste: there will be some adjustment to users' thinking when security and privacy an de-conflated, but the overall; result will be much easier to grok i think01:26
flacostewallyworld_: that's what sinzui though when I suggested that we keep multi-tenancy around security bugs01:26
flacostethought01:26
wallyworld_flacoste: i liked your email. enum for privacy/visibility with orthogonal security flag01:27
wallyworld_agree with security bugs being multi-tenanted so conversations can be shared01:27
pooliehuwshimi, let me know howmuch you care about slicing anonymous users01:27
pooliemy impression is they do not have very interesting interactions01:27
wgrantI don't agree that multi-tenancy is the solution to shared conversations.01:28
pooliemm01:28
wgrantBut it may be the easiest way out for now.01:28
pooliei wonder how many non bot requests are anonymous01:28
wgrantpoolie: A quick grep should tell you...01:28
poolieindeed, i will do that in a sec01:28
flacostewgrant: yeah, i can agree with that01:28
pooliebut the real question is do people ever want to run experiments on them01:28
pooliewgrant, though i wonder too how many anonymous users are also blocking or ignoring cookies...01:29
wgrantpoolie: True.01:29
pooliewe can possibly find that too01:29
wallyworld_even some non anonymous users block cookies01:29
wallyworld_well, those who care about privacy01:29
poolieuh01:30
wgrantWell, if they're not anonymous to LP they're probably allowing at least one LP cookie :)01:30
poolienot if they want to sit at the big people's table01:30
wallyworld_"big people's table"?01:30
poolieyou cannot be both logged in and also blocking lp's own cookies01:30
wallyworld_wgrant: yeah, sadly i had to add lp to my whitelist01:30
wgrantwallyworld_: Yeah :(01:31
huwshimipoolie: I guess we could always build that into into the reporting, there would certainly be some a/b test where we would be targeting logged out users.01:32
pooliespm i have a thing for you too: https://code.launchpad.net/~mbp/launchpad/feature-admin-party/+merge/8404401:32
pooliewgrant, would you mind doing a security review of that one?01:32
poolieit is not very big but it is a little scary01:32
wgrantAdmin party?01:32
wgrantAha01:32
pooliewhen you first start couchdb, it says "Admin party! Everyone is admin!"01:32
wgrantThere seems to be a false assumption th ere.01:33
wgrantWhy would anyone willingly start couchdb? :)01:33
poolie*if01:33
wgrantI'm not sure if we should really do this.01:34
wgrantWe have non-Canonicalers in ~registry, for example.01:34
poolieistr robert approving it01:34
wgrantAnd even Canonicalers aren't always going to be aware of what implications flags have.01:34
pooliethe concept that is01:34
poolieperhaps ~registry is the wrong thing01:34
wgrant(there are security-influencing flags)01:34
StevenKwgrant: Diff updated.01:35
pooliei think we should probably be careful about putting really dangerous things in there01:36
pooliein the first place01:36
lifelessmmm01:36
wgrantStevenK: DriverPrivileges and PrivilegesContext?01:37
pooliei guess making it a specific group would let us flip this at run time01:37
pooliewithout a boostrapping problem01:37
wgrantStevenK: We probably want BugSupervisorPrivileges(Context)? and DriverPrivileges(Context)?.01:37
poolielifeless, what do you think?01:39
pooliei had the idea it had a preimp approval01:41
lifelesspoolie:  https://bugs.launchpad.net/launchpad/+bug/790025/comments/1 is all I had said01:42
_mup_Bug #790025: provide LP developers full access to QAS/Staging feature flags <canonical-losa-lp> <feature> <feature-flags> <Launchpad itself:Triaged> < https://launchpad.net/bugs/790025 >01:42
spmpoolie: heh, scratching an itch there?01:43
pooliei was going to do the userslice thing when i was offline yesterday and then i remembered this01:43
lifelesspoolie: I think there are two issues; A) there is a code structure issue, which I've reviewed. B) there is the how-to-enable-it01:44
poolieand yeah, it does seem like somewhat unnecessary manual handoffs01:44
StevenKwgrant: PrivilegesContext is the current name and is still called everywhere01:44
poolieyeah01:45
pooliethere are some precedents for the inline permission check01:46
pooliebut not necessarily good ones01:46
poolielifeless, so if it's hooked in differently and it is enabled by adding people to eg ~admin-features-rules01:49
pooliethat would be acceptable?01:49
lifelesspoolie: are you proposing admin-feature-rules as a celebrity ?01:50
pooliei guess effectively yes01:51
pooliei understand some of the machinery around celebtrities is disliked?01:51
poolieit depends a bit how much you expect to want to change it dynamically01:52
lifelessso the thing about celebrities that is disliked is largely the fact that its a well known team.01:53
lifelessso avoiding the rest of the machinery but blessing a team name will just get the bad stuff without mitigating it via the other supporting code01:54
poolieok01:54
poolieso what is the actually preferred place for configuration?01:54
poolieor rather policy01:54
lifelesszcml or lazr.conf or feature flags01:54
pooliei hear config is disliked, zcml is disliked, embedding it in the code is disliked01:55
lifelessare the three generic places we have01:55
lifelessor schema things hanging off of objets01:55
lifelesstheres no 'site' or 'instance' object in the db today01:55
pooliehm01:58
pooliewhat defines who has a particular permission on a particular object?01:58
lifelessthe security adapters01:59
pooliehm02:02
poolieso i see there are things that grant some permissions if user.in_launchpad_developers02:03
poolies/things/adapters02:03
poolieperhaps i'll leave  it, it was more of a drive by attempt02:05
wgrantStevenK: The callsites can and should be changed...02:09
wgrantIt's a pretty trivial refactoring across part of one codebase, which will result in cleaner, more maintainable code.02:09
wgrantlifeless: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-ce9f40e4e0a1507f99c1f0eda494ae3902:10
lifelesswgrant: win!02:13
wgrantRather.02:13
lifelessa unicode string02:14
lifelesswtf02:14
lifelesswgrant: care to file a bug for me? I'll add a codepath to type-handle this02:14
lifelessalso someone should shoot the zope machinery02:15
poolielifeless, is there enough value in  pulling out the DemoSite fixture?02:17
lifelessafk -> bank visit, bbsoonish02:18
huwshimiwallyworld_: In those prototypes is the "Add an observer" link for adding a privacy observer?02:51
huwshimior security as well?02:51
wallyworld_huwshimi: it adds the person ad both atm02:51
wallyworld_as02:52
wallyworld_from there you can use the popups to change02:52
wallyworld_but we need to enahnce the picker02:52
huwshimiwallyworld_: That seems suboptimal.02:52
wallyworld_yes, the picker needs to be enhanced02:52
wallyworld_but we didn't want to do that for the mockup - ran out of time02:53
huwshimisure, just checking02:53
wallyworld_np02:54
huwshimiwallyworld_: Also the 10users can view project information02:55
huwshimi6users are observers02:55
huwshimi5users are restricted observers02:55
huwshimiblock seems to be a little redundant as it doesn't cater for security/privacy02:55
huwshimiNot sure what to do with that02:55
huwshimiIs it actually useful for anything?02:55
wallyworld_those numbers are now used to represent users who have any sort of permission (security or privacy or ...)02:56
huwshimiwallyworld_: I guess that info can now be determined by using the filters02:57
huwshimiwallyworld_: And jumbling the stats together as they are now doesn't seem useful (but tell me if I'm wrong)02:57
wallyworld_yes, but the portlet is useful because it shows users with *any* observer access for example02:57
wallyworld_but that's just my opinion02:57
wallyworld_as a project owner, that's what i'd want to see02:58
huwshimiwallyworld_: is that useful if you don't know if they can only see apport bugs or something?02:58
wallyworld_of course we'd add that into the nav portlet in the final version02:59
wallyworld_what's there now is based on the original screenshots before these new things were thought of02:59
huwshimiwallyworld_: Right, that's why I'm trying to determine how this should look now that we have that new info03:00
wallyworld_ok :-)03:01
huwshimi(btw I'm doing a whole new set of mockups, so this isn't me asking you to do anything at this point).03:01
huwshimi"of course we'd add that into the nav portlet in the final version" <- what is "that" in this sentence?03:03
wallyworld_the summary  of number of apport bugs and "quicklink"03:04
wallyworld_(and any other quicklinks deemed necessary)03:04
huwshimiwallyworld_: So there would be a list of each "tag" with the number of observers/restricted observers?03:05
wallyworld_perhaps. that's what i would want to see as a user03:05
wallyworld_sort of a shortcut to using the search form03:06
wallyworld_but that may not be feasible for the number of tags we have03:06
wallyworld_it's really up to the users to ask for what they want in that portlet03:06
wallyworld_ah, scratch that comment about number of tags03:07
wallyworld_the portlet has roles (observer, restricted observer)03:08
wallyworld_plus any other shortcuts we want to add03:08
wallyworld_or are asked to add03:08
StevenKwgrant: Have another look?03:08
wgrantStevenK: It seems sort of odd to call it as a method on a bugtask, but still have to pass the context in manually.03:10
StevenKwgrant: I have no choice -- the main call sites don't have a BugTask.03:11
wgrantStevenK: That's why there was a separate *Context method before.03:11
StevenKwgrant: You'd like me to duplicate the current methods to Context and context-less versions?03:13
wgrantStevenK: Yes. The implicit context version of userHasBugSupervisorPrivileges seems to already exist, but it's called userHasPrivileges.03:14
lifelesspoolie: I think showing the evaluated flag values is ok; just the scopes are the issue.03:16
huwshimiwgrant, wallyworld_: In the prototype where it says "Subscribed to 6 bugs and 4 branches" is "subscribed to" the right wording there?03:55
wgrantNo.03:56
wallyworld_nope03:56
wgrant"subscribed" is wrong.03:56
wgrantIt's not clear what the right wording is.03:56
wallyworld_the wording is/was true to the originally supplied screenshots03:56
wgrantI want to dump "observer" and say "access" or something instead.03:56
lifelessprivate things shared with you03:57
wallyworld_"access" sounds ok for now i think03:57
lifelessisn't that the concept ?03:57
wallyworld_yes, but we need a single word or two03:57
lifeless'shared with'03:57
wgranthuwshimi: Where in the prototype does it say this?03:57
wgrantI haven't looked for a while.03:57
lifelessalso why are we showing counts.03:57
huwshimiwgrant: http://people.canonical.com/~ianb/disclosure/03:58
wallyworld_'shared with' sounds ok03:58
wallyworld_counts? as per the original screenshots03:58
wallyworld_i personally like them03:58
lifelesswhich original screenshots ?03:58
wallyworld_i would want to see them as a user03:58
wgrantSo, showing the counts outside the context of a particular policy probably doesn't make sense.03:58
wallyworld_the balsalmiq ones from 18 months ago03:59
wallyworld_not sure who did them03:59
wgrantI still suggest [Proprietary: everything] [Security: 2 bugs, 4 branches] or something like that.03:59
huwshimiI was thinking the heading could be changed to "Disclosed bugs and branches" and the the content could just be the count "6 bugs and 4 branches"03:59
wgrantKills off the column, and destroys the probably deliberately obscure "observer" terminology.03:59
wallyworld_that works03:59
lifelessrule of thumb: showing precise counts is expensive. Unless it matters, don't.03:59
huwshimiis that doing too much for a summary though?03:59
lifelessin this case, what matters is that you can click to expand the user/team and see what they have access to.04:00
wallyworld_i guess it's up to the users whether it matters04:00
lifelessI don't see how the exact count matters.04:00
lifeless(after all, its potentially wrong as soon as we render the page :))04:00
wallyworld_as i user i'd want some indication, perhaps not an exact count04:00
wallyworld_sure, and so are amazon stock counts on their order page04:01
wgrantlifeless: As an OEM project manager, I need to grant a distro engineer access to one of my bugs, to get their expertise.04:01
wallyworld_but they still show them04:01
lifelesswgrant: then you need to know that their access is restricted.04:01
wgrantOn the disclosure management page, I want to be able to see that he doesn't have access to 2000 bugs.04:01
wallyworld_actually, shopping sites normally show < 5 in stock or > 5 in stock or whatever04:02
huwshimiwgrant: But how do we show that without an exact count?04:02
wallyworld_so not exact counts04:02
lifelesswallyworld_: right, because thats all that matters to the user: can they make a reasonable order and get instant delivery.04:02
wallyworld_i think we need some indication, but not exact if it's expensive04:02
lifelesswgrant: so do you want a whiteboard to say 'this engineer should only access branch X' ?04:02
lifelesswgrant: how will the project managers coordinate things?04:02
lifelessanyhow, if the schema can do it brilliantly-fast, thats cool. It just sets off alarm bells every time I see this.04:03
wgrantlifeless: Note that "the schema" is now invalid :/04:03
wallyworld_tales question - <div tal:repeat foo=somefoos tal:condition foo.somecheck/> - fails because foo is not yet defined for the condition check04:05
wallyworld_what's the best way to get around this?04:05
wallyworld_i guess i need to use a nested div04:06
lifelessfoo is a collection ?04:07
huwshimiSo, do we want the "Disclosed bugs and branches" column and if so what will the content be if it's not exact counts?04:07
lifelesssorry, somefoos is ?. anyhow, the condition runs before the loop04:07
wallyworld_somefoos is pseudo code. bugger about conditiob running before loop04:08
wallyworld_i'll have to rework the tales04:08
wallyworld_i want the condition on each item in the loop04:08
wallyworld_huwshimi: we want the column with approx counts i reckon04:09
huwshimiwallyworld_: How do you represent an approx count?04:10
wallyworld_that's for you as ui designer to tell us :-P04:11
StevenK"~ 4 branches" ?04:11
wallyworld_or perhaps "< 10" or ">10"04:11
huwshimiwallyworld_: Right, but I have no idea what an approx count is04:11
huwshimiwallyworld_: Ok, thanks04:11
lifelessone of the reasons I was challenging the column is that it will get long04:12
lifelessbugs04:12
lifelessbranches04:12
wallyworld_10 is arbitrary04:12
lifelessmilestones04:12
lifelessseries04:12
lifelessblueprints04:12
lifelessanswers04:12
huwshimiwallyworld_: So we can get the database to return roughly what the user can see?04:12
lifelesswill all eventually be assets accounted for04:12
lifelesshuwshimi: we can ask it to estimate, it sometimes is spooky accurate, and sometimes heinously wrong04:13
wallyworld_lifeless: can postgres return approx counts efficiently? i think so, based on previous irc conversations?04:13
huwshimilifeless: Ah great. Thanks04:13
lifelessit can return the plan estimate04:13
wallyworld_but it would be accurate for small numbers no? like > 10 or < 10 ?04:13
lifelesssometimes04:13
huwshimiwallyworld_: but would we no whether it was >10 or <10?04:13
huwshimiwallyworld_: or just ~1004:14
wallyworld_not sure04:14
huwshimi*know04:14
wallyworld_i don't think it matters04:14
wallyworld_i would just want to know if my exposure to that user is big or small04:14
huwshimiwallyworld_: Well it matters in how we represent it04:14
wallyworld_to catch situations like wgrant described above04:14
wallyworld_hmmm04:15
huwshimiwallyworld_: 10, >10 and <10 are all very different things04:15
wallyworld_yes. i don't think we need "10" though.04:16
wallyworld_i would want to know < some number or > some number04:16
huwshimimaybe we should kill this column and if people want to know what the user can see they have to view the person/team details04:17
huwshimicause >10 is really a meaningless number to represent04:17
wallyworld_perhaps, especially if it expands to more than bug and branches04:17
wallyworld_> 10 is not meaningless - it depends on what you want to know04:17
huwshimiwallyworld_: well it is meaningless if the exact number is 2,00004:18
wallyworld_ie have you accidentally allow the user to see more than just the 1 or 2 branches you assigned them to04:18
huwshimiwallyworld_: I know in reality the estimation won't be that far off, but the user doesn't know that04:18
wgrantEr04:18
lifelesshuwshimi: it may be that far off04:18
wgrantThe estimation may be orders of magnitude off.04:18
lifelesshuwshimi: approx *really is* approx04:18
huwshimilifeless: Oh04:18
lifelessthe accuracy depends a great deal on how complex the query is04:18
huwshimilifeless: OK, thanks that helps make the decision :)04:19
wallyworld_lifeless: is it accurate for 0 or not 0?04:19
lifelesswallyworld_: no04:19
wallyworld_wtf?04:19
wgrantIt doesn't use indices.04:19
lifelesswallyworld_: 0 is not special cased04:19
wgrantIt uses randomly gathered stats.04:19
wallyworld_weird design then04:19
lifelesswallyworld_: row count is just a vector, how many rows it thinks will be returned.04:19
lifelesswallyworld_: it may think that 3 rows will be returned for a query that returns none04:20
wallyworld_ok. i don't like postgres anymore then04:20
lifelesswallyworld_: theres no possible way it can know a priori that nothing*can* be returned unless it executes the query04:20
lifelesswgrant: did your previous schema report counts efficiently?04:23
wgrantIn my late schema it isn't denormed, but it's only through one join and row counts will be low unless people are doing stupid things.04:24
wgrantI didn't try getting counts on Ubuntu-scale data.04:25
wgrantBut I could.04:25
wgrantNot that it's going to be immensely useful, because the schema has to change.04:25
lifelesswhy ?04:25
wgrantProbably adding an intermediate table between APA and AP.04:25
wgrantBecause we need multiple policies per artifact.04:25
lifelessELOST04:25
wgrantWe must support multi-pillar private security bugs.04:26
wgrantTherefore we cannot have a single policy per bug.04:26
wgrantTherefore APA.policy cannot be.04:26
StevenKwgrant: And another look?04:31
poolie(back)04:42
poolielifeless, re your comment above, my branch does still show the active values, just not the scopes that caused them04:42
lifelesscool04:42
StevenKwgrant: Do you want to actually scribble on this MP, or shall I bug the OCR?04:47
wgrantStevenK: Looking right now, actually.04:48
wgrantSorry, been distracted in -ops and stuff04:48
wgrantApproved04:49
StevenKwgrant: Thanks, tossing at ec2.04:50
StevenKcheck_permission('launchpad.View', team) in a view magically looks up the user, or am I Doing It Wrong?05:34
pooliestevenk i think it does use the current user05:35
wgrantStevenK: It uses the user from the current request.06:00
poolielifeless, maybe we can make the 404 page just more obvious?06:12
pooliethat won't fix everything but it will help the common case06:12
poolienm actually06:16
lifelessstub: so, catchup time ?06:55
stublifeless: sure07:25
bigjoolsmorning08:54
nigelbMorning bigjools :)09:04
adeuringgood morning09:10
=== almaisan-away is now known as al-maisan
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap | Critical bugtasks: 3*10^2
nigelbHi, can I have the launchpad task removed from this bug? bug 88461011:42
_mup_Bug #884610: Change the attendee in +temp-meeting-export <Launchpad itself:Triaged by nigelbabu> <Summit:New> < https://launchpad.net/bugs/884610 >11:42
nigelbIt seems we can solve this in summit itself and patching launchapd isn't necssary.11:42
rvbaallenap: I know you're busy right now but can you add this MP to your queue? https://code.launchpad.net/~rvb/launchpad/private-ppa-bug-890927-2/+merge/8408311:43
allenaprvba: Sure can :)11:43
allenapnigelb: I'll have a look11:43
bigjoolsI already removed it11:44
nigelb\o/11:44
nigelbThanks!11:44
allenapbigjools: That would have been my first bugtask deletion ;-(11:44
bigjoolsallenap: lol, sorry.  It was my 2nd :)11:44
allenap:)11:44
rvbaallenap: I spoke with Gary about this so maybe he will be willing to have a look too.11:45
bigjoolsI think I did the first one in prod when it went live11:45
nigelbThanks you guys *so* much for this feature :)11:45
nigelbSo many unnecessary bugtasks lying around :)11:45
rvbaallenap: I've been force to monkey patch a view in a test… I really don't know why that is because the view in question is created via an url that exists.11:46
rvbaforced even11:46
allenaprvba: I am intrigued...11:47
gmbOh, how I love developing with trusted.sql12:06
nigelbSomehow I think its infactuation and not *real* love ;)12:12
gmbnigelb: Possibly. I use it in the same way as I would use the phrase "Oh, how I love slamming the car door on my fingers in the morning."12:23
nigelbgmb: Heh12:23
bigjoolsis there anyone around who knows anything about the code importer?13:16
jelmerbigjools: somewhat13:16
jelmerbigjools: what's up with the code importer?13:17
bigjoolsjelmer: trying to find out why it ran out of memory on a certain date/time13:22
bigjoolsthe logs are somewhat obtuse13:23
bigjoolsjelmer: a worker was killedby an admin is it was hitting swap, I am trying to find out which worker, which branch etc13:27
mhall119can someone tell me the URL for the Launchpad XMLRPC service where I can call isTeamPublic?13:28
mhall119I'm trying to test the public teams access controll for launchpad lists13:28
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | Critical bugtasks: 3*10^2
=== jcsacket1 is now known as jcsackett
abentleyadeuring, rick_h_: with deryck away, do you want to do the standup in 22 minutes or 1:22?14:08
rick_h_abentley: either works for me14:10
=== Laney is now known as Guest60660
adeuringabentley, rick_h_: let's wait for deryck14:15
abentleyadeuring: In other words, you want to hold the stand-up in the North American afternoon?14:16
adeuringabentley: it's still afternoon for me too ;)14:16
abentleyadeuring: Even the morning is after the previous day's noon :-)14:17
adeuringabentley: right ;) But 4:30 pm local time is still pretty early for me14:18
abentleyadeuring: cool.14:19
abentleyadeuring: Did you want any more help with the work you're doing?14:19
adeuringabentley: no, thanks, I'm making some slow progress14:19
abentleyadeuring: okay.14:19
sladenbzr log -r 14418..1441914:32
sladenis that doing the opposite to what what poolie was working on with Like!/+1 etc?14:32
rvbasladen: indeed. Our technical architect has spoken: external js/css is now verboten.14:36
* nigelb hugs james_w 14:48
=== Laney is now known as Guest19719
sladenrvba: sur gut15:00
abentleymrevell: I have some questions about getting rid of the hot bug listings.  Do you have time for a chat?15:11
allenapjcsackett: Thanks for the Approved.15:25
jcsackettallenap: you're welcome.15:26
=== matsubara is now known as matsubara-lunch
mrevellabentley, I do at around 17.00 UTC, if that's any good.15:29
abentleymrevell: sure, let's do that.15:29
mrevellGreat.15:29
=== Guest19719 is now known as Laney
* mrevell has been on the Launchpad team five years today :)16:17
rick_h_mrevell: congrats?16:18
rick_h_or hould we be sending bottles to a certain address?16:19
mrevellhttps://launchpad.net/~launchpad-dev/+mailing-list-subscribers16:20
mrevelloops16:20
mrevelldanhg, ^^^16:20
mrevellrick_h_, Yeah, congrats definitely :) And bottles would be lovely, haha16:20
Ursinhamrevell: congrats! :)16:22
mrevellThanks Ursinha :)16:22
=== matsubara-lunch is now known as matsubara
=== Ursinha is now known as Ursinha-lunch
* bigjools shakes mrevell's hand16:36
=== al-maisan is now known as almaisan-away
abentleymrevell: chat?17:03
abentleymrevell: sure.17:04
mrevellthanks17:04
mrevellabentley, Does Skype work for you?17:07
abentleymrevell: sure.17:07
=== Laney is now known as HOHOHaney
mrevellabentley, https://dev.launchpad.net/Projects/CustomBugListings/Design17:18
=== salgado is now known as salgado-lunch
=== beuno is now known as beuno-lunch
lifelessmorning18:07
=== salgado-lunch is now known as salgado
deryckabentley, ping.18:11
abentleyderyck: pong18:32
deryckabentley, hey, don't have long to chat since rick_h_ and I are sharing a sprint room, but he's lunching.  shall we mumble?18:33
abentleyderyck: let's.18:33
=== beuno-lunch is now known as beuno
abentleyderyck: https://dev.launchpad.net/Projects/CustomBugListings/Design18:41
abentleyderyck: I figured it out: registry/browser/configure.zcml sets +bug-index as the default, but bugs/browser/configure.zcml actually defines +bug-index.  Never seen those done in separate place before.19:05
deryckabentley, ah!  great, thanks.19:06
sinzuiabentley, bug is all messed up by bugtask19:07
abentleysinzui: I don't understand.19:07
sinzuiabentley, I favour deleting all bug domain entries from registry19:07
abentleysinzui: me too.  I'll do what I can.19:08
sinzuiabentley, sorry I misread the location of the configure.zcml19:08
abentleysinzui: Does moving the browser:defaultView entries for BugsLayer out of registry/browser/configure.zcml sound good to you?19:11
sinzuiyes please19:11
abentleysinzui: great.19:12
=== jcsackett_ is now known as jcsackett
abentleyderyck: there's no way of feature-flagging this change, but I think even non-beta users will be pleased by it.19:26
=== jcsackett_ is now known as jcsackett
abentleymrevell, deryck: Another point in favour of a single display rather than configuring between two-row/one-row is that widescreen users may alternate between half-width and full-width browsers.19:34
=== jcsackett_ is now known as jcsackett
=== matsubara is now known as matsubara-afk
wallyworld_sinzui: i have to drive my wife to work today and will be absent at standup. could we have a chat now?21:16
sinzuiyes21:16
wallyworld_jcsackett: hi, i just saw the email about the mockups. i can make the changes today if you haven't already21:32
* wallyworld_ runs away to drive wife to work. back soon21:37
rick_h_deryck: http://uploads.mitechie.com/lp/lp_spinner_indicator.png21:53
jcsackettwallyworld_: indeed, i didn't get to said mockup changes. however, if you don't manage to get much done on that front today I should be able to tackle them tomorrow.22:51
wallyworld_jcsackett: shouldn't take too long. i'll let you know if i don't get it done22:52
jcsackettwallyworld_: dig.22:52
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugtasks: 3*10^2
=== wallyworld_ changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: wallyworld | Critical bugtasks: 3*10^2
wallyworld_sinzui: there's currently no protection around icon in the team tales formatter; the icon is always rendered. so i don't think we need a test for that23:34
wallyworld_same with logo from what i can tell23:36
wgrantlifeless: Any objection to letting team admins promote other admins?23:50
wgrant(with a view to abolishing team owners eventually)23:51
lifelessgiven that delegated operation of teams is a feature, yes.23:52
lifelessletting team admins promote other admins I have no intrinsic objection to.23:52
wgrantWe can't abolish ownership without separating member/admin, right.23:53
lifelessperhaps I wasn't clear23:53
lifelessabolishing ownership is undesirable23:53
wgrantWhy?23:53
lifeless'delegated operation of teams is a feature'23:53
wgrantAssuming you can be an admin without being a member, why do we need an owner?23:53
lifelessare you saying 'there are no differences between owners and admins if admins can promote themselves' ?23:57
wgrantNo.23:58
wgrantIf we change the current fact that admin privileges imply membership, the only benefit ownership provides is that it can't be revoked by the other admins.23:58
wgrant(as well as confusing people to death, and introducing obscure special cases in our and others' code)23:59

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