[Launchpad-dev] This page allows you to...

2011-01-24 Thread Matthew Paul Thomas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Curtis Hovey wrote on 10/01/11 15:00:
...
 https://dev.launchpad.net/LEP/DerivativeDistributions#Mockups
 
 +newseries

This page allows you to add a new distribution series

In https://dev.launchpad.net/UserInterfaceWording a few years ago, I
proposed that no Launchpad page should intentionally contain the phrase
this page.

The window in which you are reading e-mail right now almost certainly
doesn't say this window allows you to read e-mail. In the same way,
the purpose of a page should be obvious from the contents of the page.

When a form page has a one-sentence introduction, it's easy to briefly
hint at the purpose of, consequences of, and/or next step after the
task, without referring to the page itself. In this case, for example:
Once you've registered a distribution series, it can be initialized
with packages from a parent series.

- -- 
mpt
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk09t/EACgkQ6PUxNfU6ecr1ggCdFgcR1GAo0P0GyXcP9RgIleQX
oLMAnjne4trlhgA5j4j/W1kse2h3c5NP
=v8S2
-END PGP SIGNATURE-

___
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] PythonStyleGuide reduced

2011-01-24 Thread Aaron Bentley
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11-01-21 05:59 PM, Henning Eggers wrote:
 Robert, Brad and myself reduced the style guide as follows. Please comment.
 
 https://dev.launchpad.net/PythonStyleGuide?action=diffrev2=20rev1=18
 https://dev.launchpad.net/PythonStyleGuide?action=diffrev2=20rev1=18

I think we should keep Importing a module should not have side
effects.  One of the libraries used by launchpadlib for storing
passwords does this, as does lp.codehosting, so we can't assume people
will avoid it.

Other than that, I think this looks good.

Aaron
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk09mhYACgkQ0F+nu1YWqI2KHQCggSxfvzBNsFxXGr9QIc2LpLE9
v+wAn0FjqgFEveBaKMqHjhpyEeY+duwU
=SxIg
-END PGP SIGNATURE-

___
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] Performance Characteristics of Codebrowse

2011-01-24 Thread Michael Hudson-Doyle
On Thu, 20 Jan 2011 22:42:57 -0800, Max Kanat-Alexander mka...@bugzilla.org 
wrote:
 On 01/20/2011 09:56 PM, Max Kanat-Alexander wrote:
  I'm also going to be doing some profiling of ChangeLogUI to see if it
  can be faster, but I'm not certain that will be possible.
 
   Okay, yes, some quick profiling shows that the only broad performance
 improvements we're going to see are:
   
   * Getting history_db live on codebrowse.

+1.  I suck for not having got this done before I left the launchpad
team...

   * Switching to a faster templating engine (I recommend Mako)

Can mako stream output though?  Much as I hate simpletal, not buffering
the output in RAM was an important change when I made it...

Cheers,
mwh

___
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] Performance Characteristics of Codebrowse

2011-01-24 Thread Robert Collins
On Tue, Jan 25, 2011 at 8:00 AM, Michael Hudson-Doyle
michael.hud...@canonical.com wrote:
       * Switching to a faster templating engine (I recommend Mako)

 Can mako stream output though?  Much as I hate simpletal, not buffering
 the output in RAM was an important change when I made it...

We're moving LP to chameleon (https://dev.launchpad.net/LEP/Chameleon)
- would that be faster  still stream?

-Rob

___
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] YUI upgrades (and Python upgrades)

2011-01-24 Thread Gary Poster
Hi Robert.  The people with more YUI 3 experience on my team have warned me 
that jumps from one big version of YUI to the next--say, 3.1 to 3.2--can be 
very disruptive.  They compared them to Python major dot releases.

1) Are you responsible for scheduling the YUI upgrades?  If not, and no one is 
officially, I suggest that we find someone to take that responsibility.

2) For whoever will be responsible, what will our upgrade policy be?  I'm 
interested in how it will be announced to the team and what kind of lead time 
we should expect.  Perhaps others will mention other things to consider.

As you know, I'm also interested in the Python upgrade story, and coordination 
for a smooth transition to the next LTS.  I expect the Python 2.7 migration is 
just another feature card that needs to have its scheduling negotiated with 
Jono?

Thank you,

Gary
___
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] YUI upgrades (and Python upgrades)

2011-01-24 Thread Robert Collins
On Tue, Jan 25, 2011 at 10:01 AM, Gary Poster gary.pos...@canonical.com wrote:
 Hi Robert.  The people with more YUI 3 experience on my team have warned me 
 that jumps from one big version of YUI to the next--say, 3.1 to 3.2--can be 
 very disruptive.  They compared them to Python major dot releases.

 1) Are you responsible for scheduling the YUI upgrades?  If not, and no one 
 is officially, I suggest that we find someone to take that responsibility.

