IRC log of #schooltool for Monday, 2012-09-24

*** aelkner has quit IRC02:53
*** aelkner has joined #schooltool03:13
*** milamber has quit IRC09:54
*** milamber has joined #schooltool09:54
*** menesis has quit IRC11:56
*** ignas has joined #schooltool13:50
*** menesis_ has quit IRC14:33
*** khildin has joined #schooltool14:36
*** jelkner has joined #schooltool14:58
*** jelkner has joined #schooltool14:58
*** th1a has joined #schooltool16:03
*** menesis_ has joined #schooltool16:07
*** replaceafill has joined #schooltool16:22
th1ahi replaceafill, menesis_, yvl, aelkner.16:30
replaceafillgood morning/afternoon16:31
aelknermorning16:32
yvlgood morning16:32
th1aSo, let's start with the question of this skills proxy/copying question.16:34
th1athe question of the question.16:34
th1aOr perhaps just the question.16:34
th1ayvl?16:34
yvl?16:34
yvlyvl? is not a very good question :)16:35
yvlsorry ;)16:35
yvlumm, well, I say I should do what I said in email16:35
yvlor replaceafill can do it :)16:36
*** menesis_ is now known as menesis16:36
yvlif I remember correctly16:36
yvlthe main point of proxying was...16:36
yvlif the titles / descriptions change, they should be reflected instantly16:36
yvlbut16:36
yvlrequired / retired should not be reflected16:37
yvlit seems we actually just need full copies of skills, *except* their titles/descriptions16:37
th1aI'm having trouble remembering why changing titles/descriptions was a hard requirement.16:38
th1aIf the section wanted a different title?16:39
yvlI think - but not sure - that was for a basic scenario, where16:39
yvluser creates skills, assigns to many courses, then realises a typo16:39
yvland wants to fix typo in one place16:40
th1aOh, you want changes in the base skill to propgate.16:40
th1apropogate.16:40
th1apropagate16:40
yvl:)16:40
th1aThat makes more sense at least.16:40
th1aThat seems more like a nice to have.16:41
th1aSo would making this change require a lot of changes all over the code?16:41
yvlone place, then think a bit about evolution16:42
yvlunless I forgot something, it's been a while16:42
yvlof course we'll need to update reports16:42
yvla copy of skill makes it "equivalent", not "same"16:43
yvlso you'll have to report for "equivalent" skills in same year / courses or something similar16:43
th1aWell, maybe we need some additional semantics.16:43
yvlwe may have enough semantics already16:44
th1aBecause we may want to distinguish between copies of exactly the same standard and different standards which are considered equivalent.16:44
th1aLike if an entirely new set of english standards are adopted.16:44
yvlah16:44
th1aAnd you need to say this "write an essay" standard is equivalent to the other "write an essay" standard.16:45
yvlhmm16:46
yvlwhen you say "standard" you also mean actual skills?16:46
yvlor just the document model?16:46
th1aYes, if I say standard I mean skill.16:46
* yvl is a bit rusty on terminology here16:46
yvlah, ok16:46
th1aI'm just slipping into the usage in our school.16:46
yvlso, say we have two "write an essay" standards16:46
th1aor skills ;-)16:47
yvlWE-A and WE-B16:47
th1amore like:16:47
th1aold-writing-we16:47
th1anew-writing-we16:47
yvlok16:47
yvlWE-old16:47
yvland WE-new16:47
yvland you want to say that scoring them is equivalent16:48
* yvl is speculating16:48
yvlso WE-old ~= WE-new16:48
yvlthen you have two sections16:48
th1aEssentially you'd want your new reports to be able to translate the old scores.16:48
yvlSEC-a, where you teach WE-old;  and SEC-b where you teach WE-new16:48
yvlwill it make sense, if16:49
yvlSEC-a has a "copy" of WE-old:  WE-old-copy16:49
yvlwhich *internally* is marked as equivalent of WE-old16:49
yvlsame for SEC-b16:49
yvlwhich means, you can trace scores from WE-old-copy to WE-new-copy16:50
th1aI'm just saying that we might want to make a semantic distinction between a copy and a different but equivalent skill.16:50
yvlgot it16:51
yvlmakes sense to me16:51
yvlso... this is my next task? :)16:51
th1aAny concerns, objections?16:52
th1aaelkner, replaceafill?16:52
th1aApproval?16:53
th1a+1?16:53
yvl-1?16:53
replaceafill+1 :D16:53
yvlthrow a rotten egg?16:54
aelkner:)16:54
aelknerit seems complicated, but i don't have a better idea off hand16:54
aelkneralthough16:54
aelkneri was wondering why we couldn't have the section in the evaluation16:54
aelkneri mean, that way we could keep the skills from becoming more difficult to process16:55
aelknerthe evaluations could be the place where section is recorded16:55
aelknerbut i suppose that introduces its own set of problems16:56
* yvl is just a bit cautious about entering section for each score (evaluation), because "tracking section" means a bit more data for each entry16:57
th1aWell, if the problem is just yvl's sense of aesthetics, maybe we should take the easier solution.16:57
yvlwhen username is few bytes16:57
yvlto track a section you'd need a keyreference probably16:57
yvl(which is somewhat bigger chunk of data)16:58
th1aIf not a relationship.16:59
th1areplaceafill:  Do you agree?16:59
yvlrelationship is WAY MORE data16:59
th1aI know.16:59
yvlok16:59
replaceafilli think we should change cando's data model, not evaluations16:59
th1aOK.16:59
th1aIt is a data model issue.16:59
th1a:-D16:59
replaceafill:D16:59
aelkner:)16:59
yvl:D17:00
th1ayvl:  We'd want this to be in the October release.17:00
aelkneri'll defer to replaceafill's opinion, he has to process these skillls in his reports :)17:00
yvl:)))17:00
th1aDo you think this is a week job?17:00
replaceafill:D17:00
yvlth1a, I'll aim for Wed17:01
yvlnot sure about evolution though17:01
th1aWell, yeah, that's the hard part.17:01
th1aI'd think that'll take at least as long.17:01
th1aBetter now than in a year though.17:02
yvltrue!17:02
th1aOK, so do that yvl.17:03
th1aAnything else?17:03
yvlwell, I looked at that Data.fs17:03
yvlit seems there was *some* import that deleted and recreated the users17:04
yvlwithout firing proper events17:04
yvlbut I'm guessing as I think DB was also packed at some point17:04
yvlor, maybe, DB is just broken17:05
th1aDoes the importer have to explicitly fire the events?17:06
th1aOh, the packing destroys the evidence, right?17:06
yvlyes17:06
yvlbut it also seems that the database suffered some disaster17:06
replaceafillyvl, like an I/O error?17:07
yvlmaybe17:07
replaceafillany way to fix it? apparently it only affects the teachers group17:08
replaceafillteachers group view*17:08
yvlyou can manually re-point relationships17:08
yvlteachers group points to no-longer-existing versions of a person17:08
th1aDefine "manually."17:09
aelknerttw :)17:09
yvlfrom an interpreter17:09
aelkneroh, that way17:09
yvlopen the database, find teachers object17:09
yvlgo trhough relationships17:09
yvlsee what persons have __name__ empty17:09
yvllook at their usernames17:09
yvlfind users with those usernames17:10
yvlre-point to real users17:10
yvlbecause now, teachers point to "deleted" objects of, say "Artie A."17:10
yvlbut there is a new user "Artie A."17:11
yvlso I think that was a malfunction of some import script17:11
yvlbecause database mentions batches of teachers removed and added17:11
th1aIf there is something aelkner should look/test for in the import scripts, it would be good to bring that up now.17:12
yvlsee what deleted the users17:12
yvlone way to find out is17:12
yvlto look at access log17:12
yvland also zodbbrowser17:13
yvland see which view was used at that time17:13
yvlwhat to look for...17:13
yvlimport scripts that delete users17:13
aelknerour import scripts don't delete users btw17:14
aelknerthey don't delete any data as a matter of fact17:14
yvlsomething probably did, as far as I can tell17:14
yvlto say if it actually did I need an not-yet-packed DB17:14
yvlor more time17:14
yvl(to dig around)17:14
th1aHm.  OK.17:15
yvlbut the result is that relationships point to copies of users17:15
yvlmaybe there was some deepcopy misbehaving17:15
yvlmore likely that some users were deleted and added again17:16
th1areplaceafill:  What is this user's status with the bug?  Do you remember?17:16
replaceafillth1a, user's status?17:17
th1aDid they work around it, completely stuck, curled up in a ball crying?17:17
replaceafill:D17:17
replaceafillah17:17
th1aJust start over?17:17
replaceafillit just prevents glenda from seeing the teachers group17:17
th1aIn just one case?17:18
replaceafillwhen she wants to see teachers now, she uses the people view17:18
replaceafilland filter by group17:18
th1aIs this Glenda's demo or something?17:18
replaceafillth1a, i think so, yes17:18
th1aCould this be caused by deleting the teacher group?17:18
replaceafillfor her training sessions17:18
th1aHm.17:18
replaceafillnot really, i think the group is there17:18
th1aDeleting and re-creating it?17:18
replaceafilli don't think it's possible to get rid of "standard" groups17:19
replaceafillright?17:19
replaceafillyou get a dependable exception17:19
replaceafill"this object has dependents... etc etc" :)17:20
yvlit's not17:20
yvlwell17:21
yvlif you want to just fix it, you'd need to do ^ above17:21
yvlif you want to figure out what happened17:21
yvlI need logs :)17:21
yvl(not-packed db would be a plus)17:21
th1aDo we have a bug for this?17:21
th1aI'd say we should table it for now.17:22
th1aI'll file a bug.17:23
th1aOK, thanks yvl.17:23
th1aaelkner?17:24
aelknerso i fixed the broken tests that resulted from merging my skill_scoresystem branch17:24
aelknerand pushed the merge to schooltool.cando trunk17:25
aelknerit's occurring to me that we don't have an evolution script for existing skills17:27
aelknerdo we have a copy of a real Data.fs from virginia that i could try out with the new code?17:28
th1aOr just the skills that you could import yourself?17:29
aelknerthe importers are now changed, they require a scoresystem to be specified17:30
th1aWell...17:31
aelknerreplaceafill, do you have a Data.fs on the demo server i could copy to my local machine?17:31
th1aOK, perhaps we should discuss that change right now.17:31
aelkneractually, i might have one myself, i should check17:31
aelkneryes, let's discuss it17:31
aelknerso replaceafill, yvl, i added a scoresystem attribute to Skill17:32
th1aCan we make that optional in the importer at least?17:32
aelknerit used to be a property that basically looked up the global scoresystem17:32
th1aGlenda has decided she isn't in quite so much of a rush to get this.17:33
th1aBut then again, I think we're going to have to end up pushing it to themsoonish.17:33
aelknerwell, that's why i merged it because you wanted it to finally get into the codebase17:34
th1aSo... we just need to go back over the particulars and especially if and when menesis is going to release it.17:35
yvlaelkner, does this work?17:36
th1aWe probably need to do this in a way that doesn't require a change in the basic setup for CanDo.17:36
th1aWhich I think just means not requiring the importers to include it.17:36
th1aAnd just default to the default system.17:37
th1adefault to the global.17:37
* menesis will release as soon as the work that has been done is ready17:37
yvl(ok, so I can't see passing of scoresystem in Skill.copy and I don't remember if it will work with using skills in projects)17:38
yvlwell, it's not aelkner's first rodeo, so it'll probably be fine17:39
th1aaelkner:  What does yvl need to look at?17:39
th1aPresumably it is all in one merge?17:39
aelknerthe latest commit to schooltool.cando trunk is the one merge17:40
yvlok, so it seems that scoresystem may become None now17:40
yvlI've no idea how that affects the rest of the code17:40
th1aWe should back this change out of trunk.17:40
yvlalso, when copies of skills are made it is reset17:40
yvlnah17:40
yvloh17:41
th1aWell, I think we need a *bugfix* release very soon, and this won't be settled.17:41
th1aAlso, this needs to be tested and double checked with Glenda.17:41
yvland also it stores scoresytem object directly, so it can't  be deleted --- really not sure if it17:41
yvlif it's a problem, just bringing it up17:41
th1aHere's what I'm thinking.17:42
aelknerwell, the old way relied on the default scoresystem being present17:42
th1aWe're soonish going to have two rather large late-breaking changes.17:42
aelknerif that were ever deleted, then we'd have a different kind of problme17:42
th1aLike, next week.17:42
th1aAnd we should be testing both with Glenda, Dave and live data from eggs before pushing a .deb to real users.17:43
th1aThe two are the skill-copy thing and the skill-score system thing.17:43
aelkneri think i should do some more testing with live data this week17:44
th1aYes.17:44
aelknerand i will need to write an evolution script17:44
aelknerreplaceafill, could you please copy a Data.fs file from one of your demo instances to my home folder there?17:44
aelknerone with evaluations would be most helpful17:44
th1aYou might need to talk to Dave/Glenda for that.17:45
aelknerreplaceafill?17:45
replaceafillaelkner, i think the only one i have is at /home/replaceafill/sandboxes/cando_4term/schooltool.cando17:45
aelkneri thought you've been using demo instances to demonstrate reports, etc.17:46
replaceafillnope17:46
replaceafilli've been using tests ;)17:46
th1aI'd say the first thing you should do aelkner is make this work with the existing spreadsheets.17:46
aelknerhow do you mean?17:47
th1aNot require the row.17:47
th1acolumn, I mean.17:47
aelkneri could make the column optional, but then we need to decide to allow skill scoresystem to be None17:47
aelkneroh, or do you mean default it17:48
aelknerset it to the default scoresystem if not in cell17:48
th1aYes.17:48
th1aJust use the default.17:48
th1aGlenda will shit a brick if we change the import format now.17:49
aelknerand if for some crazy reason the default scoresystem has been deleted?17:49
th1aUh... pick one?17:49
yvl(when did it become deletable I wonder...)17:50
replaceafillme too17:50
replaceafillit's not iirc17:50
th1aYeah!17:50
aelknerok, i won't consider that possibility then17:50
aelknerso i can make the column optional and default the scoresystem17:51
replaceafillth1a,the goal of this revision is to allow users to customize the passing score for cando?17:51
th1aIt has two goals, actually.17:52
th1aa) picking a new global default for CanDo,17:52
th1abut b) allowing different score systems to be used for different (sets of) skills.17:52
th1aSo if you have CTE skills and autism skills in the same system.17:53
th1aI guess it is a bit awkward for changing score systems after the fact, which is something people will probably want.17:53
replaceafillright17:54
th1aBut that's just a matter of writing a view or two after the fact.17:54
th1aOK.  aelkner has a few things in the air right now.17:55
th1aDid you start the intervention student view?17:55
aelkneryou mean the student journal view17:56
th1ajournal, sorry.17:56
aelknermyjournal17:56
aelknerstarted looking at it, it seems straightforward enough17:56
aelkneri can return to that after i get the skill scoresystem situation straightened out17:57
aelknerregarding glenda, btw17:58
aelkneryou were concerned that the new change would cause headaches if the column was not optional17:58
aelknerbut even if it is not required, the column i inserted was not at the end17:58
aelknerso they would have to change their spreadsheets to insert the new column17:59
th1aWell, perhaps it needs to be at the end.17:59
aelknerthat's what i was getting to17:59
aelknerso i'll do that17:59
aelkneralso, it occurs to me that i could change it to have a hidden attibute18:00
aelkner_scoresystem18:00
aelknerand put the scoresystem property back18:00
aelknerthen the property could return the default scoresystem if _scoresystem is None18:00
aelknerreplaceafill, yvl, do you think that's the right idea?18:00
yvl+118:01
yvlyou could call it custom_scoresystem18:01
yvland keep @property scoresystem as convenience18:02
aelknercustom_scoresystem instead of _scoresystem, right?18:02
yvlyes18:02
aelknerok, sounds good18:02
yvlthanks aelkner18:02
aelknerok, i better focus in on that and get the changes into trunk in time for building the egg for glenda18:03
replaceafilli've always had a wondering about importers...18:04
replaceafillwhy do we need to change like 5 lines of codes every time we add/move a column18:04
replaceafillcan't we use an approach like18:04
replaceafillnaming the columns or something18:04
replaceafillnot a big deal though18:05
aelkneryeah, th1a had asked for that once, i'm not sure that is guaranteed to help18:05
th1aWe really should name the columns.18:05
replaceafillsome mapping maybe18:05
aelknerfor instance, right now the importers still work if the user accidentally edits a label18:05
replaceafillaelkner, i meant at the code level18:06
replaceafillsee the list of importers for example18:06
replaceafillif you want to add a new sheet18:06
replaceafillyou don't modify all of the others, right?18:06
replaceafilljust my 2 cents18:06
replaceafillwe should move on :)18:07
aelkneradding a column to an sql table is also always more complex than adding a new table :)18:07
replaceafillok18:07
aelknerbut i'll move the scoresystem column to the end and make it optional to protect virginia deployments18:08
aelkneranyway, that's it for me18:08
th1aWe also need to evolve them.18:08
th1aOK, one more thing.18:08
th1aI'd like to resolve this asap: https://bugs.launchpad.net/schooltool/+bug/99726718:09
th1aI have it for aelkner at the moment.18:09
th1aThe score system stuff might be third on my list for you right now aelkner.18:09
th1aThis version may be more coherent, btw: https://bugs.launchpad.net/schooltool/+bug/105293118:10
th1aIt comes from this question: https://answers.launchpad.net/schooltool/+question/20884918:10
th1aI'd like to get the recursion bug and the student attendance view out first, they should both be quick and releasable.18:11
th1aWe can talk about that bug later.18:12
th1areplaceafill?18:12
replaceafillok18:12
th1aThanks aelkner.18:12
replaceafilllast week i worked on virginia's reports18:12
replaceafillyvl, fyi, your suggestion about grouping and table formatters worked like a charm :)18:13
replaceafilli didn't commit that to trunk though18:13
yvlglad to hear18:13
replaceafillbecause that's where we realized about the multiple term issue with skills18:13
yvl(the working part, not the committing part ;) )18:13
replaceafill:D18:13
replaceafilli also worked on the permission issue of the gradebook options18:14
replaceafillmost of them are protected using schooltool.edit18:14
replaceafilli mean, linkviewlets18:14
replaceafilland some views too18:14
replaceafillso that prevents admins from even looking at them18:14
replaceafillso i've added a test and changed most read-only options in the gradebook view18:15
replaceafillreports mostly18:15
replaceafilli'm now moving to projects18:15
* replaceafill sees his notes for questions...18:16
replaceafillnope18:16
replaceafillnot today18:16
replaceafillah18:16
th1areplaceafill:  We need to get straight on what should be in this week's bugfix and what's later.18:16
th1aSo make sure that's clear to menesis.18:16
replaceafillth1a, ah ok18:16
th1aLike fixed permissions, yes.18:17
replaceafillprojects?18:17
replaceafillwhen are we making the release?18:17
replaceafillwed, thu or fri?18:17
th1aI think we'll be shooting for wednesday.18:17
replaceafill:)18:17
replaceafillkk18:17
th1aShooting for...18:17
replaceafill:)18:17
th1aYou may make it.18:17
replaceafillsure18:17
th1aI'm referring more to things already done.18:17
replaceafillgot it18:18
replaceafillah, i've also found a bug in the evaluated option of the section summary report18:18
replaceafillwhich i started testing18:18
replaceafillbut have still to fix18:18
replaceafillit should be ready by then18:18
replaceafillthat's it from me18:19
menesisso I can wait two more days for more bugfixes?18:20
menesisand all this was about schooltool.cando?18:20
th1aI think we'll check in Wednesday.18:20
replaceafillmenesis, the reports are in schooltool.virginia18:20
menesiswhat about virginia? there is one big commit with bugfixes18:20
th1aOh...18:20
th1aHm.18:20
replaceafillthat's the one with report fixes18:21
th1aI'm not sure that any of this is CanDo, actually.18:21
th1aI've got some outside bugs coming in that aelkner is working on.18:21
replaceafillprojects will be cando18:21
th1aFor the guy with this recursion bug in the gradebook... hm...18:22
th1aWe can either just have him switch to the dev ppa or do a real bugfix release to Ubuntu.18:22
th1aWe need to see what the bug really is regardless.18:23
th1aSo basically you can relax for the moment menesis.18:23
menesisok18:23
th1aAlso I did get an email from Helen at the Shuttleworth Foundation indicating she hasn't completely forgotten about switching the DNS.18:23
th1aBut nothing has happened yet...18:24
th1aSo nothing immediately on that front either.18:24
menesis:)18:24
th1aAnything else menesis?18:25
menesisI have released schooltool.ldap on Friday18:25
menesisin the ppa18:26
th1aAh!  OK, we should ping khildin.18:26
menesisyes please test someone who has ldap set up18:27
th1aI'll get the Zentyal guys to try it.18:27
menesisbecause I can see LDAP configuration page, but no idea if given correct settings auth will work18:28
th1aSure.18:29
th1aAnything else...18:29
menesishttps://launchpad.net/schooltool.ldap has everything set up - bugs, questions, translations18:29
th1aAh, good.18:29
menesisupdated the book a little18:29
menesisthe CAS page, move LDAP to separate page18:30
menesisadded Nginx virtualhost config example that I had18:30
menesisand18:31
menesisthat's it I think18:31
th1aOK.18:32
th1aI did start an interesting conversation last week with the folks who are re-starting XS server development for OLPC.18:32
th1aI'll let you know how that goes.18:32
th1aOK.  See you Wednesday.  Have a good week.18:32
yvlthanks guys18:32
* th1a drops the bag of gravel.18:32
menesisthanks18:32
replaceafillthanks everybody18:33
aelknerthanks guys, cya wed18:35
*** th1a has quit IRC19:56
*** th1a has joined #schooltool20:01
*** ignas has quit IRC20:07
*** menesis has quit IRC20:22
th1aaelkner:  ayt?20:50
replaceafillth1a, question21:12
replaceafillin the section summary report21:12
th1aYes?21:12
replaceafillthere's an evaluated option21:12
replaceafillthe three type options (all, required, evaluated) are used to build the x axis of the charts21:13
replaceafillwhat should we do if the student has no skills evaluated?21:13
replaceafillshow an empty chart?21:13
replaceafillthere's a problem the way the chart is coded because if the student doesn't have skills evaluated, the range for the axis becomes [0, 0]21:14
replaceafillso we have no ticks, labels, etc21:14
replaceafilli can create a "dummy" range21:15
replaceafillbut maybe you can give a nicer idea :)21:15
th1aUm...21:16
th1aI'd need to see it.21:16
replaceafillah, sure21:16
replaceafilllet me set it up21:16
th1aDoes completely blank look bad?21:16
replaceafillhhmm kind of21:16
replaceafilllet me show you21:16
replaceafillhttp://69.164.203.135:6660/schoolyears/2012-2013/MP2/sections/16607-45-4-1/gradebook-skills21:17
replaceafilleunita.winkey@apsva.us21:17
replaceafillteacher21:17
replaceafillSection Summary21:17
replaceafillVentura, Cristian has no evaluations21:18
th1aYes...21:18
replaceafillclick on the Evaluated type21:18
th1aYeah, it should probably look like it does  in the All view.21:19
replaceafillcorrect21:19
replaceafillif i set a dummy [-1, 1] range i get the axis, labels, etc21:19
replaceafillbut it feels "wrong" :)21:19
* replaceafill blames d3 :D21:19
replaceafillhhmm i wonder if d3 would allow us to "update" the axis...21:22
replaceafillwe can start always with the dummy one, and use the values to update when available...21:22
* replaceafill goes to look21:22
replaceafillyep, that works21:25
replaceafillcalling a default axis21:25
replaceafill:)21:25
*** yvl_ has joined #schooltool21:38
*** menesis has joined #schooltool21:44
*** yvl has quit IRC21:47
*** paulproteus has quit IRC21:51
*** aelkner_ has joined #schooltool21:55
*** yvl__ has joined #schooltool21:55
*** aelkner has quit IRC21:56
*** yvl_ has quit IRC21:56
*** khildin has quit IRC21:56
*** khildin has joined #schooltool21:57
*** paulproteus has joined #schooltool21:57
*** paulproteus_ has joined #schooltool22:13
*** paulproteus has quit IRC22:13
*** khildin has quit IRC22:54
*** khildin_ has joined #schooltool22:54
*** jelkner has quit IRC23:23
*** paulproteus_ is now known as paulproteus23:27
*** yvl__ has quit IRC23:33
*** yvl__ has joined #schooltool23:35
*** khildin_ has quit IRC23:54
*** jstraw has joined #schooltool23:56

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