Re: [Launchpad-dev] Bug page polish

2009-10-22 Thread Julian Edwards
On Thursday 22 October 2009 01:14:56 Tim Penhey wrote:
 If my picture suddenly gets added everywhere I may have to take the horns
  off.

Wimp!
 
 Anyway, I'm not opposed to the logo being shown, but if we do this, lets
  make sure we do it in the same way for everywhere that gets comments.

Yeah, I had that in mind too but didn't make it explicit.  I sense some 
potential refactoring :)

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Bug page polish

2009-10-22 Thread Jonathan Lange
On Wed, Oct 21, 2009 at 3:19 PM, Martin Albisetti
martin.albise...@canonical.com wrote:
 Aaron Bentley wrote:

 - Show the relationship between bugtasks better. Where did the bug
 originate? Where was it fixed? What is it blocked on?  In general, if a
 bug has a bugtask on a package and on upstream, it's pretty safe to say
 that it depends on upstream fixing it first.

 Why?  I would think we have the option of fixing it first and then
 propagating the fix to upstream?

 Absolutely. So this would be the default assumption, and if it got marked as
 fix committed/released in a package first, we would flip that around.
 I say we should assume that by default because, well, upstream bugs *are*
 upstream bugs, even if we fix them, ideally, we would fix them upstream.


Ideally, yes. Practically never.

An example, during the many years of Launchpad development we've come
across bugs in LP that were actually bugs in our dependencies. Rather
than fix the dependencies, wait for a release and use that, we'd often
fix or work-around the problem in Launchpad and send a patch upstream.
In the case of at least one bug I know, the patch only landed on
upstream trunk after a year.

What I mean is, getting things upstream is important but rarely ever urgent.


 - Adding attachments workflow needs to be finished off. Ajaxified, show
 them in a better way than squished in small a box on the bottom right,
 attached patches should be shown in the same place as linked branches,
 and images, in a perfect world, should show a thumbnail.

 And for patch attachments, provide a way to propose it for merging?

 That would rock, yes.


Or indeed, just turn it into a merge proposal right away.

There's a cluster of bugs that I've tagged with 'patch-tracking'. It's
something I'm personally quite interested in.



 I think it would also be interesting to explore pinning a comment as the
 description like web forms often pin posts, rather than having the
 description and comments be completely separate things.

 Pinning comments would be great, yes. Especially for things like this is
 the definitive answer for this bug.

Bugs don't have answers :)

jml

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Bug page polish

2009-10-22 Thread Jonathan Lange
On Wed, Oct 21, 2009 at 4:45 PM, James Westby jw+deb...@jameswestby.net wrote:
 On Wed Oct 21 16:27:49 +0100 2009 Julian Edwards wrote:
 On Tuesday 20 October 2009 20:57:49 Martin Albisetti wrote:
  Hello Launchpaderos and Launchpaderas,

 Hello Duderino.

  - Being on a roll here, how about highlighting the reporters' comments?
   His comments will most likely be very important.

 On a similar note, how about adding the poster's icon next to the comment?

+1

 Again similarly, adding the user id of the user would be useful to many of us.


+1

 In Ubuntu development we have quite a few processes where some action is taken
 because a developer said so in a bug. This is fairly fragile currently as 
 anyone
 could change their display name to James Westby and make requests posing as
 me.


Another approach would be to somehow intelligently highlight comments
that come from people trusted within that project.

 Some of us that process such requests use a greasemonkey script to display the
 user id next to the comment, to try and alleviate this (though ~jamesw might
 still be able to pose as me without being caught). In addition it displays
 the emblems of some Ubuntu related teams when the person is in them, which
 is even more robust, and their karma (not really useful here, but can be
 useful in other cases).

 It would be good to have this built-in. I realise that working out which
 team emblems to show could be complex.


I think something along these lines would be good.

Also, if we do it, let's make sure we do it for comments everywhere,
not just bugs.

jml

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


[Launchpad-dev] RFC: Stopping apport-driven +filebug requests from timing out

2009-10-22 Thread Graham Binns
Hi folks,

We've been seeing repeated timeouts in the +filebug page where users are
coming from apport (so +filebugs/$token, to be precise). These timeouts
often look like they're happening in the LoginStatus code, but some
investigation proves this to be a red herring.

