/srv/irclogs.ubuntu.com/2009/07/15/#launchpad-meeting.txt

=== _thumper_ is now known as thumper
=== danilos is now known as danilo-food
=== danilo-food is now known as danilos
=== Guest23169 is now known as EdwinGrubbs
barry#startmeeting15:00
MootBotMeeting started at 09:00. The chair is barry.15:00
MootBotCommands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE]15:00
barryhello everyone and welcome to this week's ameu reviewer's meeting.  who's here today?15:00
bigjoolsme15:00
EdwinGrubbsme15:00
sinzuime15:00
deryckme15:00
henningeme15:00
marsme15:00
noodles775me15:00
henningejtv sends his apologies but he does need to sleep sometime ... ;-)15:00
intellectronicame15:01
danilosme15:01
barryadeuring: ping15:01
adeuringwhoops, me15:02
barryallenap: ping15:02
leonardrme15:02
barrybac: ping15:02
barryBjornT: ping15:02
allenapbarry: I'm on holiday this week.15:02
gary_posterme15:02
flacosteme15:02
danilosallenap: never mind that, you can lead the meeting :)15:02
daniloscprov: you?15:02
marslol15:02
cprovme15:02
BjornTme15:03
bacme15:03
* barry hates irc15:04
barryi'm just going to assume everyone here :)15:05
barry[TOPIC] agenda15:05
MootBotNew Topic:  agenda15:05
barry * Roll call15:05
barry * Action items15:05
barry * Mentoring update15:05
barry * Including js script tags conditionally15:05
barry * ReST headers in doctests -- gmb15:05
barry * Permission explosions -- flacoste15:05
barry * Peanut gallery (anything not on the agenda)15:05
barry[TOPIC] action items15:05
MootBotNew Topic:  action items15:05
barry * gary_poster to take importfascist and rSP() discussion to ml15:05
gary_posterbarry: I will do that in the next week or we will take it off the list.15:05
gary_postermy apologies15:06
barrygary_poster: no worries.  thanks15:06
barry * intellectronica to email list about higher JS branch limits15:06
intellectronicai did15:06
barryintellectronica: yep, thanks!15:06
barry[TOPIC] mentoring update15:06
MootBotNew Topic:  mentoring update15:06
barryany feedback from our mentors or mentats?15:07
barryguess not :)15:08
deryckit's been going fine for me, not that that's much feedback. :)15:08
barryderyck: great to hear15:08
barry[TOPIC]  * Including js script tags conditionally15:08
MootBotNew Topic:   * Including js script tags conditionally15:08
barrysorry, i forget who added this one15:08
deryckbarry, I did, per a review you did of my branch.15:08
barryderyck: right!  it's been one of those weeks ;)15:09
barryderyck: take it away deryck the orchestra leader!15:09
deryckThis is Just as a reminder to all that we should only include script tags when in devmode, so that we don't load js twice.15:09
deryckscripts are concat'ed into launchpad.js, so be careful of this, and watch for it in reviews.15:10
abentleyme (sorry I'm late)15:10
barryderyck: can you describe the tal you used to load that conditionally?15:10
gmbme15:10
deryckbarry, just a <tal:devmode condition="devmode"> with the scripts in that block.15:11
flacostederyck: can it be added to the JS wiki page?15:11
sinzuiThe yahoo calendar widget is not in the compressed yui file, which does require a conditional in the head-epilogue.15:11
deryckflacoste, sure, I can do that.15:11
barryderyck: thanks15:11
derycknp :)15:11
sinzuiIs it possible to get that script into something that is away "on"15:12
flacostesinzui: can't we just add it?15:12
sinzuiflacoste: I was tempted to do so last night. I'm not sure if the separation is historical or YUI2. I think I need a pre-imp call to understand the issue15:13
flacostesinzui: let's have a pre-impl call later15:13
sinzuifab15:13
barrycool.  anything else on this topic?15:13
barry[TOPIC]  * ReST headers in doctests -- gmb15:14
MootBotNew Topic:   * ReST headers in doctests -- gmb15:14
gmbAh.15:14
gmbSo, this came up on Monday.15:14
gmbFirst there was some confusion about whether we should use ReST or Moin style headers in  doctests.15:14
barryrest15:14
gmbThen, when bigjools and I had confirmed we should be using ReST, no one could remember why we had changed back to ReST from Moin15:15
barrybut existing pages can be changed as you go, low priority15:15
gmb(having gone from ReST to Moin some time before)15:15
sinzuilp-dev-util/formatdoctest -p path/to/tests/*.txt will fix many. Edwin pointed out though the script uses the headers I use from gedit doctests. we can tweak the script to use gary's headers15:15
gmbbarry: Right, but the point is that people are still confused about this, and the reasons for the change don't seem to have been communicated effectively.15:15
barrygmb: we're trying to standardize on rest since that's basically what the python community has standardized on15:15
flacostewell, they were15:15
flacostebut15:15
flacostewe didn't follow-through15:16
flacostethe idea is that there are no tools to process Moin syntax15:16
flacosteand we aren't really using Moin syntax at all anyway15:16
gary_posterI guess.  trying to make it casual and low-pain means that people didn't notice or remember15:16
gary_posterthat is, I guess we didn't follow through15:16
flacostethe idea was to have a sphinx easy setup to browse all the doctests15:17
sinzuiI think salgado or bac have test cleanup listed among their objectives. rs=sinzui to run the script and land the branch15:17
flacosteas a start15:17
flacosteand then start organizing it15:17
flacostethat's what we didn't follow-through on15:17
gary_posterthat test cleanup sounds cool15:17
gary_posterI see15:17
salgadome15:18
barryit would also be nice if we could start using rest in our wikis :)15:18
sinzuisalgado: are you late or volunteering to update all tests to ReST headers15:18
gary_posteror both! :-)15:18
salgadojust late!15:18
barryflacoste, sinzui  can we put some action items on the list for this?  or is it all just so background/low priority that we won't get to it any time soon?15:19
abentleybarry: We can start using rest in our wikis.15:19
barryabentley: really?  well, that would be cool.  also in our merge proposal cover letters :)15:19
abentleybarry: Sure, moin has supported rest for years.15:20
flacostebarry: yeah, it's not really a priority at the moment15:20
sinzuibarry: I can do it within the next 3 weeks. I will create a bug about it since I think we want to codify the header style in the script15:20
flacostestandardizing on what the python community uses is sufficient in itself imho15:21
barryflacoste, sinzui, abentley cool.  so, gmb does that answer the question? :)15:21
flacosteespecially since it means that's what we are using in the lazr packages15:21
flacostebecause of PyPi15:21
gmbbarry: Yes, thank you. I'll update the style guid to include some details as to the whys and wherefores.15:21
gmb*guide15:21
barrygmb: awesome, thanks15:21
abentleybarry: Just specify #FORMAT rst  at the top.15:21
barry[ACTION] gmb to update style guides to clarify why we're standardizing on rest15:22
MootBotACTION received:  gmb to update style guides to clarify why we're standardizing on rest15:22
sinzuiBTW I had a merge conflict into lazr.restful because the headers in the tests are different15:22
barryabentley: rock.  i will try that when i update the minutes of this meeting :)15:22
barrygmb: thanks, anything else on this topic?15:22
gmbNope.15:22
gmbThat's all.15:22
barry[TOPIC]  * Permission explosions -- flacoste15:23
MootBotNew Topic:   * Permission explosions -- flacoste15:23
flacosteok15:23
flacostethis is a reminder15:23
flacostewe should try to minimize the number of special permissions15:23
flacosteso in reviews, everytime you see somebody define a new permission15:23
flacosteyou should ask why one of the regular one isn't used15:24
flacostethe model is15:24
flacosteView -> Append -> Edit -> Admin15:24
flacostethere is also the Moderate permission which sits above Append at the level of Edit15:24
flacostethose are our core permissions15:24
flacostenow, if you look at permissions.zcml, you'll see that there are a lot of other special permissions15:25
flacostesometimes these are unvoidable, but many times they are not15:25
flacostefor example, the ProjectReview special permission was introduced recentely15:25
flacostei think there is no reason why launchpad.Moderate couldn't have been used there15:26
flacosteso as reviewer, be though on the introduction of new permission15:26
barryflacoste: do we have any plans to do an audit and clean up of those special permissions?15:26
bacflacoste: i'll follow up with you to clean that one up15:26
flacosteyeah, i think we'll need to do an audit at some point and see if we can remove some of those15:27
flacostebut starting with a lock-down will make the audit easier :-)15:27
barryflacoste: cool15:27
flacostei'll update the reviewers checklist with this reminder15:27
flacostenot sure if that page is still checked often though15:28
barryflacoste: also, what is the root cause for adding new special permissions?  is it because we don't (as a group) have a good understanding of how the existing permissions work?15:28
flacostesome of that15:28
flacostebut also, the way permissions are mapped to roles is kind of ad-hoc15:28
flacoste(through the IAuthorization interface)15:28
flacosteyou have to inspect code to understand who get to do what15:29
flacostewhere15:29
barryflacoste: which isn't really feasible when you're working out a new feature15:30
marsflacoste, so, would centralizing the permissions and capabilities of each make them easier to use?15:30
flacostethey are already kind of centralised15:30
flacostein one file15:30
flacostebut that's not the way things work15:30
flacostepermission are granted on a per-context level15:30
flacostethat's why it's possible to not define new ones15:31
flacostebut reuse the semantics of existing ones15:31
flacostefor example, i think the Moderate permission is really only defined on the Question object15:31
flacostewhich means it's easy to reuse the semantic for project review15:32
barryflacoste: maybe a brief overview (largely what you wrote above) would be useful in the dev wiki?  could you add that when you update the reviewer docs?15:33
flacostesure15:33
barryflacoste: thanks!15:33
barry[ACTION] flacoste to update reviewer docs and dev wiki re: permission implosion15:34
MootBotACTION received:  flacoste to update reviewer docs and dev wiki re: permission implosion15:34
flacosteexplosion!15:34
flacosteproliferation15:34
flacostewhatever15:34
flacosteeot15:34
barry:)15:34
barryflacoste: thanks, great topic15:34
barry[TOPIC]  * Peanut gallery (anything not on the agenda)15:34
MootBotNew Topic:   * Peanut gallery (anything not on the agenda)15:34
barryokay, the floor is open, does anybody have anything else?15:34
intellectronicai wanted to talk briefly about generating js15:34
barryintellectronica: go ahead15:34
intellectronicafrom time to time you'll need to generate javascript code and values to embed in a page15:35
intellectronicasay, when you want to initialise a widget or call a function using values you have when you render the page15:35
intellectronicatwo important things to remember:15:35
intellectronica1. avoid using zpt for doing that. it's clumsy and hard to maintain. do the work in the view code in python, expose it as a property and include it in the template15:36
intellectronica2. always use simplejson to serialize python values into javascript code. it's so easy to do, and you have no chance of getting better result by preparing the string yourself15:37
intellectronicathat's it15:37
barryintellectronica: thanks very much.  i learned this lesson the hard way (and thanks for your patch :)15:37
marsintellectronica, is there a specific pattern we have to follow to get the <script> tag and it's contents in there from the view?  Because zpt tries to "help" with script tags...15:38
sinzuiI am tempted to try a 3rd way, the view reads the initialization script, adds the setup values and exposes it as a property so that the JS is not in the python15:38
noodles775sinzui: +115:38
intellectronicamars: <script tal:content="structure view/js_code" /> should do the trick, i think15:39
barrysinzui: i'm not sure i understand, can you clarify?15:39
intellectronicasinzui: please explain more. i don't understand15:39
sinzuiI am hesitant to start this because I want to ensure there are sane values in the initialization script for YUI-test15:39
noodles775I'm finding it hard to see a case where you'd need to generate js, rather than the js initialising from classes/content on the page (but just point me where)15:39
barrysinzui: if you'd like to defer to next week or the ml, that's cool15:40
intellectronicanoodles775: yes, that's another way to do that. still you have to put these values in the page15:40
noodles775intellectronica: yes, but that can be done semantically (so the page represents the state that the JS initialises from)15:41
sinzuiintellectronica: I will follow up on the list. I just want the keep js and python and html separated.15:41
intellectronicanoodles775: i don't understand. i think you guys are ahead of me15:41
intellectronicasinzui: cool, i look forward15:42
barrysinzui: it's the intersection of those three axes of evil where things get interesting15:42
noodles775intellectronica: no, I probably just haven't seen an example where it's required. I'll watch for the mailing list discussion too :)15:42
sinzuiinteresting? you mean "knives out".15:42
marssinzui, I would love to see a more in-depth statement of the problem, issues, solution, and how it might address them on the list15:42
barry:)15:42
barrysinzui:  thanks.  we have 3 minutes left so moving that to the ml would be great15:42
barryany last minute items?  otherwise, we're done15:43
barry515:43
barry415:44
barry315:44
barry215:44
barry115:44
barry#endmeeting15:44
MootBotMeeting finished at 09:44.15:44
barrythanks everyone, great meeting today15:44
abentleybarry: Thanks!15:44
=== salgado is now known as salgado-lunch
=== salgado-lunch is now known as salgado
=== Moot2 is now known as MootBot
=== salgado is now known as salgado-afk
barry#startmeeting23:27
MootBotMeeting started at 17:27. The chair is barry.23:27
MootBotCommands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE]23:27
barry#endmeeting23:27
MootBotMeeting finished at 17:27.23:27
barry#startmeeting23:30
MootBotMeeting started at 17:30. The chair is barry.23:30
MootBotCommands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE]23:30
barryjml, thumper, mwhudson ping23:30
jmlhi23:30
mwhudsonhi!23:30
thumperjo23:30
barryhow are y'all doing?  earthquake + tsunami didn't bother you did it?23:31
thumperdidn't even feel it23:31
mwhudsongiven the magnitude it seems to have caused amazingly little damage23:31
mwhudsonand only a baby tsunami23:31
barrygood to hear!23:31
barryi had a friend from pittsburgh who moved to san fran describe his first earthquake23:32
barrysaid, "they always tell you never run outside".  when it first hit, he said he found himself outside before he even knew what was going on ;)23:32
mwhudson(the epicentre really is in the ass-end of nowhere too, that helps)23:33
jmlthe epicentre is in Palmy? :P23:33
mwhudsonhah23:33
barryinside joke? :)23:34
barryanyway...23:34
mwhudsoni live in palmy23:34
barryoh :)23:34
mwhudsonit's not the most exciting place in the universe23:34
mwhudsonindeed, anyway...23:34
barrydo you guys have burning issues, or do you want me to start with a review of ameu?23:34
mwhudsonreview of ameu sounds good23:34
jmlreview please23:35
jmlall issues have been safely coated in asbestos23:35
barrylessee...23:35
barryderyck brought up an issue from a review about only loading javascript files in devmode, since in prod they're always included in launchpad.js23:35
barryhe'll write about that in the js wiki page23:36
barrygmb brought up a question about doctest format, moin or rest, but since you guys all hate doctests, i guess that one doesn't matter :)23:36
mwhudsonwell23:37
mwhudsonif our documentation is going to be written in some markup23:37
mwhudsonit would be nice if this was used somehow23:37
barrymwhudson: we're rest all the way baby!23:37
mwhudsoni don't really have an opinion on moin vs rest, pick one and stick to it though23:38
barrybut existing doctests can be updated as we go23:38
barrydefinitely rest, for a host of reasons outlined in the detailed minutes23:38
barrygmb will update the relevant wiki pages23:38
mwhudsonif we setup a sphinx-y type thing somewhere and actually use it, it might encourage us to make our doctests better documentation23:38
mwhudson(gasp!)23:38
barryi've also filed an rt to get our dev wiki to support rest23:38
barrymwhudson: +1 is not plussy enough23:39
jmlbarry, if Launchpad gets a wiki, do you anticipate *it* supporting rest?23:39
barryjml: i do23:39
barryat least23:39
thumperwe're going to hand craft a wiki aren't we?23:39
thumperI thought we were going to build one on bzrlib23:40
barrythumper: that's been on the wishlist for at least 2 years23:40
jmllike someone has already done with Hg :(23:40
thumperright23:40
barry:(23:40
jmlgosh that was disappointing watching that lightning talk at europython and thinking "we've had this idea for at least two years now"23:40
jmlanyway23:41
barrylast review item: flacoste brought up the issue of "permission explosion", the tendency to create too many special permissions23:41
barryinstead of reusing the core ones23:41
thumperbarry: for example?23:41
barrythumper: let me get my notes...23:41
jmlbarry, presumably flacoste noticed this trend by inspecting our highly auditable zcml or perhaps looking at a permission control panel? :P23:42
barryJul 15 10:23:44 <flacoste>we should try to minimize the number of special permissions23:42
barryJul 15 10:23:59 <flacoste>so in reviews, everytime you see somebody define a new permission23:42
barryJul 15 10:24:07 <flacoste>you should ask why one of the regular one isn't used23:42
barryJul 15 10:24:12 <flacoste>the model is23:42
barryJul 15 10:24:22 <flacoste>View -> Append -> Edit -> Admin23:42
barryJul 15 10:24:41 <flacoste>there is also the Moderate permission which sits above Append at the level of Edit23:42
jml(sorry, I think I prepared the coffee extra bitter this morning).23:42
barryJul 15 10:24:52 <flacoste>those are our core permissions23:42
barryJul 15 10:25:19 <flacoste>now, if you look at permissions.zcml, you'll see that there are a lot of other special permissions23:43
barryJul 15 10:25:38 <flacoste>sometimes these are unvoidable, but many times they are not23:43
barryJul 15 10:25:57 <flacoste>for example, the ProjectReview special permission was introduced recentely23:43
barryJul 15 10:26:07 <flacoste>i think there is no reason why launchpad.Moderate couldn't have been used there23:43
barryJul 15 10:26:28 <flacoste>so as reviewer, be though on the introduction of new permission23:43
thumperwe have an Append permission?23:43
jmlyeah.23:43
thumperhuh23:44
thumperdidn't know that23:44
mwhudsoni was more or less aware of this point23:44
barryflacoste will update the relevant wiki pages with details23:44
jmlneither did I.23:44
jmlbarry, and how would we *find* the relevant wiki pages?23:44
mwhudsoni haven't reviewed or written any code to do with permissions in ages though23:44
barryjml: they should be on the dev wiki <wink>23:44
jmlwell that narrows it down :\23:45
barryfoundations also wants to audit and simplify our permissions23:45
barryjml: yeah23:45
barryanyway, that's all i have from ameu.  what's on your mind?23:45
mwhudsonwell at least there's less obsolete crap on the dev wiki than launchpad.c.c23:45
jmlyeah. that's a very good thing.23:45
thumperI don't have anything just now23:46
mwhudsonnothing in particular23:46
thumperapart from a general ORM annoyance23:46
barrywe need some interns to garden our wikis :)23:46
thumperw.r.t. permissions23:46
jmlnothing from me, apart from general build process annoyance :)23:46
mwhudsonthe usual trepidation about how we're all supposed to be focused on a not-yet designed ui23:46
jmlbarry, with respect, no.23:46
barryjml: you don't like interns?23:47
jmlbarry, we need a little bit of bootstrapping to put some kind of structure in place, and we need developers to be dissatisfied with simply getting an answer to their question.23:47
barryjml: yeah.  but wiki editing is pretty low on people's list of things to do23:48
mwhudsonthere's something about wiki editing that always infuriates me23:49
jmlbarry, it's not wiki editing, it's working in a distributed team.23:49
mwhudson"edit this section" like media wiki would help, i think23:49
barrymwhudson: the fact that textarea sucks?23:49
mwhudsonbarry: partly yeah23:50
jmlmwhudson, +123:50
barrythat would be nice.  it's all text does make things a bit better (not great though)23:50
barrywell, that's all i have anyway23:51
jmllikewise.23:51
mwhudsonif we end up with sphinx for our documentation, we should use that more and the wiki less maybe>23:51
mwhudson?23:51
mwhudsonbut enough directionless rambling on this topic23:51
* mwhudson is done23:51
barrymwhudson:  possibly.  i'm digging sphinx a lot lately23:51
barrycool.  i guess we're done.  thanks guys23:52
barry#endmeeting23:52
MootBotMeeting finished at 17:52.23:52
jmlthanks barry23:52

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