IRC log of #schooltool for Monday, 2010-05-24

*** ignas has joined #schooltool00:42
*** alga_ has quit IRC02:58
*** alga has quit IRC03:01
*** ignas has quit IRC06:47
*** ColonelPanik has quit IRC07:06
*** alga_ has joined #schooltool09:14
*** alga has joined #schooltool09:14
*** Aiste has joined #schooltool10:58
*** ignas has joined #schooltool11:41
*** menesis has quit IRC12:39
*** ignas has quit IRC12:58
*** ignas has joined #schooltool13:23
*** menesis has joined #schooltool13:48
*** Aiste has quit IRC15:04
*** alga_ has quit IRC15:16
*** alga has quit IRC15:16
*** dogi_ has quit IRC15:16
*** alga has joined #schooltool15:18
*** alga_ has joined #schooltool15:18
*** dogi_ has joined #schooltool15:18
*** yvl has quit IRC15:33
*** replaceafill has joined #schooltool16:04
*** jelkner has joined #schooltool16:19
*** yvl has joined #schooltool16:26
*** ColonelPanik has joined #schooltool16:28
*** th1a has joined #schooltool16:29
aelknerth1a, please read my email and Jen's response before calling on me today16:30
th1aHi aelkner, yvl, replaceafill, menesis.16:31
yvlmorning guys16:31
th1aaelkner, I already read it once.16:32
replaceafillgood morning/afternoon16:32
th1axls import should be considered an ongoing project.16:33
th1aSo aelkner, consider it something you are partially responsible for maintaining.16:33
yvlif the email is new, please fwd16:34
th1aAnd if nothing else, we should generate some specific bugs from this.16:35
yvlthanks :)16:35
th1aIt is a little hard to know which email threads with a school are going to become more generally relevant when you start them.16:36
yvlas for bugs, id would be nice if Alan's branch got under schooltool project in LP before they are created16:36
yvland it should be linked in the bug16:36
aelkneri haven't needed to change the import code in schooltool core yet, so i didn't make any branch16:37
yvlyes, but what are we going to log bugs against?16:37
yvlst core?16:37
th1aI'm concerned with the xml import atm.16:37
aelkneroh, that import16:37
aelknerof the FET data, you mean?16:38
th1aer, I meant xls.16:38
aelknerright, so what bugs?16:38
yvlah, ok then.  log against lp:schooltool, tag `import`16:39
aelknercan someone answer my question please?16:39
th1aWhat I mean is, when Jens import threw tracebacks, those are bugs.16:39
th1aNot just the way xls import works in SchoolTool.16:40
th1aIf you follow me.16:40
aelknerthere should be errors thrown instead of tracebacks, understood16:41
th1aWell, not necessarily even that.16:41
th1aPerhaps the import should actually try to do what the user intends.16:42
th1aThat is, xls import is essentially half-done.16:42
aelknerlike create a course for a schoolyear that doesn't exist?16:42
aelkneri think the user needs an error there16:42
* yvl still wants heavy axing on xls importer(s)16:42
th1aaelkner: yes, an error message there would be good.16:43
* th1a sighs at yvl.16:43
yvlI know, I know...16:44
aelknerwhen they enter 2010 for a year id, and the xls stores 2010.016:44
aelknerwhich is a float, of course16:45
th1aSo anyhow, we're not necessarily going to stop and fix the .xls import in whole or part right now, but at least filing bugs now is important.16:45
aelkneri should just assume that they mean '2010'?16:45
th1aShould we change the xls template to expect a string?16:45
th1aWould that solve the problem.16:46
aelknerThat could be another error message rather than Traceback with KeyError, yes16:46
th1aWell, I'm trying to remember how a spreadsheet works.16:47
* Lumiere suggests error with raise16:47
th1aCan't you assign a type to a cell.16:47
Lumierenot really16:47
Lumiereyou assign formatting16:47
Lumierebut excel only has 3 'types'16:47
Lumieretest, number, and like blank16:47
th1atest or text16:48
Lumiereerr text16:48
th1aWell, what if we make it text?16:48
aelknerbut when the user goes to the cell and enters, '2010', the cell automatically gets formatted as float16:48
aelkneri had to enter '201016:49
aelknerthat caused it to be saved as text16:49
* th1a grumbles.16:49
th1aI suppose you can truncate the period and following numbers.16:50
th1aOh, I see though.16:51
aelknerwhen we are expecting an ID, we never expect the part after the decimal, so i could just throw it away16:51
th1aIf you do that then where the year is entered elsewhere on the sheet it will be wrong.16:51
aelkneri would have to throw the decimal away in the same manner everywhere16:51
th1aWell, the id of the year isn't very important, so if that always has the trailing decimal that's fine.16:52
th1aWhy don't you leave it in the ID and whack it off the *title*.16:52
th1aDon't years have titles?16:52
th1aPerhaps I'm not sure why this is a problem in the first place.16:53
th1aWe should probably discuss this after letting the Lithuanians go home for the day.16:53
aelkneri didn't expect this to be a discussion about the stupid xls import anyway16:54
th1aOK, so what do you want to talk about now, aelkner?  ;-)16:54
aelknerit's the FET import that is going to be new16:54
aelknerwell, i was going to bring up the fact that FET hours (periods) have no start/end times per se16:55
aelknerJen pointed that out in her response before I had the chance to let her in on it16:56
aelknerso she's ahead of the curve on that one16:56
aelknerbasically, i think we are going to need some FET application preferences16:57
aelknerfor what the first period start time is and the duration of a period16:57
yvlhmm, maybe users can assign start/end times manually after/during xml import?16:57
th1aFET application preferences?16:58
aelknerwell, Jen suggested including the timetable in her xls import16:58
aelknerbut i haven't had the chance to consider forcing them to do that yet16:58
aelknerth1a, yes16:58
th1aIt could just be a step in the import process.16:59
aelknerright now, they use periods like 1, 2, 3, 4, BREAK, 5, 6, 7, etc.16:59
th1aImport > web form asks you to assign times > complete import.16:59
aelknerwe only need start of first period, duration of a period17:00
aelknerwhat about Jen's suggestion to define timetable in xls import17:01
th1aThat seems overly complicated.17:01
th1aI mean, we could17:01
th1abut then, in particular, we'd have to make sure the id's match.17:01
th1aAnd given the discussion we just had about numbers in xls import, perhaps we should avoid that.17:02
aelknerremember that the FET import has to match IDs of many types17:02
aelknerlike teacher ids, course ids17:02
aelknermatching the timetable ids could be considered just another instance of that17:03
th1aMaybe we have to emphasize using quotes then.17:03
aelknerwell, if we just take floats and truncate the '.0' part, we may be ok17:03
th1aOK aelkner, I think we should move on and discuss all this stuff later this morning.17:03
th1amenesis:  Any news on the Ubuntu front?17:04
th1ayvl:  You can go ahead... is menesis around?17:06
menesisth1a: yes, hi17:06
th1aHi menesis.17:06
menesislast week I have further improved my ubuntu application, asked for endorsements, and got some already17:07
menesisthis one
menesisI have submitted it to developer membership board. but it will not be considered at the next meeting (tomorrow) yet17:08
menesisthat means will have to wait for permissions for two more weeks17:09
menesisupdated other wiki pages and blueprints17:10
*** alga_ has quit IRC17:10
*** alga has quit IRC17:10
ignasth1a, awesome17:10
menesisthen, I have been preparing to open schooltool development17:10
th1aIs there anything in particular that needs to happen to get on the meeting agenda?17:10
menesismerged bugfixes and translations, released schooltool.gradebook 0.7.0 and schooltool 1.4.0, created stable series (1.4) on launchpad and moved releases to appriopriate series17:12
menesiscreating 1.4 branches and adding 1.4 to buildbot is next on the todo17:13
th1aOK, sounds good.17:13
menesisabout the meeting agenda - have to submit application at least one week before the meeting. It was late17:14
menesisalso, need to have 3-5 endorsements, that I only got today17:15
th1aSo technically it can be submitted now.17:15
menesisalso, they typically process 4 applications per meeting, and there are 4 already, so no time anyway17:15
menesisyes, I will add it to the next meeting's agenda17:16
th1aSo probably submitting earlier rather than later is better for ensuring a spot in the queue?17:16
th1aAnything else menesis?17:17
menesisI still have other work to do before I start uploading packages, and this wait for permissions is not a problem yet17:17
menesisnothing else to add I think17:18
yvlwell, got the levels in, finally17:19
yvl+ minor ui17:19
yvlcreation / deletion / sorting17:19
yvlyou cant tie them to courses from ui, though developers can tie them through code17:20
th1aThat's in the development trunk?17:20
yvlnot yet17:20
yvlI was waiting for 1.4 tag17:20
yvlwe had no merging until then rule :)17:20
th1a(there is not development trunk yet, right?)17:20
yvlmenesis, I can freely push things to trunk now, right?17:20
yvlor you'll create 1.4 branches, then change trunk to 1.5dev?17:21
yvlwell anyway, that should be sorted by the end of this week or something17:22
yvlfor now I work in branches17:22
menesisyvl: you can push to trunk if you want17:22
yvlgreat then17:22
menesisschooltool and gradebook, at least17:22
menesisI will branch when needed17:22
yvlhmm, I'll need lyceum.journal in 2-3 weeks or maybe sooner17:23
th1aaelkner & replaceafill: You following this?17:23
aelknerall we have to do is branch trunk no matter what the state and submit our branches, right?17:24
th1aWell, we should be switching to the development trunk, right?17:24
yvlfor now yes17:24
yvlat some point grant projects and trunk will diverge, I imagine17:25
th1aHopefully not.17:25
th1aOr... more precisely... not.17:25
th1aThey all have to be installable from the same PPA.17:25
th1aSo, same core plus site-specific extensions.17:26
yvlwell, we'll sort that out17:26
aelknerok, but for me, i can't wait for anyting to be worked out on that front17:27
aelkneri need to deliver instantly to Jen17:27
yvlok, I meant:17:27
yvlwell keep you on trunk for now17:27
yvlwell sort out the deployment details ourselves later on17:27
aelknerso i recommend letting her bzr branch lp:~aelkner/schooltool/schooltool.zambia17:27
aelknerand run make and make run17:27
yvlso you wouldn't need to worry about them :)17:27
th1aWhat is she doing now?17:27
aelknershe's apt-get installing i assume17:28
aelknerbut that only gets her current schooltool17:28
aelknerschooltool.zambia, like schooltool.sla is not packaged17:28
th1aIn this case that makes sense.17:28
aelknerok, good17:28
th1aBut whatever happens in the end has to be shifted over to a .deb based installation.17:29
th1aIdeally, that's just moving the database.17:29
aelknerafter the pilot goes zambia-wide, then we could distribute it that way17:29
yvlth1a, yes, and yes17:29
th1aThey WILL NOT be running eggs in production.17:29
th1aThat is FORBIDDEN.17:30
* yvl seconds17:30
* Lumiere thirds17:30
Lumiereno eggs in production17:30
aelknerwell, i wouldn't be standing in the way, but the packages aren't made by me17:30
Lumiereit gets very messy17:30
th1aIf they're using eggs that break in December, aelkner has to fly to Zambia at his own expense to fix them.17:31
Lumierevery quickly17:31
yvllisten to the wise sys-admin!17:31
* Lumiere refrains from comments about egg on peoples faces <_<17:31
th1aPerhaps we should teach aelkner how to generate his own .deb packages on Launchpad.17:31
LumiereI am running pedia press's collection/mwlib packagesd17:32
Lumierevia eggs17:32
Lumiereand i find that I have to blow my entire /usr/local/lib/python2.6/dist-packages17:32
* replaceafill would like to be included in the 'make your own .deb' course :)17:32
Lumiereevery month or so17:32
Lumiereto keep it working17:32
th1aWe probably should all learn how to package our own extensions some time this summer.17:32
yvlI informally asked menesis to work on a tutorial when he's packaging final grant project debs17:33
th1aOK, yvl, anything else?17:33
yvland "learn how" also means "have at least some tools"17:33
yvlwell, I'm on timetabling now17:34
yvlit's messy17:34
yvlvery old code, some code rot17:34
Lumiereand partially written by sricter17:34
Lumiere+h in appropriate spot <_<17:34
yvlso, now just placing warnings and pointers for myself17:34
yvlI'll restrain from heavy refactoring17:35
yvlbut some needs to be done17:35
yvland some documentation17:35
yvlwell, I'll keep you posted.... :)17:36
replaceafilli changed the cambodia student's form17:36
replaceafilland ask Piseth some other things17:37
replaceafillhe already replied and i already made those other fixes17:37
replaceafilli'm in the middle of the "import from previous year"17:37
replaceafilli have a couple of questions for yvl (as usual...)17:37
yvlshoot :)17:37
replaceafillyvl, check the end of the doc, UI v217:38
replaceafillit seems all i'm doing is "importing from previous year" explicit17:38
replaceafillsince courses are already copied17:39
replaceafillso are timetables17:39
replaceafilland groups memberships too17:39
replaceafillexcept for the students group...17:39
yvlwell, you should not copy any "class" group memberships17:39
replaceafillyvl, so i identified these three classes:17:39
replaceafillsrc/schooltool/course/ InitCoursesForNewSchoolYear(ObjectEventAdapterSubscriber):17:40
replaceafillsrc/schooltool/timetable/ InitSchoolTimetablesForNewSchoolYear(ObjectEventAdapterSubscriber):17:40
replaceafillsrc/schooltool/group/ InitGroupsForNewSchoolYear(ObjectEventAdapterSubscriber):17:40
replaceafillsorry for the flooding...17:40
yvlthat's ok17:40
replaceafillyvl, i'm doing this in ST core17:40
yvlhmm, ok17:40
aelknerare we talking about levels in st core?17:40
replaceafillyvl, i understand the initcourses and initgroups classes17:41
replaceafillbut the timetables got my attention17:41
replaceafillspecifically this:17:41
* Lumiere notes that this yet again proves that ST's timetables are a thing of absolute complexity :)17:41
replaceafilldef locationCopy in schema.py17:42
replaceafillyvl, why is that needed?17:42
aelknerLumiere, if you saw FET's constraint mechanism, you wouldn't think schooltool was so complex17:42
yvlit's basically doing deepcopy17:42
Lumiereaelkner: FET's the person -> classes scheduler?17:43
yvljust copying "schema and everything it includes"17:43
Lumiereaelkner: if so it is complex by the nature of what it needs to do (and not take 100 years to do)17:43
Lumiereaelkner: ST's timetabling didn't need to be so complex (it is useful that it is, but never needed to be)17:44
replaceafillyvl, ah, it's like copying a full container?17:44
replaceafilland all its values?17:44
yvlyes, it's like that17:44
yvlZope already has/uses mechanism for this17:44
replaceafillthat's why it's serialized first and then taken back...17:44
yvlit's just ancient code17:44
aelkneryvl, replaceafill: may i interrupt to ask: are you guys discussing adding levels to st core?17:45
yvlwell, yes and no17:45
yvlthey will be added this week17:45
yvlso, no discussion :)17:45
replaceafillyvl, so what i was thinking of doing was to disable those three adapters but use the same code logic17:46
replaceafillput the options in the "New SchoolYear form"17:46
yvlsure, you can do that17:47
replaceafilland react according to what the user selects17:47
replaceafillcool, my final question17:47
replaceafillon cambodia17:47
replaceafillthey asked for a very different contact information17:47
replaceafilllike, mother's full name17:47
replaceafillfathers' full name17:48
replaceafillmothers full name in latin17:48
replaceafilldetailed info for the address: province, district, village and so on17:48
replaceafilland i was thinking, this is very different from the regular schooltool contact17:48
replaceafillwhat i did was that i subclassed the regular contact and added a lot of new attributes17:49
replaceafillbut it feels weird :(17:49
yvlI agree17:49
yvlyou also changed the addform, right?17:49
* th1a notes that we'll probably do customizable contact fields sometime in the next 12 months.17:49
replaceafillyes, add/edit forms were changed17:49
yvlso don't worry about that for now17:50
ignasi'd make the subclass an adapter17:50
ignasand store the "added contact info" somewhere else17:50
ignasand make the getter for contacts return not the original contact, but contact adapted to ICambodiaContact17:51
replaceafillignas, an adapter on IContact?17:51
ignasof on Contact class itself17:51
ignasor on person, don't know which way it's better, haven't seen the code for a while17:52
yvlthis case - Contact's class17:52
yvlI'm not sure if it's worth the time though17:52
replaceafillyvl, well it just felt like doing something quick but really dirty :)17:52
replaceafillfor the extra person fields, demographics, name in latin i used demographics custom fields17:53
yvlyay per-country customizations!17:53
yvlyou got the right feel17:53
replaceafillsorry, that was: nationality and name in latin17:53
replaceafilli used custom demographics fields for those17:53
replaceafilland again, bound contact was a subclass (the same way as contact)17:54
replaceafillbecause they wanted the address detail on the student too17:54
replaceafillth1a, i'm going to finish the import from previous year today i think, will let you know17:54
replaceafillthat's it from me17:54
replaceafillthanks yvl17:54
yvlthank _you_, Douglas ;)17:55
aelkneryvl, i was asking about levels because schooltool.zambia will need to use them17:56
aelknerat the moment it has it's own implementation which i got from schooltool.cambodia17:57
yvlso that's good17:57
yvlthe implementation is basically the same in trunk17:57
replaceafillaelkner, we'll have to change cambodia and zambia when levels are in trunk17:57
aelknerbut these relationships will need to be evolved once st core has them, right?17:57
yvlbut no "class" support17:57
yvlif it's possible, I'd rather destroy the databases than write evolution scripts17:58
aelknerand scholtool.zambia definitely DOESN'T want groups, sections, etc to be auto-created17:58
yvlIt's kind of an early stage of work17:58
replaceafilldoes zambia already have production data?17:58
th1aNone of this is deployed so it can all be redone without evolution.17:58
yvlaelkner - that was not moved into trunk17:58
aelknerthey have FET data, and from that i will create sections, etc.17:58
yvlauto-creation is Cambodia-specific17:58
aelknerjust the relationships then, and the groups view?17:59
yvlthey are... actually pretty useless at this point, except that they exist17:59
th1aYes, aelkner, we should try to keep Jen generating everything from imports so we can just start over from scratch for as long as possible.17:59
* yvl seconds17:59
aelknerth1a, you saw that part of my note where i said the process was ever-repeatable?18:00
yvlaelkner, there's just code to help link levels to courses, but no views for that at the moment18:00
th1aaelkner, Just making sure we're on the same page.18:00
yvlit's supposed to be tested and documented18:00
yvlah, and a view for admin to create/sort levels18:00
yvlif you need anything more18:01
aelkneryvl, just keep us in the loop about what and when we need to change our use of levels in the custom packages18:01
aelkneri mean, please do so :)18:01
yvlah, ok18:02
aelknerand how to evolve when we need to18:02
aelkneroh, never mind18:02
yvljust check this branch out:
aelknerno evolve18:02
th1aAnd that should be going into the development trunk this week after the development trunk is created?18:02
yvlwell it "kind of is created now"18:03
yvlso yes18:03
yvlone of the easier ways for you guys18:04
yvlwould be just getting that branch18:04
yvland adding it to develop =18:04
yvland then porting whatever code is needed18:04
yvlor I can add that to trunk, and you can port then18:05
yvlit's up to you18:05
aelknereither way we wold need develop =, right?18:05
yvlif you wait for it to get into trunk18:05
yvlit will get released as an egg18:05
yvland it will brake sandboxes automatically18:06
yvland that sounds bad18:06
aelknerbut that's ok18:06
replaceafillwe know it will happen ;)18:06
aelknerit will break in a way that allows us to fix our side18:06
yvlif Jen doesn't run bin/buildout, yes18:06
yvlyou know what18:07
yvlI'll just merge stuff to trunk18:07
replaceafillyes, i just realized they're using check outs18:07
yvlthen you can check out trunk, and add it to develop=18:07
yvland when the porting is done18:07
yvlrelease the eggs18:07
aelknerreplaceafill, cambodia is using develop = for schooltool core?18:08
yvl(or you can use my levels branch from tomorrow as develop, that's the same effect)18:08
replaceafillit's still using an egg18:08
aelkneri'm happy to use the egg if it's going to be ready by tomorrow, but i can also use your branch18:09
aelknereither way is fine with me18:09
th1aBasically, Jen can probably handle building from eggs, and considering what we're trying to do with FET, it probably makes sense for her.18:09
th1aBut generally, we really don't want people using eggs at all.18:09
th1aa) we've got good communication going with them and;18:10
th1ab) they seem like they can handle it.18:10
yvlsounds right18:10
yvlok, synched the levels branch with trunk18:10
aelknerwith Jen, it looks like a) and b) are true18:10
th1aI'd rather we were throwing things up on the demo server.18:10
th1aIn the default case.18:11
yvlyou can try it out whenever you want18:11
yvlumm, there's some hidden documentation18:11
* th1a arbitrarily drops the bag of gravel.18:11
yvlfeedback is very welcome18:12
aelkneryvl: will do18:12
th1aaelkner:  Do you want to take a break and discuss the imports more around 1:00?18:15
yvlok guys, have a great week :)18:16
th1aHave a great week gentlemen!18:16
aelknergreat week, everyone18:17
aelknerth1a, 1:00 is ok for me18:17
replaceafillthanks everybody18:17
yvlth1a, completely forgot18:20
yvlI'd like to take the next week off, if that's ok18:21
th1aAfter this week?18:21
th1aThat's fine.18:21
yvlthanks :)18:21
* th1a isn't happy about the weak Euro.18:22
Lumiereth1a: get your money into yen!18:22
th1aI'll ask Mark to transfer the rest of our budget.18:22
*** menesis has quit IRC18:33
*** menesis has joined #schooltool18:33
*** alga has joined #schooltool19:08
*** alga_ has joined #schooltool19:08
*** replaceafill has quit IRC19:47
*** menesis has quit IRC20:00
aelknerth1a, ping20:05
*** replaceafill has joined #schooltool20:25
*** ignas has quit IRC20:30
*** replaceafill has quit IRC20:42
*** replaceafill has joined #schooltool20:55
*** replaceafill has quit IRC21:10
*** lisppaste5 has quit IRC21:15
*** lisppaste5 has joined #schooltool21:15
*** replaceafill has joined #schooltool21:16
*** menesis has joined #schooltool22:08
*** jelkner has quit IRC22:52
*** replaceafill has quit IRC23:27

Generated by 2.15.1 by Marius Gedminas - find it at!