My current theory is that:

 1. A user comes to +filebug/$token
 2. FileBugViewBase.publishTraverse() handles the token, fetches the
LibraryFileAlias to which it points and then passes that to a
FileBugDataParser.
 3. FileBugViewBase.publishTraverse() calls FileBugDataParser.parse()
 4. Time passes.
 5. More time passes.
 6. FileBugDataParser.parse() completes and the request continues, but
parse() has taken so long to run (~30 seconds) that by the time the
LoginStatus code is being run the timeout limit kicks in and the
request is given the nuclear boot of doom.

FileBugDataParser.parse() is in fact pretty much one big while loop
(lib/lp/bugs/browser/bugtarget.py:187), looping over the contents of the
file that apport has attached and dealing with them appropriately. I'm
pretty certain that the problem we're having is just one of too much
data; the files that were being uploaded by apport in the cases I looked
at were circa 90MB in size, and they're going to take a while to parse,
whichever way you look at it.

Now, as far as I can tell - without studying the loop in detail and
trying to find ways to slim it down - the only real way to fix this is
to move the processing of the apport data elsewhere, so that it doesn't
impact on the user's session. As I see it, the options are:

 1. Create a script that processes apport data and make it possible for
the +filebug process to tell it Hey, this LibraryFileAlias is mine,
please process it and update this bug appropriately after the bug
has been filed.
 2. Make it so that the apport data get processed before the user is
pointed at +filebug, so that the requisite data are available to
+filebug as via a series of queries instead of locked away in a
BLOB.
 3. A variation on option 1, whereby +filebug will only use the
asynchronous method for files over a certain size, e.g. 25MB or so).

The problem with options 1 and 3 is that we need the apport data before
filing the bug, as far as I can tell. The docstring of
FileBugDataParser.parse states that the following items are gleaned from
apport:

  * The initial bug summary.
  * The initial bug tags.
  * The visibility of the bug.
  * Additional initial subscribers

In addition:

  * The first inline part will be added to the description.
  * All other inline parts will be added as separate comments.
  * All attachment parts will be added as attachment.

So at this point, as far as I can tell, only option 2 is actually
viable, though it may require changes to apport, too (probably not, but
I'm just tossing it in there for the sake of being paranoid). Unless
there's some other way of fixing this that I've not thought about at
this point (as I said, I haven't had time yet to properly profile the
offending while loop to find out if there are savings to be made).

I'd appreciate any comments or suggestions you might have.

Regards,

Graham

-- 
Graham Binns | PGP Key: EC66FA7D

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] RFC: Stopping apport-driven +filebug requests from timing out

2009-10-22 Thread Gavin Panella
On Thu, 22 Oct 2009 10:55:00 +0100
Graham Binns gra...@canonical.com wrote:

 Hi folks,

 We've been seeing repeated timeouts in the +filebug page where users are
 coming from apport (so +filebugs/$token, to be precise). These timeouts
 often look like they're happening in the LoginStatus code, but some
 investigation proves this to be a red herring.

 My current theory is that:

  1. A user comes to +filebug/$token
  2. FileBugViewBase.publishTraverse() handles the token, fetches the
 LibraryFileAlias to which it points and then passes that to a
 FileBugDataParser.
  3. FileBugViewBase.publishTraverse() calls FileBugDataParser.parse()
  4. Time passes.
  5. More time passes.
  6. FileBugDataParser.parse() completes and the request continues, but
 parse() has taken so long to run (~30 seconds) that by the time the
 LoginStatus code is being run the timeout limit kicks in and the
 request is given the nuclear boot of doom.

