IRC log of #schooltool for Monday, 2006-12-18

*** ignas has quit IRC02:30
*** lisppaste5 has quit IRC06:59
*** lisppaste5 has joined #schooltool07:04
*** Aiste has joined #schooltool10:44
*** thisfred has joined #schooltool11:02
*** jfroche has joined #schooltool11:18
*** ignas has joined #schooltool11:38
ignasSteveA: are you there?11:44
SteveAI am here11:46
ignaslike 2 weeks ago i missed the chat about bzr between you marius and th1a11:47
ignasi was on my way home thus without a connection for 1 hour or so11:47
SteveAwe had a chat about bzr?11:47
SteveAwe had a chat about using launchpad iirc11:48
ignasmigration to launchpad11:48
SteveAnot about bzr11:48
SteveAabout bug tracking11:48
ignasand you talked about svn-bzr issues a bit11:48
ignasand you have mentioned that you need requirements, and that you could organize a meeting to discuss the migration11:48
SteveAmaybe as a side conversation11:48
ignasand like 20 minutes of the side conversation after that ...11:49
ignasas i am the one who tried migrating from svn to bzr i could try explaining the problems i am having if you would tell me whom should i send them to ;)11:51
SteveAjust a sec, I'll see11:51
*** poolie has joined #schooltool11:55
SteveAignas: poolie (martin pool) and ddaa (david allouche) who both know much about bzr are joining this channel11:56
pooliehi ignas11:56
ignaspoolie: hi11:56
ignasshould i wait for ddaa or just start complaining ? :)11:57
*** ddaa has joined #schooltool11:58
ddaasorry, got my servers crossed11:58
SteveAignas is a core schooltool developer11:58
ddaao/` Pink Floyd, Riding the Gravy Train o/`11:59
ignasthe repository in question11:59
SteveAignas: I haven't given these guys much background11:59
ignasi know11:59
SteveAso I think you should start by explaining what you want to do11:59
ddaaCome on here dear boy, have a cigar12:00
ddaaYou wanna go far, you wanna fligh high12:00
ignasas schooltool will start using launchpad for the bugtracking and project management12:00
ignasi think it would be nice to migrate from svn to bzr12:00
ignasas that would give us all the benefits of distributed vcs as well as make the integration with launchpad smoother12:01
ignasi have tried using at least 3 tools to do that without results that would be good enough though :/12:01
ddaaSo, I guess you'd like at least to get a conversion of the repo.12:02
ddaaWhat are the tools you are talking about?12:02
ignastailor, svn2brz, bzr-svn12:02
ignasas i want to do a full switch (bzr-svn is just not working on schooltool svn, so i think relying on only bzr would be better)12:03
ddaaok, I'd be happy to see what problem you had with bzr-svn. If there's no way we can make it work easily, I could also convert your trunk and branches using cscvs.12:03
ignassvn2bzr was the one that got me nearly what i want12:03
ignasyou see - our branches are a bit unorthodox :/12:04
ddaaignas: let's talk about conversion later. With SteveA's permission, I'll make this my top priority this week.12:04
SteveAthere's a thing I heard about subversion12:04
SteveAit has lots of "you can do this" in it12:04
SteveAand that means it's easy to go unorthodox12:05
ddaaAre there other things you would like information about, that we can discuss now while poolie is there?12:05
SteveAddaa: I'd like to get those database patches rolled out, but other than that, I'm happy for you to help out schooltool12:05
ignashmm, shared repository support and tags12:06
ddaaLike consideration of how to implement your development process with bzr.12:06
pooliei agree12:06
poolieignas, tags are implemented by a plugin atm, while we experimented12:06
ddaatags -> poolie, it's still not yet implemented, so you can get as good tags as with svn using repositories12:06
ddaaoh, really, great!12:06
pooliei am working on bringing them into mainline this week12:06
poolieyeah i hope so12:07
poolieignas: cvsps may also be worth a try12:07
ignasi see, as for the development process - jinty (Brian Sutherland) will be the one affected most by it12:07
ignaspoolie: cvsps ?12:07
poolieddaa, if you can help him ignas that would be great12:07
ddaathe thing is, if you set up a repository, you can have tags in bzr pretty much the same way as you have in svn. Would that be enough, or is something more like cvs or git tags needed?12:08
ddaapoolie: you mean jinty?12:09
ignasddaa: i think shared repository (if i understand it would make tags not to take up whole 200-300 mbs) would be good enough12:09
ddaaignas: you understand correctly, a branch that introduces no change is essentially free in a repository (pretty much just i a directory).12:10
ignasbzr2svn would have been good enough just that it doesn't support that12:10
ddaaso, just as svn, a tag can be a branch w/o new change12:10
ignasthus all the branches were taking up like 2gb of space after migration ...12:11
ddaaignas: that's probably easy to fix12:11
ddaathe "put data in a branch" is well separated from "use shared repository for this branch" in bzr12:12
ddaaignas: did svn2bzr otherwise import your data successfully?12:12
ignasi think so, maybe with some flaws in interbranch merges12:12
ddaaunless you usedi svk, svn does not really record merges...12:13
ignasyes indeed, would cvsps be able to detect such things?12:14
ddaaI'm confused with the introduction of cvsps here. It's a tool for migrating from CVS AFAIK.12:14
ignasi just assumed that it's just a name12:15
ddaawell, unlike cscvs that does svn too (yes, confusing names)12:15
ignasas for the development process - i want to come up with a migration routine that can be reliably performed whenever i want, so i could do it when everything else (deployment, packaging) is already set up12:16
ddaaessentially, cvsps is a tool for working around cvs not having atomic commits, and recording commit timestamps provided by the client, which can lead to some serious mess, but is completely CVS-specific.12:17
ignasso we could safely switch on a convenient date12:17
ignasi see12:17
ignasbtw isn't svn2bzr kind of abandoned/undeveloped at the moment?12:17
ddaayes, jelmer used to maintain it but now focuses on bzr-svn12:18
ddaaso... you want a script that you can run that takes your svn repo as input, and gives you a collection of bzr branches as output, right?12:19
ignasi'd prefer svndump as the input12:19
ddaaok, it's not an essetial difference though :)12:19
ddaaso... depending how things turn out that may be difficult to do. But if you say that svn2bzr does roughly the right thing, that seems doable.12:20
poolieum sorry, i was completely confused in mentioning cvsps12:21
ignasbut yes, i'd like to come up with a script that does things reliably and in a right way12:21
ignasas i can ensure that repository will not undergo any significant changes12:21
ignasthe script will keep working for a long time unless someone makes bzr internals non compatible ;)12:21
pooliebut i wonder if the script that reads its output could be converted to read svndump...12:22
ddaaI'd need some more information later to adress some details of the conversion (specifically, if something special needs to be done to ensure consistency of files ids for files introduced in branches).12:22
ignasfile ids?12:23
ddaain bzr, each file has an id, that allows to track renames12:23
ignasso that merging from a branch would work properly12:24
ddaathat means that if, in SVN, you branch/foo out of trunk at revision 12, then introduce file trunk/hello in revision 13, then copy it it branch/foo/hello at revision 14.12:25
ddaaWhen converting to bzr, something needs to be done to make sure hello has the same id in both branches, otherwise you'll have annoying conflicts on the first merge, and you will lose some annotation data.12:25
ignasthat's what i thought about12:26
ddaadepending on how much you care about the output of "bzr annotate", and how complex was your merging history, it might be complicated12:26
ddaathat's a problem that bzr-svn deals quite well with12:26
ignasi see12:27
ddaabut because it needs to know branch roots to deal with it, that means that if you repo was not always following the /trunk and /branches/* convention, it will barf (ATM, hope to fix it eventually)12:27
ignashow hackable is bzr-svn when it comes to treat "/svn/trunk/*" as separate branches idea12:28
ignasi know i only had to add one class to svn2bzr to make it do the thing i want12:28
ddaaI got a general idea of how to do it. But I'm not familiar with the code yet.12:28
ddaathough maybe we can do something short of the Right solution, since you really want a one-off conversion. That would be one option to investigate if your merging history is too complex to deal with svn2bzr.12:29
ignasit might be the case ...12:30
ignasas i had /trunk/schooltool then it became /trunk/schoolbell  + /trunk/schooltool and then /trunk/schooltool again12:30
ignasschooltool and schoolbell being separate but interdependent projects12:31
ddaaas in, different scope, or parallel branches?12:31
ignasas in different scope12:31
ignasschootool checking out schoolbell as an svn external12:31
ddaaokay... this level of complexity, it _should_ be possible to deal with given some elbow grease.12:32
ignasi hope so :)12:33
ddaaI'm more concerned about things like "zillions of individual copies across branches and trunk that must keep track of file identity"12:33
ignasoh and we had zope3 in our repository a couple of times too12:33
ddaamh... if it was kept well segregated, that should not be a problem12:33
ddaaif it was included directly (not with externals) in another branch, you'd have to keep the bloat, or we'll have to find a way to excise it from the svn dump...12:34
ignasoh and some old branches got moved into /branches/obsolete/branch*12:34
ddaacare about those?12:34
ignashmm, i don't know that's the problem12:35
ddaato be really straight, I usually run the imports, so I have limited experience with other conversion tools.12:35
ddaaBut I've got a good grip on the sort of issues that can pop up.12:36
ddaaIf you do not care about the obsolete branches, I expect we can safely ignore them.12:36
ddaaif you do care about them, it's certainly possible to keep them12:37
ddaaI just know how good is svn2bzr at dealing with this12:37
ddaajust _do not_ know12:37
ddaaignas: what UTC times are around usually?12:37
ignasi was just making svn2bzr treat /branches/obsolete/* as branches12:37
ddaayou're early :)12:38
ignasfor sure, sometimes 9:00-20:0012:38
ignasi must come to work 13:00 (vilnius time)12:39
ddaagood, I'm here usually 10:00-18:00 (paris time)12:39
ddaaI mean 10:00-18:00 UTC, I live in Paris.12:39
ignasif you will want to play with ST repo is the svn dump (37 megs)12:40
ignasan old one, but it has all the quirks12:40
ddaawould like to know anything else about bzr, before I go back to my lair?12:42
ddaagot some sharp instruments I want to try on this dump :)12:42
ignasis it easy to set up a check in mailing list?12:42
ddaathere's a plugin around, and there is a commit ML for bzr itself12:43
ddaapoolie: ping?12:43
ddaaignas: how easy is the email-on-commit thingy to set up?12:43
ddaa^ this was for poolie12:44
pooliepretty straightforward i believe12:44
pooliethere are docs12:44
ddaaignas: actually there are two approaches: one is send the email from the "bzr commit" command. The other one is "watch a branch and send emails when new stuff appears".12:44
ignashmm, i see, we'll need that, and some integration with buildbot12:45
ddaathe former is only really reliable when you have a single committer on the branch (like pqm). The latter involves a cron job.12:45
ddaaright, you use buildbot to run test suites?12:46
ignaspqm sounds like a nice thing, yet it might be a bit complicated to set up12:46
ddaayes, and yes :)12:47
ddaayou know what pqm is?12:47
ignasi would like to have the kind of set up bzr mailing list has12:47
ignasddaa: seen a few SteveA's presentations on the subject12:47
ignasseen some scary diagrams12:47
ddaaDVCS tends to produce scary diagrams12:48
ignaswell, as long as it will make my job easier12:48
ddaait's one of those things that's actually quite simple if you can see them with the right frame of mind12:48
ignasjust like Zope3 :D12:49
ddaaso, the nice thing with pqm is that it can run the test suite and only accept commits that cause no test failure12:49
ddaait also avoids unecessary contention on a branch when you have many active committers12:49
ignasi liked the mandatory code review with possibility to reject check ins part :)12:50
poolieit is still a bit complex to set up12:50
ignasas for commiters we have 2 of them at the moment12:50
pooliei'd suggest thinking about pqm later12:50
ddaaokay, then branch contention is not a problem, and you can probably just hit the other dev on the head if he does not run the test suite before comitting :)12:50
pooliethere is also12:51
ddaayou see, in the lp or bzr team, we would need globally distributed LARTs to achieve effective hitting-on-the-head, so we use PQM instead :)12:51
ignasnow this one i like12:51
ignaswell, my colleague is in Belgium12:52
ignasand other possible developers are in the US12:52
ignasso LARTS would be nice too :D12:52
ddaaso, pqm goes in the "later" basket12:52
ddaapoolie: think we should plagiarize bb in lp?12:53
ignasthanks a lot for your help12:55
pooliei think we have enough on our plate :)12:55
poolieso what did you decide about conversion?12:56
ddaaI'll be checking how it goes with svn2bzr12:56
ddaaand see if output can be reasonably tuned to get good file-id consistency12:57
jfrocheignas: hello! provideAdapter(DateFormatterFullView, [, IRequest], IDateFormatter , 'fullDate') should be replaced by a zcml view statement right ?12:58
jfrocheproblem with the view statement is that for="" is waiting for an interface12:59
jfrocheand has no z3 interface12:59
ignashave you tried ?13:01
jfrocheignas: my fault, i was using browser:view instead of zope:view13:10
jfrocheignas: i have just commited, did you recieve the automated diffs in your mail ?13:29
jfrochecause seems i didn't get it13:29
ignasmissing too13:29
ignaslooking at it in trac13:29
jfrochei am fixing the tests now13:30
ignasjfroche: could you try getMultiAdapter instead of queryMultiAdapter13:30
ignasi think you won't have to raise the error yourself13:30
jfrocheoh i see13:31 is missing the fat header with all the licence stuff13:31
jfrocheright, as many .py does in skin13:31
jfrocheignas: great getMultiAdapter does the job !13:33
poolieignas: tim is working on a better way to do commit mailing lists, as a supermirror service13:47
*** mgedmin has joined #schooltool13:55
jfrocheignas: i have discovered something which might be a problem for the dateformatter, in the user preference a user can define its date format14:17
ignaswe can drop that14:18
ignasif someone will miss it - it's fixable14:18
jfrocheignas: should i comment the test ?14:20
ignasremove not comment14:20
ignasdo not put commented out code in to the repository14:20
ignasif anyone will need it he can just go to svn and find it14:20
jfrochei see14:21
jfrocheignas: if a request hasn't HTTP_ACCEPT_LANGUAGE in the environ, the date isn't rendered correctly as no language is provided by the request14:34
jfrocheshould i change the code or the test ?14:34
ignasshouldn't it default to english ?14:35
jfrochei does not14:35
jfrocheit does not14:35
ignasthen make it do so :)14:35
ignasor is it difficult ?14:35
ignasmaybe just set the HTTP_ACCEPT14:36
ignasin your test14:36
jfrochei get dates like this: 1, 2006 1 01 instead of Sunday, January 1, 200614:36
jfrocheif not language is provided14:36
ignaseek, yep - the default Zope3 date formatter is bogus14:36
jfrocheshould i dig into it ?14:37
ignasyes i think so14:44
ignasdo all the browsers send accept_language tag14:44
ignaswhat might be the values14:44
ignaswhat happens if no locale is found14:44
ignashow will dates look in that case ?14:44
ignasif they look ugly - maybe we can set the default renderer to UK/US? or mabe the ISO one?14:45
mgedminah, yes, the infamous default zope locale14:48
mgedminwith week day names like "1", "2", ...14:48
jfrocheI can also test for accept_language in my dateformatter and set english if nothing found14:49
*** jinty has joined #schooltool14:50
jfrochewhen no language is set i have: <LocaleIdentity (None, None, None, None)> as request.locale.id14:52
jfrochei would need <LocaleIdentity (en, None, None, None)>14:52
jfrochewould it be bad to set something else than None for default language argument of the LocaleIdentity init method ?14:54
ignasdon't really know what's the right way14:56
ignasi think you should ask in Zope3-dev14:56
ignasand you don't want to change Zope3 code14:56
jfrochei ll do one trick in my dateformatter14:57
ignasi'd suggest you to check in your views14:57
ignasand if it's none14:57
ignasset it to some value14:57
*** alga has joined #SchoolTool16:00
*** th1a_ is now known as th1a16:30
* th1a shuffles some papers around.16:30
th1aGood morning, folks.16:31
th1aHi ignas, jfroche.16:31
jfrochehello th1a16:32
th1aDid we lose ignas?16:33
th1aHi ignas.16:35
th1aNext Monday is Christmas, and the next Monday is New Year's, so we probably need to juggle our schedule a bit.16:36
th1aPerhaps we can skip next Monday and meet Jan. 2nd?16:36
jfrocheok for me16:36
th1aAll right, so we just need to plan out the rest of this year.16:37
th1aI sent the 2007 budget to Mark about 7 hours ago.16:37
th1aHopefully we'll get word back from him soon.16:37
ignasi must come up with a plan for next quarter, get an invitation letter from tom and start getting a visa16:38
ignasfinish the timetable refactoring16:38
ignasand get the person work started16:38
th1aI'll resend the letter.16:39
th1aDid I call you Albert or something?16:39
jfrochei ll finish to fight against date localization (i won) and i ll dive into gradebook16:40
ignasno, Agejevas16:40
ignaslike 3 times :)16:40
th1aObviously, I was just changing my old letter.16:40
th1aAnyhow, the one other thing I need from you two is quarterly goals for next year.16:41
th1aThat's a priority.16:41
ignasfor all 3 quarters or for the first quarter ?16:41
th1aFirst two.16:41
th1aThe third quarter goal is to deploy successfully.16:42
th1aThe fourth is to keep it running.16:42
jfrochei spoke about this during the last meeting at the school16:43
jfrochei ll write them clearly with the help of Nicolas16:43
jfrocheand send them to you16:43
jfrocheor write them somewhere on launchpad ?16:43
th1aThis doesn't need to be on Launchpad.16:43
th1aIt also would be a good time to note major dependencies between the two of you.16:45
th1aIf one of you will be expecting the other to write something.16:45
th1aOr not.16:45
ignaslooking 6 months forward is quite far16:45
th1aI'm not looking for anything super-specific.16:46
ignaswithout super-specific validation part might be difficult ...16:46
ignashow will the validation of our effort be accomplished?16:47
ignasdeployment is a clear goal16:47
ignaswhat about intermediate goals ?16:48
ignasshould we talk with schools about that, and have schools as referees, or will you be doing it?16:48
th1aPerhaps we should have the schools play a role here.16:49
th1aWhether or not they think the attendance module is ready is more important than if I do.16:49
th1aSo let's plan on having the schools play a role in validation.16:50
jfrochei ll ask them16:50
th1aSo that would imply that completing a few large blocks of functionality would be appropriate for a milestone.16:51
th1aIt has to be relevant to the end-user.16:51
th1ajfroche: So tell me more about  Lycee Emile Jacqmain.16:53
th1aHow does one abbreviate that?16:54
ignasth1a: what about the modifications to the quarterly plan if users want A more than B (B being in the plan)16:54
jfroche i met with the different persons (accountant, the guy in charge of the computers there and the director)16:54
th1aignas:  I'm flexible, but I'd like them to approve the sequence as early as possible.16:55
jfrochethey seems to be motivated16:55
jfrochethey have different parts separated16:55
jfrochemany reencoding16:55
jfrochethey would like to use 1 system16:56
th1aHow many students?16:56
jfrochetheir schedule software seems to be really good (but really expensive) as it calculate and verify the different constraints in the timetables of every teacher16:56
th1aWe're not trying to replace that yet, but we'll need to import the data.16:57
jfrochegood question16:57
jfrocheyes and for that i ll need a way to define my person16:57
th1aWhat does the person need to do?16:59
ignashave different demographics data16:59
ignasdifferent forms for adding/editing17:00
ignasdifferent columns for displaying in tables17:00
jfrochemany things aren't needed, other will need to be added to the person17:00
ignasnot break schooltool core tests17:00
th1aUsing adapters is key, I presume.17:02
th1aAnyhow... anything else from LEJ?17:04
jfrochethey seems to want first the gradebook17:05
ignasi can send you some links/examples of lithuanian gradebooks17:05
th1aThat's not a bad idea, since that's our weakest point.17:06
th1aIn terms of being furthest from completion.17:06
jfrochethe guy implemented a way to encode point in Excel ... it should be pretty easy to beat him17:06
ignashere ya go17:06
ignasit's lithuanian17:06
ignasthough screenshots should give you some ideas17:07
ignasif you'll want translation just post me the header17:07
jfrochei ll recieve his use cases in january17:08
th1aNice illustrations.17:08
th1aNice clean design, too.17:09
ignasi know17:09
ignaseverything lithuanian school needs too17:10
th1aThat looks better than most of the American products I've seen.17:10
th1aWhat was the conclusion of the bzr chat this morning?17:12
th1aIt seems like importing our whole history is part of the difficulty.17:12
th1aIs that necessary?17:12
ignasi think so, with our policy to not have unnecessary code in the repository a lot of parts of the history are important17:13
ignasand the merge of schooltool/schoolbell is pretty recent17:14
ignaswe're not in a hurry anyway17:14
ignasstill have to clear all the things with jinty17:14
th1aAll right, anything else?  Questions?17:15
ignasany ideas about having some consensus way of changing quarterly plans?17:16
ignasif there is a need17:16
th1aWell, how about if you have the school sign off on an initial plan as soon as you can.17:17
ignaswith approval from you and from school17:17
th1aignas: I know that might not happen until the New Year.17:18
th1aGive me your best guess before the end of the year, though.17:18
ignasshould I plan on overlap with Belgian feature set, or we should just plan for the worst case (separate codebases) and keep the commonalities as a bonus for successful cooperation?17:19
th1aWe should plan for overlap.17:19
th1aAs much is practical.17:19
ignasdepending on someone else to do the feature might be dangerous, but we still have to try to gain as much as possible from possible overlaps17:19
th1aIt is tricky.17:20
ignasat the moment we have that - part of jfroche's work is blocked on me fixing the person17:20
ignasand maybe in such cases it would be better to just work on these issues separately17:21
ignasif one fails - the other might succeed etc ;)17:21
th1aThere's no perfect solution.17:21
th1aI guess my point is to TRY to be efficient in dividing work.17:22
ignasmy points are a bit contradicting - setting quarterly goals that are achievable even if jfroche won't be able to help me at all, and helping him as much as possible by providing support, improving core schooltool, cooperating on overlapping features17:25
th1aWell, I suppose one reason to set the goals is to make clear what's most important.17:27
th1aThe primary thing for you is to deploy SchoolTool at the Lyceum.17:27
th1aAnd NOT doing that because of your other priorities is not acceptable.17:28
ignassounds clear17:29
th1aSo perhaps the right way to look at it is to plan for the worst case scenario, you're writing all this yourself,17:29
th1abut hopefully you can use some code from jfroche, and hopefully that compensates for the time spent collaborating.17:30
ignasnow as upcoming CanDo meetings are canceled17:30
ignasmaybe you know what their plans were for resource booking?17:31
ignasapparently schooltool already supports their usecase, just that if they have enough time - i know a couple of things that could be improved in that area ;)17:31
th1apcardune and Lumiere were discussing that recently, I think.17:33
ignashmm, in #schooltool ?17:33
th1aI imagine they'll continue discussing it.17:33
th1aLast week.17:33
ignasi'll look for that17:35
th1aHm... I seem to be losing my signal.17:35
th1aignas: Don't be afraid to send an email about it.17:36
jfrocheth1a: i ll provide specs for the LEJ server17:36
jfrochebut wondering if they will really accept to pay it17:37
th1aThey want to host it locally?17:37
th1aCan't use our server?17:37
th1aWell, let's wrap this up.17:41
th1aHave a Merry Christmas and Happy New Year everyone.17:42
jfrocheth1a: they want to keep things locally17:42
th1aI guess I should have included a server in my budget.17:43
jfrochedid you recieve Nicolas email ?17:43
jfrochehe ll try to get it via the school parents commity17:43
th1aOK.  Yes, I need to reply to Nicolas's email.17:43
* th1a drops the bag of gravel.17:46
jfrochehave a nice Christmas and happy new year too!17:49
ignashappy happy happy to everyone ;)17:52
*** wdickers has joined #schooltool17:57
th1ahi wdickers17:58
wdickersAlan and I are a little confused about the order of events when a SIF_Event message is sent to an agent.18:00
wdickersThe spec gives an example of the agent needing more information, so it sends out a SIF_Request before sending out the intermediate ack18:01
th1aWhat is happening?18:01
th1aStart at the beginning.18:02
*** aelkner has joined #schooltool18:03
aelknerGood morning.18:03
wdickerson page 26 of the spec it talks about what happens when a SIF_Event is sent to the agent from the ZIS18:03
ddaaignas: ping18:03
ignasddaa: pong18:04
ddaaignas: just out of curiosity, what operating system are you running?18:04
ignasthe true one :)18:05
th1awdickers: Page 26 by printed page number?18:05
ddaaignas: Edgy?18:05
aelknerwdickers: looking now...18:05
wdickersNo, page 15 on printed18:05
ddaajust making sure that if it works for me, it can reasonably work for you :)18:05
aelknerWe were looking at that on Sat.  We got to page 16 where the acks where described.18:06
aelkner17 even.18:06
aelknerRemember the Agent Local Queue section?18:07
aelknerWe decided not to consider the case where the agent has its own queue for now.18:07
Lumiereignas, th1a: I chatted with Eldar at the sprint saturday18:07
wdickersYes, but I would like to ask th1a about the order when the agent gets a SIF_Event. Remember, we were confused when it requested information before sending an ack?18:08
LumiereI'm going to work out our list of use cases this week18:08
LumiereI spent last week beating up myself for the sprint18:08
aelknerthla: are you tere?18:09
th1aaelkner: Right.  Don't worry about that.18:09
th1aHere's the sequence.18:09
th1aAgent sends GetMessage.18:09
th1aZIS looks in the agent's queue, and pulls off an event.18:09
th1aZIS sends event to agent.18:09
th1aHm... perhaps I'm not here.18:09
th1aI seem to be having connectivity problems.18:09
wdickersI see you th1a18:09
aelknerme, too.18:10
wdickersBut our problem is right after that. In the spec, the agent needs an object to resolve the event, so it sends out a request to the ZIS /before/ sending an intermediate ack to the ZIS18:10
aelknerThat IS what the spec says.18:11
th1aDid you get the beginning of my explanation?18:11
aelknerWe got up to "ZIS sends and event..."18:11
th1aIf the agent can quickly take the action called for in the Ack, it does so and sends and immediate Ack.18:13
th1aIf it is going to take a while, it sends and intermediate Ack, and then a final Ack when it is done.18:13
th1aThat's pretty much it.18:13
th1aI think you guys are reading too deeply into the SMB explanation.18:13
aelknerIt gives an example, so we thought it worth following.18:14
aelknerWill, we could also not worry about it if Tom suggests so.18:15
wdickersyeah, I guess so18:15
aelknerthla: section 3.4 talks about DTDs, but you downloaded XSDs from the site, right?18:16
th1aFrom the agent's point of view, it is pretty simple.18:16
th1aFrom the ZIS's point of view, it is a bit involved.18:16
th1aDo you understand what the SMB is for?18:16
th1aYes, DTD's are on the way out.18:16
wdickersOne last question about acks: to what is an ack a response? Are all messages responded to with an ack?18:17
aelknerTo prevent deadlocking.18:17
wdickersYes, to avoid a deadlock18:17
aelknerFair question.18:17
th1aUm... I don't think you generally Ack an Ack.18:17
th1aOtherwise, pretty much everything is Acked.18:17
th1aBut it has to end sometime ;-)18:18
aelknerThat's why Will asked about the SMB example.18:18
aelknerIt said to respond to the event with a request before sending the ack.18:18
aelknerThat was confusing.18:18
aelknerIt is a good case to discuss.18:18
aelknerThe agent receives an event for which it doesn't have an immediate response.18:19
aelknerIt need to ask for information.18:19
Lumiereth1a: resource scheduling is being written as a draft spec on the cando wiki18:20
Lumiereas soon as I get a chance18:20
LumiereI'll start writing the stuff we're seeing18:20
th1aIncidentally, some of the explanations are better in the 2.0 spec, so it might be helpful to reference that when you're confused.18:21
th1aThat shouldn't happen.18:21
th1aMaybe it is *possible*, but it doesn't make sense.18:21
th1aAn event is add/change/delete something in the agent's database.18:21
th1aIt shouldn't require additional info.18:21
th1aLumiere: Thanks.18:21
aelknerSo it should intermediate ack followed bt the request for the information.18:21
aelknerThe spec says to request the info first, then ack second.18:21
aelknerthla: is the spec wong here?18:21
Lumierebut I was busy with cando sprint stuff... so just trying to get to it18:21
Lumiere(first I need to shop for wine)18:22
th1aaelkner:  Are you looking at 3.3.5–3: Agent Message Queue - Example 118:22
aelknerUse of SMB.18:23
aelknerThe example is clear enough, just doesn't seem accurate.18:23
aelknerOh yes, 3.3.5-3 is the figure.18:24
aelknerof Table.18:24
aelknerIt seems to be mistaken, that's all.18:24
aelknerPerhaps we don't need to worry about the example.18:25
th1aYes, that example appears to be screwed up.18:25
aelknerGod.  Then it's not us.18:26
aelknerGood, not god.18:26
aelknerWe will assume that it means what we would think makes sense.18:26
wdickersahaha, all that pain for nothing18:26
aelknerBesides, it's more complex than any of our use cases.18:26
aelknerNot for nothing.18:27
aelknerWe benefitted from thinking about SMB, even if the example lead us astry a bit.18:27
Lumiereso, aelkner or wdickers... who will submit the bug to the SIF people XD18:28
aelknerthla: I thought we would avoid the 2.0 spec for now considering that you've been coding for 1.5.18:28
th1aI really think it is helpful to do the easy stuff first before worrying about the few hard parts.18:28
aelknerXD?  What's that?18:28
Lumierecross-eyes and laughing18:29
aelknerWhat are we laugging about?18:29
th1aaelkner: I'm not saying implementing 2.0, but I'm sure they've fixed that bug in the spec, and there are more detailed explanations of how things are handled on the agent side.18:29
th1aLaughing at your misfortune.18:29
Lumiereand that I am involved in it18:29
LumiereI was just a misfortune machine saturday18:29
th1aAlso, you can navigate the 2.0 spec via the web instead of giant pdf.18:30
aelknerI don't the misfortune.  We're just working the problem.18:30
aelknersee the misfortune.18:30
*** thisfred has quit IRC18:30
th1aThe misfortune of focusing on a bug in the spec.18:31
aelknerIs your code going to match the 2.0 spec.  Reason being, we like boing able to see the code match the spec.18:31
aelknerIt helps us to understand it.18:32
aelknerAnd follow your thought process in writing the code.18:32
wdickersWell this table is in chronological order and seems to be the same structure18:32
th1aThe basic mechanics haven't changed in 2.0, so it is reasonable to use it as a reference for this stuff.18:33
aelknerwdickers: that sounds like a good idea.18:34
aelknerThe new spec looks like it's easier to follow, anyway.18:34
aelknerSection 4 is the one to digest, from the beginning.18:36
aelknerLet's see if Tom has coded each of the messages described therein.18:36
th1aYou can see that here ;-)18:37
wdickershmm, well I'll check the logs and the 2.0 spec for a flow chart of what we want to see.18:39
wdickersBut my time has run out, I'll see you guys later18:39
aelknerWill, we'll go over this stuff tonight if you're available.18:39
*** wdickers has quit IRC18:39
*** aelkner has quit IRC18:41
*** ignas has quit IRC19:53
*** jinty has quit IRC19:58
*** yuy has joined #schooltool20:27
*** aelkner has joined #schooltool20:27
*** aelkner has joined #schooltool20:29
aelknerLinda, you're in!20:31
yuyYes. Now we wait for Stephan.20:31
aelknersrichter: are you there?20:31
Lumierehi Linda20:31
srichteraelkner: here20:31
srichteryuy: aelkner: hello everyone20:32
aelknerHey Stephan!20:32
yuyLumiere: hey.20:32
yuyOkay. Shall we start?20:32
srichtershoot! :-)20:32
aelknerLinda and I have been editing your book, so we thought we'd check in with you.20:32
aelknerFirst our goals are three-fold:20:33
aelkner1) learn Zope using the book.20:33
yuy2) make edits20:33
aelkner2) correct any spelling or gramatical errrors.20:33
aelkner3) Make sure the code samples are still functioning20:33
aelknerFor 2), I thought you wouldn't mind if Linda went ahead and made those types of changes without checking with you.20:34
srichter:-) it's better this way20:34
yuyalthough I will say that we agreed on this for grammatical and syntax errors, like the spelling 'puython' to 'python'20:35
aelknerIn the process of going over the book, a fourth goal emerged.20:35
aelknerCould we restructure the chapters a little to make it useful for the beginner?20:36
yuyPart I consists of a lot of theory, and contribution to Zope itself.20:36
srichteraelkner: actually, I was thinking about transfering the ownership to you guys completely20:36
srichterbasically: here is all I have use it to your liking20:37
aelknerIf that's the case, then we could take it upon ourselves.20:37
aelknerJeff and Dave Welsh are having a lot of succes recruiting high school students/20:37
srichterthat's so great20:37
aelknerWE would like to have a book they could use when they get started in the summer.20:37
srichtermakes me happy! :-)20:38
srichteraelkner: yep, that would be great20:38
aelknerI would be happy to work with Linda on making the book something they could use to get started.20:38
aelknerWe wouldn't need to bother you with minute details then.20:38
yuyaelkner: Right. But when something like moving Part III before Part I, oughtn't we contact Stephan for that?20:39
srichterI am really busy and I feel really bad with my constant delayed responses20:39
aelknerWe'll just send you the updates every couple of weeks so that you see what we've been doing.20:39
srichteryuy: not necessary; I am giving you all the ownership, so you can do whatever you like20:39
aelkneryuy: how do you lke that? :)20:39
srichteryuy: aelkner: and I will help you guys with some guidance for the chapters that are hopelessly out of date20:39
yuysrichter: ie., the chapters about the wikis?20:40
srichterI was thinking of the chapters covering Local Utilities, for exmaple20:41
srichteryuy: it would be fantastic, if you could update the wikis20:41
srichteryuy: the Makefiles have all the code in them to generate HTML + doing the upload to zope.org20:41
aelkneryuy: You mean the chapter on installing new Zope packages, right?20:43
srichterah, ok20:43
yuyaelkner: Actually, I had meant Chapter 3.5. It talks about adding a sample wiki.20:43
yuyI'm going through the steps really quickly, because I remembered that last time I had no luck getting them up.20:44
srichteryeah, this is another chapter that would need some thinking and restructuring20:44
aelknersrichter: that's the chapter that we thought would probably be better near the end of the book.20:44
aelknerAfter the student has experience making their own packages.20:44
aelknerAlso chapter 4: setting up virtual hosting.20:45
srichteraelkner: right20:46
aelknerAlso all of part II, cpaters 5-12 should come later.20:46
srichterin fact, my recent experience has shown that the book is backwards20:46
srichterI have started to produce training materials that have a very different structure20:46
srichterI was thinking about having you help me with that, but I would have to clear up some copyright things first20:47
aelknerAlthough chapter 7 might come sooner, after the student has built the first component20:47
yuysrichter: Is it anything that we can incorporate into the book right now?20:47
aelknerChapter 8, too looks like something that is interesting to the beginner.20:47
srichterI can send you the outline, but anything else needs a couple of days to figure out the copyright20:47
aelknerOk.  We'll hold off on restructuring until we hear from you on the copyright.20:48
aelknersrichter: in the meantime, a strategic question:20:49
srichteraelkner: yuy: Okay, outline sent20:49
yuyLovely Systems?20:50
aelknerIn chapter 13, you have some of the source files printed and some you just refer the user to the svn repository.20:50
yuyaelkner: Sometimes they are incredibly similar, and do not need reprinting.20:51
srichteryuy: it is a company in Austria for which I developed the original outline20:51
yuyaelkner: *to others already printed20:51
aelknerWould you be alright with the idea of printing all of the sample files even if they are in the repositry.20:51
aelknerI think it's more complete and easier for the user that doesn't have internet access.20:51
aelknerThey may ust be reading the book away from a computer.20:51
srichteryuy: if the printed and SVN version are not equal, then the text is outdated20:51
srichteraelkner: that's fine with me20:52
aelkneryuy: we will keep the test up to date.20:52
srichterthis actually points out a huge problem with the book; it develops one large and complete example20:52
aelknerhow's that a problem?20:53
srichterI am now convinced that this is a bad strategy20:53
srichterit is too complex20:53
yuysrichter: Isn't that a good thing because it keeps the reader focused on how the different components can be applied to a single situation.20:53
srichteryou have to explain a lot of things that are irrelevant to the discussed topic20:53
yuyand it is impossible to create an all-encompassing example?20:53
srichteryuy: yes, this is one advantage of the approach20:53
srichteryuy: no, it is not impossible, but generally not a good idea20:54
aelknerThen again, if you keep it all as one project, it simulates the real world of developing something like cando.20:54
srichteryuy: think of your HS classes20:54
srichteryuy: you always learn small pieces; it is usually up to a final project to pull many things together20:54
yuywe have different examples. do not dispose of the entire connectivity of the exercises, but create several large projects thorughout the book.20:54
aelknerThink of this as a final project for advanced students.20:55
aelknerIt's ok for it to be long and complex as long as it starts simple and builds.20:55
srichteraelkner: yes, you are right; this is the very big advantage and the purpose of the book: Zope 3 can do complex things20:55
aelknerWe just need to get simple things done first to get the student excited about early success.20:56
aelknerThen as we add more complex stuff to the project, the student needs to learn more complex things.20:56
aelknerFor instance, I don't know if marker interfaces should come up first.20:56
aelknerIf the student doesn't see the application right away, it only confuses.20:57
yuyOkay. But marker interfaces are something good to learn overall from the start, is what I gathered from the book.20:58
yuyIt builds the base to start, doesn't it?20:58
srichteraelkner: ah, marker interfaces should be first :-)20:58
srichteraelkner: because they demonstrate the simplest use of an interface20:59
srichteraelkner: makring something, so we can register against it20:59
aelknerDo we register against it right away?20:59
aelknerI didn't get that far yet.21:00
yuysrichter: Although, you will have to note that although I have not completed Part I and went directly to the hands-on Part III, they were mentioned in Part III.  That's why, as Alan already said, we were thinking of moving the hands-on part more to the beginning.21:00
aelknerAnd bring marker interfaces into the discussion only if they are used right away.21:01
yuyaelkner: That's the thing, though. They always are...21:01
aelknerCould you point out where?21:01
srichterright, the book is meant to be read starting in part III21:01
Lumierethen shouldn't that be part I?21:02
srichterIt just seemed odd to have the PartI and II material later on21:02
yuysrichter: So... why not start it there? I see the advantages of having background before... but theoretical concepts would be wrapped up later, wouldn't they?21:02
srichterbut that is definitely a style and personal liking question21:02
aelknerIt always depends on the audience.21:03
yuyAudience: defined as potential developers.21:03
aelknersrichter: I think you had the zope II developer in mind, am I right?21:03
srichterno, I had the pure Python programmer in mind21:04
srichterI expected a certain level of programmer zen21:04
aelknerSomeone with advanced python knowledge.21:04
aelknerThat's why you got into discussing adapter and the like so eary.21:04
srichterright, I basically wanted to season the developer for what they are in for.21:05
srichterthe training outline I sent you guys, starts the other way around21:05
srichterit discusses resources and views first21:05
aelknerOnly thing is that a lot of people, especially young students, need to see stuff in action as they learn.21:05
srichterin fact of a 4 day training + 1 day final project, I only started talking about the CA and adapters on the third day!21:06
aelknerI'm no differeent.21:06
aelknerThat sounds like something that could guide us.21:06
srichteraelkner: the training outline aims at early success21:06
aelknerAssuming you have the copyright issue worked out, should we restructure the book to follow the training outline?21:06
srichteraelkner: and I was able to split most topics in 30 mins chunks21:07
srichteraelkner: in case the copyright works out, we should reexamine the net worth of the book, or whether it would be better to work on something based on the training material21:07
aelknerI could see that being effective.21:08
yuysrichter: aelkner: just wanted to let you know I'm leaving in about two minutes, if I was needed for anything.21:08
srichteryuy: thanks a lot for joining in21:09
aelknerThat's ok.. The ball's in Stepan's court for now.21:09
srichteryuy: enjoy Christmas; I will be in touch via E-mail21:09
aelknerHow soon do you think you'll know about the copyright?21:09
yuyyuy: Happy Christmas to you, too. I check my email everyday.21:09
aelkneryuy: we'll continue learning until then.21:09
yuyaelkner: Fine.21:10
srichteraelkner: are you a registered user?21:10
aelknerHow do you mean?21:10
aelknerRegistered where?21:10
srichterwith IRC21:10
*** yuy has left #schooltool21:11
aelknerDo you mean the provate chat?21:11
aelknerI sent you a message there.  You didn't get it?21:11
aelknerI want to solve this problem.  Are you saying you didn't get my message?21:12
srichteryou must be a registered user (i.e. use /id pwd) to send pricate messages21:12
srichterright, I did not get it21:12
srichteraelkner: yeah, I checked, you are not identified21:12
aelknerwhat exactly do I need to do to register, and is it a one-tiome thing?21:13
srichteryeah, one-time at http://freenode.net21:13
srichterthen, whenever you log in, you provide /id pwd21:13
aelknergroup registration?21:14
srichterhold on, I am trying to find out how to do it21:14
srichteraelkner: do /msg NickServ21:15
srichterthen the following:21:15
srichterregister pwd21:15
srichterid pwd21:16
aelknerI typed "/msg NickServe" and got "Usage: MSG <nick> <message>, sends a private message"21:16
srichterwithout the "e"21:16
aelknerI did do it without the "e", that was a typo.21:17
srichterthat should have openened a new chat window for you21:17
srichterso try this: /msg NickServ register pwd21:17
srichterthen this: /msg NickServ id pwd21:17
*** ignas has joined #schooltool21:18
aelknerI assume you mean for me to fill in aelkner and my password for "id pwd"21:18
*** mgedmin has quit IRC21:18
srichter"id" is a command in nickserv21:19
aelknerOk I did it literally.21:19
srichterthe system knows your nickname21:19
srichteryep, you are identified now21:19
*** aelkner has quit IRC21:32
Lumierejust need to get an affiliation21:32
*** ignas has quit IRC22:24
*** ddaa has quit IRC23:26

Generated by 2.15.1 by Marius Gedminas - find it at!