IRC log of #schooltool for Monday, 2010-11-08

*** ignas has quit IRC01:44
*** aks has joined #schooltool05:19
*** menesis has joined #schooltool08:17
*** alga has joined #schooltool09:45
*** aks has quit IRC09:55
*** menesis has quit IRC12:17
*** ignas has joined #schooltool12:19
*** yvl has joined #schooltool12:29
*** menesis has joined #schooltool13:11
*** alga has quit IRC15:13
*** replaceafill has joined #schooltool15:16
*** th1a has joined #schooltool15:33
th1aHi aelkner, yvl, menesis, replaceafill.15:38
th1aIs it 14:30 now?  We just switched to daylight savings...15:39
th1aI guess I could check...15:39
replaceafillgood morning/afternoon15:39
replaceafillth1a, is 8:30 your time?15:39
th1a8:30 now.15:40
th1aWell, 8:40.15:40
th1aActually, have we been meeting at 1330?15:41
* th1a is confused.15:41
th1aAre we meeting an hour later?15:41
* replaceafill is too, since time doesnt change in El Salvador :(15:41
th1aWhat time is it there?15:42
th1aMeeting time?15:42
th1aTwo hours before?15:42
replaceafillmeeting time is usually 7:3015:42
th1aWhere are the Lithuanians then?15:42
replaceafillbut these days it becomes 8:3015:42
yvloh, hi guys :)15:42
th1aAh, hi yvl.15:42
yvlit's 15:42 here15:42
menesiswe are here, hi15:43
yvl(usually meeting starts at 16:30)15:43
th1aI think we had the wrong time on the header here.15:43
th1aI forgot to remind aelkner though.15:43
*** ChanServ sets mode: +o yvl15:43
*** yvl changes topic to "SchoolTool development | IRC logs at | SchoolTool Dev meetings Mon, 14:30 UTC (15:30 EET, 9:30 EST) | Use for pasting"15:43
th1aWell, I know he has some questions, but I suppose we can get started and get to him when he wakes up.15:43
th1aAlso, I could call him.15:43
*** ChanServ sets mode: -o yvl15:43
*** ChanServ sets mode: +o yvl15:44
* th1a calls aelkner.15:44
th1aOK, he's up.15:45
menesistopic says 14:30 UTC, it is 13:45  UTC still15:45
th1aLet's get started.15:45
yvlth1a, isn't it 8:30 UDT now?15:45
yvlEDT, sorry15:46
*** yvl changes topic to "SchoolTool development | IRC logs at | SchoolTool Dev meetings Mon, 13:30 UTC (15:30 EET, 9:30 EST) | Use for pasting"15:46
yvlok, thanks15:46
th1aWe were EDT until yesterday, now EST.15:46
*** yvl changes topic to "SchoolTool development | IRC logs at | SchoolTool Dev meetings Mon, 13:30 UTC (15:30 EET, 8:30 EST) | Use for pasting"15:46
th1aOK, yvl, feeling refreshed?15:47
yvlyes, thanks15:47
th1aRemember what you're doing?15:47
yvlbut seriously, yes15:47
th1aWhat's the timeframe look like?15:47
yvlsorry, didn't recalc yet15:48
*** ChanServ sets mode: -o yvl15:48
yvlone thing popped up15:48
aelknermorning :)15:48
yvlI kind of want to try making the timetable set up view work with javascript15:49
yvlit will take some effort to make the view work with plain z3c.form as well as javascript version15:49
*** alga has joined #schooltool15:50
yvlso I have to chose which way to go15:50
th1aWhat do you want to do with Javascript?15:50
yvluse z3c.formjs to make buttons that add period "slots" dynamically15:51
yvl* add/remove15:51
yvlit's somewhat riskier, but it's a good point to check if we want to add JS shinyness this way to ST in general15:51
th1aAs opposed to needing a page reload?15:51
th1aIt isn't a good time to do it.15:52
th1aI'm much more worried about our demonstrating the capacity to wrap up a complex refactoring than our ability to make shiny javascript.15:52
yvlI see15:52
yvlit's not just about shinyness15:53
yvlJS would make writing the view easier15:53
yvl(and it has built-in buttons that reload pages for tests)15:54
th1aYou mean, easier to write once you do the harder work of setting up the plumbing?15:54
th1aLook, I just don't want an endless progression of new things to be done in this project, it needs to be finished.15:55
yvlI understand15:55
th1aSo, if it is not going to take a lot longer, fine.15:55
yvlbasically, the choice boils down to this:15:55
yvlJS is more risky of hidden stuff, if the risk pays off - shorter dev time15:56
yvldoing plain z3c.form is safer15:56
yvlwe're talking about 1 day dev time savings;15:56
yvlso I thought I'd ask you to help me choose :)15:57
th1aI can't really say.15:58
yvlok then15:58
yvlhow about this, I'll try going the JS for a day, if all goes well, continue15:58
yvlif not, fall back to plain z3c.form15:59
aelknercan i say that hidden does not sonnd good, but i'm not sure what you mean by hidden15:59
aelknernot too much magic i hope15:59
yvlthe library seems simple15:59
yvlbut I'm paranoid about such things recently15:59
aelkneri'd say keep it simple, i.e., no need to add unchartered tech to the project16:00
yvladding a simple (from z3c.form library) listwidget and screwing JS handler to it would be more simple16:02
aelknerunless it makes things clearer16:02
yvlbut, as you said - uncharted tech16:02
yvlif not - the view becomes more complex16:02
aelknersounds like you're going to have to make that call16:03
th1aAll right.  Thanks yvl.16:04
menesisI sent an email asking for sponsors, haven't got any answers yet16:06
menesisprepared to track and make packages for natty16:06
menesishave not uploaded anything yet16:07
th1aYes... I'll write a follow-up poke as needed.16:07
th1aUploaded anything to?16:08
menesiswell, nothing.16:09
menesisjust looked at the state in natty and unstable16:09
th1aWe might as well start making natty packages though so we're ready, right?16:09
menesisthere was some commits to debian svn, but nothing released16:09
menesissince debian is still in deep freeze, I don't expect anything to change there16:10
menesiswell, I want some answers first16:10
th1aTo?  Your questions in the email?16:12
th1aIt doesn't seem like they would affect your ability to make the packages.16:12
menesisthe packages are there, I can update a few of them to the exact versions in ztk, but all changes are minimal16:13
menesisI will only rebuild them and upload where needed16:14
th1aHow long does that process take?16:14
menesisbut if I need to add another changelog entry then it's two rebuilds, I would rather make one16:14
th1aAll right.16:14
menesisit takes a few minutes for each package. they are all ready, only a changelog entry for natty has to be added16:15
th1aOK.  Thanks.  Anything else?16:16
menesisnothing I remember16:16
th1aThanks.  replaceafill?16:17
replaceafillno answer from javier :(16:17
replaceafillyet (i hope)16:17
replaceafillso, this week i worked in the ESAES report card16:17
replaceafilland gradebook16:17
replaceafilland i started to look at the journal, trying to think how to do the daily journal grading they do16:18
replaceafilli guess that's the last 'big' feature they requested16:18
replaceafilli also helped jelkner16:18
replaceafillhis provider screwed his virtual machine16:19
replaceafillso we had to set up everything back for his GCTAA instance16:19
replaceafillhe also filed a bug:
replaceafillaelkner already expressed his thoughts on that :)16:20
aelknerhe's been crying for that feature for some time now16:20
th1aYes, replaceafill probably gets to do that soon.16:21
th1aHow soon?16:21
replaceafilland he recently wrote a blog post kind of related:
th1aIt's a full court jelkner press.16:21
th1aAcross all media.16:21
replaceafillfinally, after our last meeting, i reviewed cambodia's forms, trying to make them simpler16:22
replaceafilland found that out z3c-schooltool-form template is a little outdated16:22
replaceafillmostly in the group forms handling16:22
replaceafilland i had a question for menesis on
replaceafillmenesis, i thought that was because of this bug
menesisreplaceafill: no, this was because timezone name changed because of DST16:24
replaceafillbut running it with LANG=C didn't show the error, correct?16:25
menesisit is not related16:25
replaceafillwell, i was just confused :)16:25
replaceafillth1a, finally, i tried to help aks with a dns/apache problem he was having with his server16:26
menesisthe test uses utcnow() and after october 31 it started to fail.16:26
replaceafillhe said he would report back16:26
replaceafillmenesis, ah!16:26
replaceafillth1a, i have a couple of tasks pending for El Salvador, but you told me to move to statuses, correct?16:27
th1aHow much more work do you have to do for El Salvador?16:29
th1aI suppose wrapping that up isn't a bad idea.16:29
replaceafillthe daily journal grading for ESAES16:29
th1aSince that's what I'm telling yvl to do.16:29
replaceafillwhere they grade several "skills" for every student each day16:29
th1aSo it is the multiple assessments per day in journal question.16:30
th1aIs ESAES using SchoolTool now?16:30
replaceafillnot for grades yet16:30
th1aBut for other things?16:30
replaceafillthey have their data loaded in the demo instance i set up16:31
replaceafillfor listing students and teachers yes16:31
th1aSo that's a completely new feature.16:31
replaceafillfor showing the parents they use software :D16:31
replaceafillit's more of a wish i think16:31
replaceafilli mean, they do it on paper right now16:31
th1aSo there's:16:32
th1a1) multi-grade journal16:32
th1a2) section enrollment status16:32
th1a3) jelkner's score-system gradebook thing.16:32
th1aSo is he just concerned with changing the way averages are calculated?16:33
replaceafilli think so16:33
th1aI'm actually a little fuzzy on the particulars.16:33
aelknerthe score system by section is one thing he wants16:33
th1aThe way averages are coverted to scores, that is.16:34
aelknerthat's an old request16:34
aelknerbut the funny average calculation is a new one16:34
replaceafillaelkner, funny average calculation?16:34
aelknerhe doesn't want 100, 0, 100, 100 to average to 75 (C)16:35
th1aYeah, that's what the blog post is about.16:35
th1aWell, that's not a priority.16:35
aelknerhe isn't specific in hist blog post of how it would be calculated differently16:35
replaceafillbut the bug is just about the first one, correct?16:35
replaceafillgot it16:35
aelknerreplaceafill, please keep me in the loop on how you handle the first one16:36
th1aWell, it seems like we could just make it a per-worksheet setting.16:37
aelknerwe could start with just that16:37
aelknerbut i can see jelkner having the feature and saying two days later16:37
th1aI don't want an overly complicated implementation.16:38
aelkner'i want to set it for the whole section easily'16:38
aelknerthen we would have to revisit the issue again16:38
yvlmy two cents16:38
yvlfor such things I'd prefer per-something setting16:38
yvland hooking to, say, worksheets for this case via adapters16:39
th1aI don't think we need to go beyond, at most, gradebook default (user-settable) and editable by worksheet.16:39
yvlit doesn't matter that much what we hook that to16:40
yvlthat setting is in annotations anyway16:40
replaceafillyvl, the adapter would look/store the preferences info under the adapted worksheet annotations?16:40
yvlnow - yes16:41
yvlbut it should be possible to write "get me the scoresystem for this XXX"16:41
yvl(or something along the lines)16:42
yvland the adapter XXX to scoresystem or other stuff should be done in a separate adapter16:42
yvlthat stores it, say, on worksheet annotations16:42
replaceafillan adapter per each preference?16:42
yvland the view should be hooked on the scoresystem preferences16:43
replaceafilllike hide_total, hide_average, average_scoresystem?16:43
yvla moment...16:43
yvlI think in this case it's the "defaul scoresystem" and "average scoresystem"16:44
yvland other - hide_total, hide_average16:45
yvlhide_total and hide_average can probably stay where they are now16:45
yvlanyway - the whole point of doing that through separate adapter16:46
yvlis when/if we decide to apply it on per-section basis16:46
yvlit would be a simple as switching the storage annotations to section16:47
replaceafillyou'd still ask "get me the scoresystem for this XXX"16:47
yvland IScoreSystemPrefs would adapt worksheet to the section16:47
replaceafillXXX being now the section16:47
yvlyes; but in the views, it would still be asking to get the settings for the worksheet16:48
aelknerthe principal might want to set up a score system for the whole term or schoolyear, too16:48
* replaceafill wonders if adapters could be used for activity sources...16:48
yvla good question :)16:49
replaceafilli mean, instead of relying on split('_')16:49
replaceafillth1a, ok that's it from me16:50
th1aOK, so you're going to do the worksheet thing first?16:50
yvlyes, replaceafill, that could be the way to go ;)16:50
th1aOK.  Fine by me.16:50
replaceafillyvl, and would help with the gradebook refactoring needed for cambodia ;)16:50
aelknerso last week i moved a lot of person form code and viewlet manager stuff into schooltool.niepa16:51
aelknerfrom schooltool.cambodia16:51
aelknerso i have the same ability now to control the links16:52
aelkneralso, i liked the idea of having multiple fieldsets in the person forms16:52
aelknerwith more than one field per row16:52
aelknerbetter than running down the screen as person forms do in core16:53
aelkneranyway, i simplified my version to not have subforms for now since i don't need them16:53
aelknerbut i also generalized how the fields for each fieldset and then the fieldssets themselves16:54
aelknerget built with class methods that make it ore table-driven16:54
aelkneri haven't pushed those changes up yet, but when i do i will ask replaceafill and yvl to have a look16:55
aelknerin the meantime, i have a question about demographic fields16:55
aelknerit looks like they only support text fields at the moment, no boolean or choice fields16:55
aelknerthere's this enum field idea16:55
aelknerbut that's not the same as choice because there is no key, value concept16:56
yvlthe key is built from value16:57
aelknerdfs['ethnicity'].items = [u'American Indian or Alaska Native',16:57
aelkner                              u'Asian',16:57
aelknerare we carrying the key in the field?16:58
aelkneri don't see how that is being done16:58
yvlsee basicperson/demographics.py16:58
yvltoken = value.encode('idna')16:59
yvltoken is the key16:59
* replaceafill wonders about idna vs punycode...16:59
aelknerdoes that make sense to have the key pretty much equal the value16:59
yvlreplaceafill, that must be fixed some day!17:00
yvlthe value is unicode, the key is not17:00
aelknerand if sme report wanted to break things down by ethnicity above, one would need:17:00
aelknerif field[''ethnicity] == 'u'American Indian or Alaska Native':17:01
aelknerrather than a more sensible 'indian' or some such thing, like with Choice fields17:01
replaceafillaelkner, and it bite you in the butt when the user changes the title!17:02
replaceafilland he has values stored already with the old title...17:02
aelknerbesides, what there right now is npt translatable17:02
yvlit's either translatable or customizable17:03
yvlwe chose the latter17:03
th1aYeah, if you want it in your language you just re-do it.17:03
replaceafillitems are supposed to be filled by the user17:03
replaceafillin his language17:03
yvlyes, th1a17:03
yvlso you have to get that vocabulary, and get the items17:03
aelknerdoes the enum widget provide the user with a drop-down?17:05
replaceafillaelkner, look at makeField17:06
replaceafillreturn self.setUpField(Choice(17:06
aelknerok, so i'll use that for choice fields17:06
aelknerwhat about booleans17:06
aelknerwe need yes/no radio buttons for that17:07
yvlyou'll need a new FieldDescription17:08
aelknerand the widget?17:08
replaceafillself.setUpField(Bool( ?17:09
yvlclass BoolFieldDescription(FieldDescription):17:09
yvldef makeField(self):17:09
yvlreturn self.setUpField(zope.schema.Bool(17:09
aelknerah yes, very simple, thanks17:09
yvlit might give you a check-box there :)17:09
* replaceafill thinks that should go into core17:10
aelknerthat would be ok17:10
yvlit should go into core17:10
replaceafilli thought yes/no was the default17:10
aelknerit will, that's what th1a wants in the end17:10
replaceafilland you had to customize the checkbox17:10
aelknerbut for now, i can put in in schooltool.niepa and use it there17:10
aelknerth1a has plans for us to fold custom package features into core his spring17:11
yvlsounds good17:11
aelknerbut it is probably faster for the client if i just add it to the custom project for now17:11
aelkneranyway, last question about demo felds17:11
aelknershouldn't we support descriptions so that the form will have a roll-over popup description?17:12
aelknerthe makeField would be able to pass that easily17:12
th1aaelkner:  At this point, I'd rather prioritize getting things in core over getting them ready for David more quickly.17:13
yvlaelkner, you can add that17:13
yvland to IFieldDescription also17:13
aelknerok, i can branch schooltool in my niepa sandbox and make the change there so that i can use it17:14
* replaceafill just saw the light!!!17:14
aelknerwithout waiting for the egg to be built17:14
replaceafillyvl, makeField uses: title=unicode(self.title)17:15
replaceafillthat should be an i18n string?17:15
yvlthe title is user data17:16
replaceafillah right!17:16
replaceafillsorry :(17:16
yvlunicode is for tests, I think17:16
aelknerth1a, ok, so i'll make the demo field upgrade changes to core17:17
aelknerand i'll use them in niepa to add all the demo fields for students, teachers, etc.17:18
aelknerbut what about the relationship between IDemographicField17:18
*** alga has quit IRC17:18
aelkneri should say, IFieldDescription, and IGroup17:19
aelknershould i be adding that to my branch of schooltool as well?17:19
aelknerwe want to have a relationship between groups and demo fields17:20
aelknerso that students have one set of demos and teachers another17:20
aelknerwithout that being determined by form code17:20
aelkneror maybe i'm off base here17:20
aelknerth1a, do you understand what i'm referring to here?17:21
th1aYou should be able to designate which groups a demographic field is relevant to.17:21
aelknervia relationship, right?17:21
th1aAnd for the record, I'm ok with limiting this to built-in groups.17:22
aelkneryes, the three biggies17:22
th1aOr whatever.17:22
yvlI relationships will be good enough for now17:22
aelknerwell, the machinery for related the two objects is one thing17:22
yvl* I think17:22
aelknerusing it will be a AppInit matter17:22
aelknerwhere the relationships are established17:22
yvlyou don't need that, do you?17:23
yvlRelationshipProperty should be good enough17:23
yvland a description could read like "Limit this field to these groups"17:24
yvlas in - no groups selected - apply to all17:24
aelknerAppInit is where i will be adding schooltool.niepa specific demos to the Data.fs17:24
aelkneras i add each demo field there, i would set up the link17:25
yvlI see17:25
aelknermakes sense?17:26
yvland you have custom person forms there, right?17:26
aelkneryes, and makeDemographicFields wold use the links17:26
aelkneractually, a multi-adapter would be even more elegant17:27
yvlwait, what?17:27
yvljust to be on the same page...17:27
yvldo you have custom PersonForm?17:27
yvlso you can omit the "limit field to these groups" UI for now,17:28
yvlsimply set up the relationships fields -> groups in app init,17:28
yvland filter out fields in generateExtraFields method17:28
yvlis this what you meant? :)17:29
aelkneri was thinking that IDemographicFields(group) would be useful, wouldn't it?17:29
aelknerlet it do the logic17:29
yvlpersons are in multiple groups, in theory17:30
th1aI think that's overkill.17:30
aelkneryvl, good point about the multiple groups17:30
aelkneri was gong to ask about that17:30
aelknerth1a, if a person is a teacher and a student, which demos should appear on the form?17:31
aelkneri was thinking a preference hierarchy17:31
aelknerlike teacher, student, administrator17:31
yvlthose that are limited to "teacher" + limited to "student" + other not limited fields17:31
th1aaelkner:  both.17:32
replaceafillaelkner, does your UI give this capability to the user? (adding a person to multiple groups)17:32
th1aI was just thinking go through the form and at each field check if the person is in  any of the relevant groups.17:32
aelknerth1a, ok17:32
aelknerreplaceafill, as it turns out i do use the logic you have in schooltool.cambodia17:33
replaceafillcambodia allows only one group per person17:33
aelknerfor setting the group according to the the view class17:33
replaceafilli'm just thinking about an addform with this logic (multiple groups)...17:33
aelknerall of you person container by group logic, etc17:33
aelkneranyway, as th1a points out, i can handle multiple group membership by doing a union17:35
aelknerthat won't be a problem, and i'll do it in the view class code, so that's it for that17:35
aelknerth1a, that's my report17:35
yvland if it's not too hard, make the check17:35
yvlthat if field is not related to any groups17:35
yvlit is shown to all persons17:35
th1aOK.  Thanks.17:35
aelkneryes, will do17:35
yvlthanks, aelkner17:36
th1aI sent a sort of proposal to Critical Links last week but have not heard back.17:36
th1ayvl:  I want to get you to Portugal before the end of the year if possible.17:36
th1aMaybe menesis too.17:36
th1aMaybe me too.17:36
yvlyes, sure17:36
th1aMark finally caught up with his post-UDS email enough to read the Critical Links news, and he's pleased, ofc.17:37
th1aI'll be starting the annual report to him this week.17:37
th1aAlso I need October invoices.17:37
th1aaelkner, we need to discuss that on the phone.17:37
yvlours should be "on the way"17:38
replaceafilli'll work and send mine17:38
yvlby the way, what about the meeting time next Mon?17:38
th1aUm... an hour later than today.17:39
replaceafill9:30 EST17:39
yvlyes :)17:39
th1aThat's back to the regular time for you?17:39
yvlthat will be 8:30 @ replaceafill ?17:40
*** ChanServ sets mode: +o yvl17:40
*** yvl changes topic to "SchoolTool development | IRC logs at | SchoolTool Dev meetings Mon, 14:30 UTC (16:30 EET, 9:30 EST) | Use for pasting"17:40
* replaceafill is freezing at 15ยบ C...17:40
*** ChanServ sets mode: -o yvl17:40
th1aThanks gentlemen!  Have a great week!17:41
* th1a drops the bag of gravel.17:41
yvlthanks :)17:41
replaceafillthanks everybody17:41
yvlgreat week to you all17:41
yvlth1a, once you have some agenda about trip to Portugal, please share17:41
* yvl is using common sense and a crystal ball at the moment ;)17:42
th1aI don't have anything to share really.17:43
th1aThey've got their code in CVS & use Linux from Scratch to somehow build SchoolTool.17:43
th1aJust figuring out what the hell they've done will be a start.17:43
aelknergreat week to all!17:44
th1aWe'll probably all be in Portugal for the annual sprint.17:44
th1aIn Jan/Feb.17:44
yvlthat would be fun ;)17:44
yvlon so many levels :)17:45
yvl"the city has a total of 35,000 higher education students"17:51
yvl~140k total population17:52
th1aThey might have clubs.17:53
* yvl wonders why that thought didn't occur to him17:55
ignasth1a, hi, still there?17:57
ignashe's quick :)18:00
*** yvl has quit IRC18:05
th1aignas, I'm here.18:17
* th1a was in the shower.18:17
ignasdo you have some list of edu conferences? :)18:18
ignaswe are looking for events to go to, trying to get our product into universities18:19
th1aNot really... particularly not outside the US.18:19
ignasI see18:20
th1aConferences haven't been particularly productive for SchoolTool.18:20
ignashmm, why so?18:22
th1aActually, that the US isn't the right audience is a big part of it.18:23
th1aIf I went to a conference in Nigeria it might be more worthwhile, if I knew anything about Nigeria.18:23
th1aIf they have conferences in Nigeria.18:27
ignashow do they call these kinds of conferences anyway? education conferences is giving me quite an information overload :)18:32
th1aUh...  well the big ones are annual and mostly national.18:39
*** replaceafill has quit IRC18:40
th1amenesis: <ogra_ac> the plan is to make all launchpad package builds automatically also build arm packages18:57
th1a that includes distro archives as well as personal package archives18:57
th1a<ogra_ac> zumbi_, nope18:57
th1a the upcoming build cluster is all panda based18:57
th1aGood reason for us to have one too.19:03
*** menesis has quit IRC19:17
*** ignas has quit IRC19:38
*** menesis has joined #schooltool20:50
*** replaceafill has joined #schooltool20:55
*** replaceafill has quit IRC21:55
*** menesis has quit IRC22:08
*** replaceafill has joined #schooltool22:34

Generated by 2.15.1 by Marius Gedminas - find it at!