IIRC, this version of the parser has already been Bjornified and is
about a tillenion times faster than it was previously. I guess we're
hitting a new limit now.


 FileBugDataParser.parse() is in fact pretty much one big while loop
 (lib/lp/bugs/browser/bugtarget.py:187), looping over the contents of the
 file that apport has attached and dealing with them appropriately. I'm
 pretty certain that the problem we're having is just one of too much
 data; the files that were being uploaded by apport in the cases I looked
 at were circa 90MB in size, and they're going to take a while to parse,
 whichever way you look at it.

 Now, as far as I can tell - without studying the loop in detail and
 trying to find ways to slim it down - the only real way to fix this is
 to move the processing of the apport data elsewhere, so that it doesn't
 impact on the user's session. As I see it, the options are:

  1. Create a script that processes apport data and make it possible for
 the +filebug process to tell it Hey, this LibraryFileAlias is mine,
 please process it and update this bug appropriately after the bug
 has been filed.
  2. Make it so that the apport data get processed before the user is
 pointed at +filebug, so that the requisite data are available to
 +filebug as via a series of queries instead of locked away in a
 BLOB.
  3. A variation on option 1, whereby +filebug will only use the
 asynchronous method for files over a certain size, e.g. 25MB or so).

 The problem with options 1 and 3 is that we need the apport data before
 filing the bug, as far as I can tell. The docstring of
 FileBugDataParser.parse states that the following items are gleaned from
 apport:

   * The initial bug summary.
   * The initial bug tags.
   * The visibility of the bug.
   * Additional initial subscribers

 In addition:

   * The first inline part will be added to the description.
   * All other inline parts will be added as separate comments.
   * All attachment parts will be added as attachment.

 So at this point, as far as I can tell, only option 2 is actually
 viable, though it may require changes to apport, too (probably not, but
 I'm just tossing it in there for the sake of being paranoid). Unless
 there's some other way of fixing this that I've not thought about at
 this point (as I said, I haven't had time yet to properly profile the
 offending while loop to find out if there are savings to be made).

It should be possible to stop parsing one we have:

  * The initial bug summary.
  * The initial bug tags.
  * The visibility of the bug.
  * Additional initial subscribers
  * The first inline part.

These are all early on in the apport blob.

Then, later, parse the remainder of the blob:

  * All other inline parts.
  * All attachment parts

(We could also add a notification to the response saying that this
kind of stuff is happening.)

A problem with parsing ahead of time is that we then have to figure
out how and where to store the results, which may involve some
additional serialisation and parsing.

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Bug page polish

2009-10-22 Thread James Westby
On Thu Oct 22 09:58:32 +0100 2009 Jonathan Lange wrote:
 On Tue, Oct 20, 2009 at 8:57 PM, Martin Albisetti
 martin.albise...@canonical.com wrote:
  - Being on a roll here, how about highlighting the reporters' comments?  His
  comments will most likely be very important.
 
 I think you only want to do this subtly. 

I know Bryce values his greasemonkey script that does this. It makes it easier
for him to deal with the person that reported the my video flickers bug, while
telling the others who are commenting on it, but who have completely different
symptoms, to file a new bug.

Thanks,

James

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


[Launchpad-dev] Pre release QA process description

2009-10-22 Thread Diogo Matsubara
Hello all,

I updated and published[1] the description of our pre release QA process.

It explains the meaning of the status used in Launchpad's test plans
[2] and how can you help testing LP landings and make the burndown
graph[3] all green before the release. :-)

Let me know if you have questions and/or suggestions.

[1] https://dev.launchpad.net/PolicyAndProcess/PreReleaseQAProcess
[2] https://dev.launchpad.net/QATeam/TestPlans
[3] https://devpad.canonical.com/~lpqateam/test-plan-report-3.1.10.html

Cheers,
-- 
Diogo M. Matsubara

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Bug page polish

2009-10-22 Thread Matthew Paul Thomas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Martin Albisetti wrote on 20/10/09 20:57:
...
 I've been thinking about the bug page. I've had a few attempts at
 creating wireframes of what it could look like, but no matter how much I
 try, I always get taken down a path that requires radical changes.

Nothing wrong with that. :-) As long as any new design is obviously
better, and you introduce it all at once to minimize disruption.

It's not clear that any of the problems you list require radical changes
to solve, though -- they could all be fixed incrementally. Maybe this
would be more obvious with a wireframe or two.

...
 - Show the relationship between bugtasks better. Where did the bug
 originate? Where was it fixed? What is it blocked on?  In general, if
 a bug has a bugtask on a package and on upstream, it's pretty safe to
 say that it depends on upstream fixing it first.

It doesn't really matter where the bug originated -- what matters is
what software it actually affects. As for upstream fixing it first, the
Papercuts project is a pretty big counterexample to that.