I don't have it on my 'things to check plate'. I could add it, or we
can do it when useful in the same way we upgrade our zope dependencies
- that is when someone wants something, we check the impact and do the
upgrade.

 2) For whoever will be responsible, what will our upgrade policy be?  I'm 
 interested in how it will be announced to the team and what kind of lead time 
 we should expect.  Perhaps others will mention other things to consider.

I don't know :) What do you think we should do here? My initial
thought is that staying up to date on YUI has significant benefits for
us.

 As you know, I'm also interested in the Python upgrade story, and 
 coordination for a smooth transition to the next LTS.  I expect the Python 
 2.7 migration is just another feature card that needs to have its scheduling 
 negotiated with Jono?

I think its reasonable to treat problematic dependency changes as
feature cards for the feature queue. Not all important-dependency
changes will be problematic or big enough to need a timeslot reserved
like that.

-Rob

___
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] Performance Characteristics of Codebrowse

2011-01-24 Thread John Arbash Meinel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/24/2011 1:07 PM, Robert Collins wrote:
 On Tue, Jan 25, 2011 at 8:00 AM, Michael Hudson-Doyle
 michael.hud...@canonical.com wrote:
   * Switching to a faster templating engine (I recommend Mako)

 Can mako stream output though?  Much as I hate simpletal, not buffering
 the output in RAM was an important change when I made it...
 
 We're moving LP to chameleon (https://dev.launchpad.net/LEP/Chameleon)
 - would that be faster  still stream?
 
 -Rob

AIUI Chameleon is the same template language as simpletal, which is also
a significant win (not having to learn a new syntax).

As for (not)buffering, I would think that would really depend on the
specific page. I guess Annotation/View is going to show full content,
but the bzr side still loads up the whole thing anyway. Is there a
specific page you have in mind?

John
=:-
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk097DgACgkQJdeBCYSNAANksgCfUQTMXlqeILOjV2Ap/uu5WcI+
iJAAn38iys7AtQC0mVzuvYFYTeXzdPJZ
=JOZE
-END PGP SIGNATURE-

___
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] Performance Characteristics of Codebrowse

2011-01-24 Thread Martin Pool
Max, one more specific thing: the feature of showing file contents
without annotation but escaped into html.  (That is to say, not the
full unrestricted /raw/.)  Where does that stand?


-- 
Martin

___
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] YUI upgrades (and Python upgrades)

2011-01-24 Thread Gary Poster
OK, thank you, Francis.

Deryck, could you keep us apprised of when you think the upgrade might happen 
(assuming you don't run into extra fun like last time)?

Robert, I'm waiting to see if others have better replies that I would have to 
your questions. :-)

Thanks

Gary


On Jan 24, 2011, at 4:24 PM, Francis J. Lacoste wrote:

 Hi,
 
 Deryck is actually looking at that one right now. (He started last week.) He 
 sheparded the last one, so decided to do this one right now since it's pretty 
 fresh in his head.
 
 Sidnei said that this upgrade was pretty painless compared to the previous 
 ones.
 
 -- 
 Francis J. Lacoste
 francis.laco...@canonical.com
 
 On January 24, 2011, Robert Collins wrote:
 On Tue, Jan 25, 2011 at 10:01 AM, Gary Poster gary.pos...@canonical.com 
 wrote:
 Hi Robert.  The people with more YUI 3 experience on my team have warned
 me that jumps from one big version of YUI to the next--say, 3.1 to
 3.2--can be very disruptive.  They compared them to Python major dot
 releases.
 
 1) Are you responsible for scheduling the YUI upgrades?  If not, and no
 one is officially, I suggest that we find someone to take that
 responsibility.
 
 I don't have it on my 'things to check plate'. I could add it, or we
 can do it when useful in the same way we upgrade our zope dependencies
 - that is when someone wants something, we check the impact and do the
 upgrade.
 
 2) For whoever will be responsible, what will our upgrade policy be?  I'm
 interested in how it will be announced to the team and what kind of lead
 time we should expect.  Perhaps others will mention other things to
 consider.
 
 I don't know :) What do you think we should do here? My initial
 thought is that staying up to date on YUI has significant benefits for
 us.
 
 As you know, I'm also interested in the Python upgrade story, and
 coordination for a smooth transition to the next LTS.  I expect the
 Python 2.7 migration is just another feature card that needs to have its
 scheduling negotiated with Jono?
 
 I think its reasonable to treat problematic dependency changes as
 feature cards for the feature queue. Not all important-dependency
 changes will be problematic or big enough to need a timeslot reserved
 like that.
 
 -Rob
 
 ___
 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


