/srv/irclogs.ubuntu.com/2010/06/07/#launchpad-reviews.txt

=== henninge changed the topic of #launchpad-reviews to: On Call: henninge || reviewing: - || queue: [-] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
jtvhenninge: got one for you!  https://code.launchpad.net/~jtv/launchpad/bug-590688/+merge/2692911:42
=== henninge changed the topic of #launchpad-reviews to: On Call: henninge || reviewing: jtv || queue: [-] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
henningejtv: I wonder if the method should not be called "switchDbUser" like the Layer function.12:06
jtvhenninge: I wanted this to be "attractive" and have a name that doesn't say "you probably don't need to know about this."  At the same time, this doesn't just switch the db user but also commits because otherwise the switch doesn't make much sense.  So naming it after one part of the task would be misleading.12:32
henningeI had a feeling you'd say something like that ... ;)12:33
jtvah :)12:34
jtvHang on... Network Manager _may_ be trying to tell me the wifi connection is back up (but then again it may just be trying to confuse me)... I'll see if I can get off this gprs.12:34
henningejtv: I am not sure I go a long with your assesment of "attractive" method names but it's not all that important, I guess.12:34
henningejtv: so, r=me12:35
=== henninge changed the topic of #launchpad-reviews to: On Call: henninge || reviewing: - || queue: [-] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
jtvhenninge: thanks.  Suggestions for a better name always welcome, of course.12:59
=== salgado-lunch is now known as salgado
=== matsubara is now known as matsubara-lunch
=== abentley changed the topic of #launchpad-reviews to: On Call: henninge || reviewing: - || queue: [-] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== abentley changed the topic of #launchpad-reviews to: On Call: henninge, abentley || reviewing: -, - || queue: [-] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== Ursinha is now known as Ursinha-lunch
marsgary_poster, when you have a moment, could you please review https://code.launchpad.net/~mars/launchpad/use-zope.testing-3.9.4-p0/+merge/26961 ?16:41
gary_postermars, ack, will be available in 516:42
gary_postermars, done, thanks16:46
abentleyrockstar, mumble?16:48
rockstarabentley, sure.16:49
=== matsubara-lunch is now known as matsubara
adiroibanjtv, henninge: I have pushed a MP to start the pre-implementation chat for bug 583934 https://code.edge.launchpad.net/~adiroiban/launchpad/bug-583934/+merge/2696517:21
mupBug #583934: API for POFile attributes <api> <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/583934>17:21
adiroibanshould I add you as reviewers?17:21
jtvadiroiban: personally I wouldn't worry about that just now—it's not a merge proposal as such quite yet.  :)  The main thing is that pre-imp.17:23
adiroibanjtv: yes. I just wanted to make sure that you are aware of that branch and to schedule a pre-imp chat based on that branch17:25
jtvadiroiban: and that you have achieved.  There's no stopping you, is there?  :-)17:25
jtvYou're really getting into the tough ones here...  there's also the fact that we're not really keeping up with refreshing the POFile statistics data.17:26
adiroibanjtv: yes this branch is more about deciding an API for IRosettaStats ... I have also briefly discussed with Henning during the UDS17:27
adiroibanjtv: how come that the POFile statistics are not updated?17:28
jtvCool.  It's an area that could do with some fresh thinking.  It's something I haven't touched that much myself... sort of been hoping that if I don't touch it, it won't bite.17:28
adiroibanjtv: I mean the per POFile statistics17:28
adiroibannot the aggregated per distroserieslanguage17:28
jtvShort answer: message sharing.17:28
adiroibanI see17:29
jtvMakes it much harder to keep track of exactly which POFiles have been changed.17:29
adiroibanso the POFile statistis will not be updated for the shared POFiles?17:29
jtvExactly.  We do refresh all of them in a cron job, sort of as a stopgap,17:30
adiroibanok17:30
jtvbut with message sharing that's become very inefficient.17:30
jtvIt's too costly to find and update all the POFiles that may be affected by a translations update, so we can't do that.17:30
adiroibanbut this should be solved in a new bug/branch17:30
jtvYes.17:30
jtvWe've already done a bit of research into that.17:30
adiroibanthis branch is mainly about finding the right names for those statistics attributes17:30
jtvRight.  But be aware that this is not a particularly good time to expose them; they'll be pretty badly maintained.17:31
jtvWhat we need is a cron job that figures out which POFiles share with ones that have been updated, and updates the stats for those.17:32
henningejtv: they are exposed anyway through the webui.17:33
jtvYes...  what I mean is that anyone writing clients based on this would have to be acutely aware that the stats aren't particularly reliable.17:34
adiroibanyes. No new data will be exposed in the current API and in fact the whole Translations Statistics API work is to replace the web crawling of those data17:34
henningewhat I meant.17:34
adiroibanjtv: I assume that in the next year only I and dpm will use the API and we will use them for weekly or monthly reporting17:35
adiroibanone day delay will not be much of a problem17:36
jtvPersonally I'd prefer clear documentation on the point to an assumption that nobody will use this.  :-)17:36
adiroibanin this state, the Translation API is to scarce to be used in a real application17:37
adiroibanthat could be affected by those cronjobs17:37
bachenninge, abentley: may i get a review for https://code.edge.launchpad.net/~bac/launchpad/bug-588773/+merge/26968 ?17:38
adiroibanbut if you think that those cronjobs are a blocker, we can suspend the for on Translations Statistics API17:38
adiroibanand try to first solve those problems17:39
henningeadiroiban: well, that would be better for sure ... ;-)17:39
adiroiban:)17:39
abentleybac, I can have a look when I'm back from lunch.17:39
bacabentley: that's perfect as it allows me to go eat too!17:40
=== henninge changed the topic of #launchpad-reviews to: On Call: abentley || reviewing: - || queue: [-] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
adiroibanhenninge, jtv : I think that the work for this branch is somehow independent of the one day delay in statistics. With or without real time statistiscs we still have to decide for what statistics attributes to expose via the API17:41
jtvadiroiban: very true17:41
henningeadiroiban: it is one week delay, btw, is it not, jtv?17:41
henningeup to one week17:41
jtvNot quite that simple17:41
jtvIn theory, we run one full statistics update job on all POFiles per week, and a smaller job on just the more recent POFiles per day.17:42
jtvThose runs have started to take much, much longer17:42
jtvAnd they share a lock.17:43
jtvThis all needs serious work.17:43
adiroibanBut since most of the translation work is done on the lates Ubuntu series, at least Ubuntu Lucid statistics are preety accurate17:43
adiroibanI did not encouter any error in Romanian Lucid translation statistics17:43
adiroibanjtv: is there a bug report for that?17:43
* jtv looks17:44
adiroibanbug 373269 ?17:44
mupBug #373269: Message sharing and POFile statistics <message-sharing> <Launchpad Translations:Triaged> <https://launchpad.net/bugs/373269>17:44
jtvYes17:44
jtvFrankly I'm not even sure we still run the daily updates, since I'm not getting output for them, nor how long the weekly runs take.17:45
jtvThe daily partial runs were always meant as an interim measure; at that time it covered all the POFiles that did any sharing at all.17:46
henningejtv: I am pretty sure the daily runs are disabled.17:46
* henninge pulls the crontabs17:46
henningeyup, disabled17:47
jtvThe daily runs don't make as much sense now that we, but neither do we have anything to replace them.17:47
jtvs/now that we/now that we have been migrating existing POFiles to message sharing/17:48
adiroibanjtv, henninge: ok. so back to POFile API branch. are we going to halt the work on Translation Statistics until this bug is fixed? or how do you suggest we should proced with this work?17:51
henningeadiroiban: no, I don't think we should do that. As you pointed out, they don't really depend on each other.17:52
jtvIndependently from all this, I think it's still useful to figure out an appropriate structure for the statistics.17:53
jtvThe work we're doing towards sharing between ubuntu and projects is going to affect the design.17:53
henningeYou mean the design of the API?17:54
jtvYes.  For starters, the meaning of what is now current/imported changes a bit.17:55
henningetrue17:55
jtvIn fact, it may even become simpler.17:56
henningeyes, should17:56
adiroibanjtv, henninge: in the current branch lib/lp/translations/interfaces/statistics.py17:56
adiroibanthere are the names and docstring for the exported attributes17:56
jtvArguably the only sensible way to look at the distinction is now to keep completely separate views of the statistics per POFile.17:56
adiroibanand they are not using current/imported terminology17:57
jtvcurrent/imported is more the technical underpinnings of what you see there.17:57
jtvFor instance, rosettaCount counts translationmessages that are "current" but not "imported."17:58
jtvMessage sharing complicated that, but the combination with the Ubunbu/projects sharing makes it even more treacherous.17:59
adiroibanyep, I had to digg a little to understand rosettaCount and updatesCount17:59
jtvAnd so arguably the only sensible way to look at it is to make it simpler.18:00
adiroibanjtv: ok18:00
adiroibanjtv: this branch should be about finding a name and a docstring for those simple attributes18:00
adiroibanand it should not care about the internal implementation18:00
jtvMy expectation right now is that rosettaCount and newCount would just not exist in the future.18:01
adiroibanand the MP details I have added the list of exported attributes18:01
adiroibanjtv: I can understand why rosettaCount should not be exported18:01
adiroibanby why we should not export newCount() ?18:02
jtvI'm not just saying they shouldn't be exported, but that I feel they won't exist.18:02
adiroibanok18:02
adiroibanbut still, API users will want to know the ammount of new translations in Launchpad18:03
jtvnewCount counts POTMsgSets that have a "current" TM but no "imported' TM18:03
adiroibanhow is this going to be implemented in the future if newCount will no longer exist18:03
jtvI think that would have to be lifted out of POFile, to a slightly higher level of abstraction.18:03
jtvIt'd become a kind of difference operation between two POFiles.18:04
adiroibanjtv: ok. then we can no longer export those statistics as POFile attributes18:04
adiroibanbut have a method that returns them18:04
henningejtv: why do you think that?18:05
adiroibanand so POFile will no longer have to implement all those individual statistics attributes18:05
jtvhenninge: because of divergence.18:05
jtvhenninge: a TM can be upstream-diverged or it can be ubuntu-diverged, but it can't be both because in one case it diverges by being specific to an upstream template, and in the other it diverges by being specific to an ubuntu template.18:06
jtvSo there's no single POFile that you can query to compare the ubuntu translation state to the upstream translation state.  You need to compare an ubuntu pofile to an upstream pofile.18:07
jtvThat's not saying we can't have a fixed coupling between an ubuntu pofile and an upstream pofile, of course.18:08
henningejtv: I am not sure I follow you18:09
henningebut, it's too late for me to think myself into that ...18:09
* henninge know about jtv's time zon18:09
henningee18:09
henninge;-)18:09
jtvheh... midnight already18:10
henningeadiroiban, jtv: I have to go, sorry.18:10
=== deryck is now known as deryck[lunch]
jtvanyway, I just mean that if we want to figure out how many messages in an ubuntu pofile differ from upstream, we can no longer look at just that pofile's messages—because any upstream-diverged messages will be in a different pofile from any ubuntu-diverged ones.18:11
jtvOK, but glad we had some opportunity to start thinking about this.  adiroiban, do you need a quick update on what's happening on this front?18:11
henningeseriously, I don't understand the consequence of that. I will have to draw a picture ... ;)18:12
jtvpictures help!18:12
henningebut not today anymore ...18:13
jtvexactly.  :)18:13
adiroibanjtv: so upstream-diverged statistics will no longer be cached?18:13
jtvThey would be, but they are something that's recognizable in the upstream pofile, not in the ubuntu one.18:14
adiroibanok. but we will continue to represent the upstream-diverged value in the web browser, together with other attributes specific to downstream file... or no?18:15
jtvFor purposes of the statistics, I expect we'll still want to follow the usual divergence/sharing protocol: "if this POTMsgSet has a diverged current TM specific to this POTemplate, that's the current TM.  Otherwise, look for a shared current TM."18:15
jtvadiroiban: I think that would make sense simply because it has value in the process we want to support, but I don't know if POFile will remain the right place to keep that information.18:16
henningebye guys18:17
adiroibanjtv: and where it will be stored?18:18
adiroibanfrom an API user point of view, I will like to just get a POFile and have all its statistics as attributes18:18
adiroibanor as a POFile method18:19
jtvadiroiban: give it time—I'm off duty and I've been looking at this for less than an hour, with a Simpsons episode on the side.  :-)18:19
adiroiban:)18:19
adiroibanok18:19
jtvWhat I'm saying is that the distinction we currently have of upstream and downstream within one pofile is going away.18:19
adiroibanthen can you please add your comments on the MP so that we can move forward... not now. when you will have time18:19
jtvWith pleasure.  I'd want to sleep on all of this.  What I'm trying to do for now is highlight what changes will affect the statistics we keep.18:20
adiroibanyes. basicaly this is what we need to discuss in the pre-imp phase :)18:22
jtvIn the future, when you're looking at one template in one language, there will be one view for each ubuntu release series it's in, as well as one for each project release series.18:22
adiroibanif statistics are going to be changes18:22
jtv(I'm using "view" as "way of looking at things" here, not anything formal)18:23
jtvEach of these views is basically a pofile.18:23
jtvSome of these pofiles will be upstream ones, others will be ubuntu ones.18:23
jtvThey will all share most of their translationmessages.18:23
adiroibanwe can create the API to handle the new way of viewing things :)18:23
jtvSure.18:23
jtvThe big change is in what happens when upstream messages differ from ubuntu ones.18:24
jtvNo longer will the ubuntu one contain a "dual view" of upstream ("published") and downstream messages.18:24
jtvEach just contains its own active translations.  Most will be shared; others will be specific to that pofile.18:25
jtvSo when you look at an ubuntu pofile and ask "how does this differ from upstream?" you need to compare to a matching upstream pofile.18:26
jtvIf we make sure we have such a matching upstream pofile for each ubuntu pofile, that makes things relatively simple, because we'll always know what to compare.18:26
=== Ursinha-lunch is now known as Ursinha
adiroibanbut the API end user will only ask for how_does_this_differ_from_upstream(void).18:28
adiroibanor the API user will have to first identify the upstream template and then ask for how_does_this_differ_from_upstream(upstream_template)18:29
jtvRight.  So that's an open design question depending on how the ongoing ubuntu/project sharing work comes out.18:29
jtvadiroiban: btw your branch has landed and passed buildbot.18:32
adiroibanok. then we should first see how ubuntu/project sharing work will be done and then come back to upstream_changed statistics attribute18:33
adiroibanwhat about the other attribtes listed in the MP ?18:33
=== deryck[lunch] is now known as deryck
jtvadiroiban: last update and last translator have become a bit shaky and the way we keep track of them may have to change, but that's a generic sharing issue.18:35
jtvAs a simple example, if you translate an untranslated message in Maverick and the same message was also present in Lucid, that should probably also count as an update to the Lucid translation as well.18:37
jtvAgain that probably doesn't speak against aggregating and caching the information in the pofile.18:38
adiroibanjtv: yes, and how does this affect the API ?18:38
adiroibanor the API design18:38
jtvI hope it won't affect the API; all we know for now is that something there needs to change.18:39
jtvProbably just implementation, but I'd be amiss not to mention it.18:39
adiroiban:)18:40
adiroibanok18:40
jtvDon't see any risks with the rest.18:40
jtvBy the way, it may not hold true that (length - translated messages) == untranslated messages.18:42
jtvSo depending on your needs, you may want to include a count of untranslated messages.18:42
jtv(think translation credits)18:42
adiroibanbut (lenght - untransalated) == translated ?18:43
adiroibanof this is also not true :)18:43
jtvAll depends on the definitions I guess :)18:43
adiroibanI was thinking to keep the API simple18:43
adiroibanbut if you think it is needed18:43
adiroibanI can add an translation_message_untranslated_count attribute18:44
jtvNot saying it is, just pointing out something to think about in the requirements.  :)18:44
jtvMaybe counting credits messages as translated would satisfy everyone.18:44
adiroibanagree :)18:44
jtvadiroiban: the branch I landed for you will be on staging with revision 9434.18:51
adiroibanjtv: it will not be landed on edge?18:51
jtvadiroiban: yes, that too.  But staging's nice if you want to play around freely.18:51
adiroibanjtv: I saw that it was commited to edge in r1095318:51
jtvRight, that's the revision.18:52
adiroibanjtv: ok. so future work on ubuntu-upstream translation sharing is a blocker for this branch ? is they a way to predict those changes and move forward with the API design?19:00
jtvadiroiban: one easy thing to do is start with the uncontroversial stuff.19:01
jtvAnd last update & last translator, as far as I'm concerned, can be exported with a big caveat in the documentation.19:03
adiroibanjtv: why is it so ?19:04
adiroibaneven if the translations are shared19:04
adiroibanah...19:04
adiroibanI see19:04
adiroibanthey will not be updated19:04
jtvExactly.19:04
adiroibanjust like any other shared statistic19:04
jtvBut I would expect that whatever we do to them, they would probably stay unchanged API-wise.19:04
jtv(We can't freeze all work out of fear of any API ever changing in any way :-)19:05
adiroibanwell, the note on documentation that they are not updated in real time should be made for almost all attributes19:05
jtvTrue.  But personally I like to have a realistic sense of proportion: "may be as much as a week out of date" versus "may be a few seconds behind depending on replication lag" is a pretty big distinction, but weasel-word them enough and they'll look the same.  :-)19:06
adiroiban:)19:07
adiroibanare we going to have ubuntu-upstrea message sharing implemented for Maverick ?19:08
adiroibanas far as I know, API freeze is done on each Ubuntu relase19:08
adiroibanso we can change the API during this devel timeframe19:09
jtvHmm... it may not be a completely black-and-white thing.19:09
jtvIt could be that we land a working feature, but find lots more things to change, fix & adjust afterwards.19:10
adiroibanso that work may also affect the API ... thus we can push the API regarding the ubuntu-upstream divergence as it is implemented now19:12
adiroibanand change it later19:12
adiroiban:)19:12
jtvThat's an option, though on general principle we'll want to minimize such changes.19:14
jtvBut now I must go.  Good night!19:18
adiroibanyes, but as of this pre-imp talk I would like to have some conclusions and next step actions or creat a list of blockers for those next steps19:18
=== bac changed the topic of #launchpad-reviews to: On Call: abentley || reviewing: - || queue: [bac] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
bacabentley: you around for my review?19:26
abentleybac, sorry, been distracted by production problems.19:26
bacnp abentley19:27
abentleybac, all I see is a few places where an extra blank line could go.19:34
bacabentley: ok, i'm good at adding blank lines.19:35
abentleybac, e.g. between "EditByOwnersRegistryExpertsOrAdmins(AuthorizationBase):" and "permission = 'launchpad.Edit'"19:35
abentleybac,  and between lines 100 and 101.19:35
abentleybac, similar for EditProject and EditPersonBySelfRegistryExpertsOrAdmins19:39
bacabentley: ok.  i just looked at security.py and it is a real mixed bag wrt to blank lines between the class/docstring and the first line of code.  i can clean it up.19:39
bacs/can/will19:39
abentleybac, cool.19:40
=== abentley changed the topic of #launchpad-reviews to: On Call: abentley || reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== matsubara is now known as matsubara-afk
=== abentley changed the topic of #launchpad-reviews to: On Call: - || reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.edge.launchpad.net/launchpad/+activereviews
=== Ursinha is now known as Ursinha-afk

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