There is a bit of history here, though, which could inspire some
simplification. The Won't Fix status was originally intended to be
Won't Fix Here, where a bug does affect a project/package but really
does need to be fixed elsewhere. (For example, a bug in a library that
could theoretically be worked around by an application using the
library, but in practice the library should just be fixed.) But people
never used it that way; even Launchpad developers now use Won't Fix
merely as a euphemism for the harsher-sounding Rejected. Therefore,
there is no point in Won't Fix and Rejected coexisting; they should
be merged.

...
 - Also affects... is a mess. You can create another bugtask with 3
 different options (Also affects project, Also affects distribution and
 Target to release). Target to release doesn't do what most people
 expect, because it targets it to a series. A release comes from a
 milestone.
 We need to improve the flow there, maybe collapse the Also affects...
 into one picker that selects packages or products.

Absolutely. http://launchpad.net/bugs/1334

 - Descriptions should be more prominent. They describe the bug, they
 should be more visible.

It would help if the description used the same font size as normal
Launchpad text. And I think getting rid of the Bug Description heading
would help here, too, because it's crowding the space under the Affects
table.

 - Related branches is too vague. If there's a branch linked to a bug,
 what you're really saying is this probably fixes it. We probably
 want to show if there are any merge proposals attached to that branch,
 when it was last updated, and maybe even let you subscribe to it from
 the bug.

In addition to what Aaron said, I'm often now seeing the trunk branch
for a project linked to a bug report. I don't know why it's happening,
but I'm not sure it's useful to someone reading the bug report.

 - The subscribers portlet is too long. We have a mockup from a
 previous sprint on a way to fix that, collapsing all the sections,
 giving you the description on why they are subscribed in a tooltip and
 cutting it off after a number of subscribers.

It's too long for what? People do, and should, behave differently when
commenting on a bug report that has 200 subscribers than on one that has
three subscribers. And listing every subscriber is probably the most
effective way of communicating that -- more visually obvious than, for
example, just giving a count. (You don't actually need to know the exact
number, you just need a sense of the audience size.)

Another case to consider is: I'm talking about a bug with someone, and
they ask me to check that they're subscribed to the bug report. With the
current design, I can do this with the browser's Find command.

If the subscriber list is displacing other information (e.g. the list of
linked blueprints), I suggest moving that information into the main
content area.

   Maybe you don't need to
 show my name on there if there's already an unsubscribe button?

That might be a bit non-obvious.

 - Adding attachments workflow needs to be finished off. Ajaxified, show
 them in a better way than squished in small a box on the bottom right,
 attached patches should be shown in the same place as linked branches,
 and images, in a perfect world, should show a thumbnail.

Yes! And filetype icons for the others.

 - You should be able to specify that a new tag is an official one, if
 you have permissions on the project.

With some careful design, I think the whole official tags bureaucracy
could be abolished.

 - Tell me how much the bug affects users. Show me the number, show be
 a flame, but show me something.

This could be merged with the subscriber list somehow.

 - Maybe h1's should be a bit smaller in general, so we don't have so
 many titles that wrap?

Relatedly, it's awkward to have the Edit 

Re: [Launchpad-dev] RFC: Stopping apport-driven +filebug requests from timing out

2009-10-22 Thread Francis J. Lacoste
On October 22, 2009, Graham Binns wrote:
 Hi folks,
 
 We've been seeing repeated timeouts in the +filebug page where users are
 coming from apport (so +filebugs/$token, to be precise). These timeouts
 often look like they're happening in the LoginStatus code, but some
 investigation proves this to be a red herring.
 
 My current theory is that:
 
  1. A user comes to +filebug/$token
  2. FileBugViewBase.publishTraverse() handles the token, fetches the
 LibraryFileAlias to which it points and then passes that to a
 FileBugDataParser.
  3. FileBugViewBase.publishTraverse() calls FileBugDataParser.parse()
  4. Time passes.
  5. More time passes.
  6. FileBugDataParser.parse() completes and the request continues, but
 parse() has taken so long to run (~30 seconds) that by the time the
 LoginStatus code is being run the timeout limit kicks in and the
 request is given the nuclear boot of doom.
 
 FileBugDataParser.parse() is in fact pretty much one big while loop
 (lib/lp/bugs/browser/bugtarget.py:187), looping over the contents of the
 file that apport has attached and dealing with them appropriately. I'm
 pretty certain that the problem we're having is just one of too much
 data; the files that were being uploaded by apport in the cases I looked
 at were circa 90MB in size, and they're going to take a while to parse,
 whichever way you look at it.
 
 Now, as far as I can tell - without studying the loop in detail and
 trying to find ways to slim it down - the only real way to fix this is
 to move the processing of the apport data elsewhere, so that it doesn't
 impact on the user's session. As I see it, the options are:
 
  1. Create a script that processes apport data and make it possible for
 the +filebug process to tell it Hey, this LibraryFileAlias is mine,
 please process it and update this bug appropriately after the bug
 has been filed.
  2. Make it so that the apport data get processed before the user is
 pointed at +filebug, so that the requisite data are available to
 +filebug as via a series of queries instead of locked away in a
 BLOB.
  3. A variation on option 1, whereby +filebug will only use the
 asynchronous method for files over a certain size, e.g. 25MB or so).
 