___
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] Performance Characteristics of Codebrowse

2011-01-24 Thread Max Kanat-Alexander
On 01/24/2011 01:16 PM, John Arbash Meinel wrote:
 Can mako stream output though?  Much as I hate simpletal, not buffering
 the output in RAM was an important change when I made it...

http://www.makotemplates.org/docs/filtering.html#buffering

It sounds like even if the buffer doesn't stream directly, it wouldn't
be hard to replace it with one that does.

 We're moving LP to chameleon (https://dev.launchpad.net/LEP/Chameleon)
 - would that be faster  still stream?

It certainly sounds like it would be faster.

 AIUI Chameleon is the same template language as simpletal, which is also
 a significant win (not having to learn a new syntax).

Mako is designed to look almost exactly like normal Python, which would
actually, for most people, be *less* syntax to learn. For example:

http://www.makotemplates.org/docs/syntax.html#control-structures

Also, I would say that the syntax of SimpleTAL is difficult to read,
particularly because so much happens inside of attributes. There are
some advantages to SimpleTAL, though, such as enforced HTML validation
and simple HTML escaping.

 As for (not)buffering, I would think that would really depend on the
 specific page. I guess Annotation/View is going to show full content,
 but the bzr side still loads up the whole thing anyway. Is there a
 specific page you have in mind?

The View/Annotation page actually responds significantly faster when it
can stream than when it doesn't. So streaming would be a useful and
important feature.

-Max
-- 
http://www.bugzillasource.com/
Competent, Friendly Bugzilla, Perl, and IT Services

___
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] Performance Characteristics of Codebrowse

2011-01-24 Thread Max Kanat-Alexander
On 01/24/2011 01:26 PM, Martin Pool wrote:
 Max, one more specific thing: the feature of showing file contents
 without annotation but escaped into html.  (That is to say, not the
 full unrestricted /raw/.)  Where does that stand?

That already exists on launchpad today. That's ViewUI in the original
email.

-Max
-- 
http://www.bugzillasource.com/
Competent, Friendly Bugzilla, Perl, and IT Services

___
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] PythonStyleGuide reduced

2011-01-24 Thread Henning Eggers
Am 24.01.2011 08:26, schrieb Aaron Bentley:
 I think we should keep Importing a module should not have side
 effects.  One of the libraries used by launchpadlib for storing
 passwords does this, as does lp.codehosting, so we can't assume people
 will avoid it.

We removed stuff that we felt is general software engineering knowledge that
everyone working here should know. Side effects are always bad, that is not
Launchpad-specific. Are we expecting too much possibly?

Henning

___
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] Performance Characteristics of Codebrowse

2011-01-24 Thread John Arbash Meinel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


 As for (not)buffering, I would think that would really depend on the
 specific page. I guess Annotation/View is going to show full content,
 but the bzr side still loads up the whole thing anyway. Is there a
 specific page you have in mind?
 
 Yeah, it was the annotation pages that tended to get very large (I think
 some were ~70 megs of HTML).  Perhaps it's better now, but it made a
 difference on LP when we changed to streaming.
 
 Cheers,
 mwh
 

That seems worthy of taking a closer look at the raw HTML to see if
there are ways to avoid being that verbose.

John
=:-
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0+DosACgkQJdeBCYSNAAMicACgyY3lX0MkSNqO8EAfwTLyPFqT
kQIAnic3wu7Y43Ho0QxCD+avZS54iSv9
=ryhG
-END PGP SIGNATURE-

___
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] PythonStyleGuide reduced

2011-01-24 Thread Martin Pool
On 25 January 2011 09:57, Henning Eggers henning.egg...@canonical.com wrote:
 Am 24.01.2011 08:26, schrieb Aaron Bentley:
 I think we should keep Importing a module should not have side
 effects.  One of the libraries used by launchpadlib for storing
 passwords does this, as does lp.codehosting, so we can't assume people
 will avoid it.

 We removed stuff that we felt is general software engineering knowledge that
 everyone working here should know.

+1, in fact I think you should also omit things that are general
Python knowledge.  (Things that are general Zope knowledge etc
perhaps should be included or at least pointed to, since not everybody
will know them.)

 Side effects are always bad, that is not
 Launchpad-specific. Are we expecting too much possibly?

-- 
Martin

___
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] notes towards async api clients

2011-01-24 Thread Martin Pool
I had a bit of a go at this over the weekend.  It is gratifyingly fast
compared to what I expect to see with launchpadlib clients, just
through doing fewer requests and not unnecessarily blocking on them.
I like that a lot.

The code is in http://launchpad.net/wrested and lp:wrested.

For instance:

 ./wrestler.py https://api.launchpad.net/devel/bugs/1
 ./wrestler.py https://api.launchpad.net/devel/bzr/'?ws.op=searchTasks'

(Try it!)

It's early days but I really like how it's shaping up.  I think it is
less error-prone than the approach taken by txrestfulclient, because
you never get half-initialized objects: if you have the resource, it's
valid.  I'm finding it also nicer to work with than launchpadlib
because you never get unexpected pauses: all network io is explicit.

It seems to me it would be healthy for Launchpad for people to be
looking at what the actual http interface is, rather than using a
black-box client.  https://help.launchpad.net/API/Hacking was a
great resource (thanks.)

The basic approach is that you ask for an object and get a deferred,
which will eventually deliver the object you requested.  For
collections, you pass a consumer which will be fed objects as they
arrive.

I can see this fitting very well with what's described in
https://dev.launchpad.net/LEP/WebservicePerformance.

I am trying to keep a separation between Launchpad-specific policy and
REST in general; though I'm not quite sure yet how many conventions
are standard and how many Launchpad has made up for itself.

It has a nerd-oriented gtk explorer test harness:
http://www.flickr.com/photos/mbp_/5386185146/ which can open an
arbitrary URL, click through links to other objects, and stream reads
of collections, including very large collections like all the bugs.
All these capabilities are of course also exposed in the library api.

It should do, but doesn't yet:
 * authenticated requests
 * socket reuse
 * caching
 * anything to do with the WADL
 * (a bunch of other things in the TODO)

I have mixed feelings about WADL.  As a systematic way of documenting
an API, and something from which you can produce apidoc html or
whatever it's fine.  As something applications will read _at run time_
it seems a bit strange: the application will be written assuming
particular APIs are present and if they are not, or if other APIs do
turn out to be present, the application is not likely to suddenly make
use of them.  An application that did want to cope with differing
server capabilities would probably be better off just sending requests
and coping with errors.

But perhaps an exception to this is an explorer-type application which
does want to show all the methods you, the interactive user, could
possibly call if you wanted to.  That leads me to think it should be
something applications can opt in to, if they want to introspect the
interface.  It does seem wrong to me that applications should need to
download over a megabyte of data when it can't really change their
behavior.

That leaves open the question of how a client ought to call methods,
like say https://api.launchpad.net/devel/bzr/?ws.op=searchTasks.  It
would be ugly to have random client apps hardcode that.  (It's also
ugly to have, as at present in launchpadlib, them necessarily fetch
https://api.launchpad.net/devel/bzr/ first when they don't want to
know about the product itself, only its bug tasks.)

(Incidentally, I wonder why we don't have eg a
bug_tasks_collection_link on products, which seems a bit more in
keeping with a REST-ish style.)

So it's quite fun and I intend to continue.  If someone wants to talk
about it I'd like that too.

-- 
Martin

___
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] notes towards async api clients

2011-01-24 Thread James Westby
On Tue, 25 Jan 2011 12:10:43 +1100, Martin Pool m...@canonical.com wrote:
 I had a bit of a go at this over the weekend.  It is gratifyingly fast
 compared to what I expect to see with launchpadlib clients, just
 through doing fewer requests and not unnecessarily blocking on them.
 I like that a lot.
 
 The code is in http://launchpad.net/wrested and lp:wrested.
 
 For instance:
 
  ./wrestler.py https://api.launchpad.net/devel/bugs/1

To be fair I believe lplib would perform approximately as well if you
just did lp.load('https://api.launchpad.net/devel/bugs/1').

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


Re: [Launchpad-dev] notes towards async api clients

2011-01-24 Thread James Westby
On Tue, 25 Jan 2011 12:10:43 +1100, Martin Pool m...@canonical.com wrote:
 So it's quite fun and I intend to continue.  If someone wants to talk
 about it I'd like that too.

Thanks for this, it's good to see things progressing on this front.

I think that this would make a great bottom layer for a twisted LP
client library.

I think that if we were to merge this and txrestfulclient then we would
have the best of both worlds. I think this is a better building-block
way to go, but most developers won't want to hardcode URLs everywhere,
so putting it together with the higher-level stuff in txrestfulclient
(which deals with WADL etc.) would allow developers to work at the level
that they want.

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