Another possibility is that when the user hits +filebug, a page showing a 
spinner and telling the user Processing apport data That page would fire 
a job to parse the data, and then you poll every 5 seconds to see if the parse 
completed. You can do it using AJAX, but you'll need to have a non-JS version 
that only refresh the whole page every 10 seconds for people without JS.



-- 
Francis J. Lacoste
francis.laco...@canonical.com


signature.asc
Description: This is a digitally signed message part.
___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


[Launchpad-dev] Registry standup notes: 2009-10-22

2009-10-22 Thread Brad Crittenden

Barry:

* Still working on migration.  Currently looks good.  Python 2.5 +  
ZTK  branch is down to one failure!

* 27 failures in Python 2.6 (but before ZTK merge).
* Good chance of being done by tomorrow.

Brad:

* Bug 419742.
* Start on bug 455812 - distroseries milestone timeout.
* QA

Curtis:

* Landed +ubuntupkg fixes.
* Starting on bug 193469, Unlink (Ubuntu) package from series.


Edwin:

* Was OCR all day.
* Worked on 436507 -- Distroseries source package page has no links to  
the Distro SP page.  In review today.

* Follow up on reviews done.
* QA
* Look for high priority bug.

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] lazr-js multiline editor weirdness

2009-10-22 Thread Deryck Hodge
On Thu, Oct 22, 2009 at 8:47 AM, Francis J. Lacoste
francis.laco...@canonical.com wrote:
 On October 21, 2009, Deryck Hodge wrote:
 Take a look at the activation template string in
 lib.canonical.widgets.lazrjs.TextAreaEditorWidget.  There is a
 formatter config option that takes the XHTML and formats it nicely.
 This has to be done because the xhtml response is in dd tags via the
 API.  It's also not tested in the lazr-js example because it's
 dependent on our real XHR response, so it seemed silly to mock just so
 the test formatted nicely.  It's hackish, I know.  But I couldn't
 really work out a nicer way to do it.


 Leonard, I think we should remove the default HTML view for the API. People
 don't get that it's meant to be customized. By removing the default view,
 people will get an error and realize that they have to register their own HTML
 view for their content, instead of parsing the default XHTML representation
 and transforming it into what they want. It's the third time around somebody
 does this!!!


Ok, so I had a talk with Francis about this, and then spent the last
few hours working with Leonard.  With lots of hacking away at my code
to get something working.

Francis' comment about disabling the default view is misleading.
Afterall, I do have a xhtml view for bug description.  If he would
like the default to die, that's another issue really. :)

The problem is really that I'm patching an entire object to update a
field, and we need to patch only the field.  You can patch using a
field uri and do this, which gives back the xhtml representation of
the field, and only the field html back.  I wasn't aware we could do
this.  We're others?  How has anyone used this if so?

I suspect no one has done this, which is why this is the third time
for formatter hacks.  It seems to me that currently client.js doesn't
know how to deal with single field updates.  PATCHPlugin seems
designed around patching whole objects by building a dict of
patch_payload.  So I have some code working that changes client.js to
allow for both, and I can clean it up later tonight, which is what I
plan to do unless I hear that I'm headed down the wrong path.


Cheers,
deryck


-- 
Deryck Hodge
https://launchpad.net/~deryck
http://www.devurandom.org/

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp