IRC log of #schooltool for Thursday, 2013-12-12

*** replaceafill has left #schooltool01:05
*** menesis has quit IRC01:39
*** th1a has quit IRC03:11
*** menesis has joined #schooltool08:57
*** th1a has joined #schooltool11:41
*** menesis has quit IRC13:21
*** menesis has joined #schooltool14:29
*** replaceafill has joined #schooltool14:32
*** replaceafill has quit IRC15:15
*** replaceafill has joined #schooltool15:27
*** replaceafill has joined #schooltool15:27
th1ahi replaceafill, yvl, menesis.15:30
th1aThanks for meeting a day later.15:30
replaceafillgood afternoon15:30
yvlgood morning / afternoon15:31
th1aCouple things I don't want to forget.15:31
th1ayvl, are we thinking you might have time for another task before the end of the year or does it look like it'll be all finishing temporal relationships and optimization?15:32
th1aThe only other thing that comes to mind for me would be maybe working on making imports use celery.15:32
yvlI'll probably have a week or so to develop some other thing15:32
yvl* or more15:32
th1aOr for that matter just making sure replaceafill knows how to do it.15:32
yvlalso bugfixes15:32
th1aOK, how does that sound?15:32
yvlI'm making imports use celery now :D15:33
th1aLike today?15:33
* replaceafill remembers the importers were using celery at some point :)15:33
yvljust needs re-enabling, possibly cleanup15:33
th1aBreaking up the team just when we get to the point of telepathy...15:34
yvland since I'm updating import / export to handle temporal relationships...15:34
yvlth1a :)))15:34
th1aI'm working on the report for Mark.  The core of it is just going to be going through the plan we came up with in 2011, which we've followed closely.15:35
th1aIt is actually pretty impressive.15:35
th1aOr at least demonstrates some level of professional competence.  ;-)15:35
yvlcool :)15:35
th1aWe were pretty much on target for what needed to be done and how long it would take, although both the UI redesign and CanDo redesign became much more comprehensive than originally outlined.15:36
th1aSo I'll send you a draft of that overview so you guys can make sure I'm not giving us credit for anything we didn't do.15:36
th1aSo I was looking at that starting bug with 12.04 that I missed and menesis responded to this morning.15:38
menesisThe bug had no information15:38
menesisbut I looked at and found a few reports there15:39
th1aI'm working on a separate troubleshooting page for the book, but it also got me thinking that we should probably just stick on the Ubuntu 14.04  LTS and not support interim releases.15:39
th1aYeah!  We never look at that!15:39
menesiscan you even access it?15:39
th1aIt wasn't the best bug report, but I should have flagged it.15:40
th1aI've never tried to look.15:40
th1aI guess you probably have to be an Ubuntu developer.15:40
th1aSo anyhow, I'm suggesting we won't do releases for 14.10 - 15.10.15:42
th1aFor that matter, are they switching from a six month cycle anyhow?15:42
th1aI've kind of lost that thread.15:42
menesisno, there were proposals about "rolling" release model15:43
menesisbut it got nowhere15:43
menesisnothing is changing. interim releases have shortened support period15:43
menesis(9 months)15:43
th1aOK, so they're even less important.15:45
th1aSo I'm suggesting a pretty big change, which could include not worrying about a "major-ish" release every six months.15:46
th1aWe'll just put a new release in a new 14.04 repository whenever it is ready.15:46
th1aAnd in theory get something new in 16.04 universe.15:46
th1aYou guys following me, replaceafill and menesis.15:47
menesisthat is what we have been doing for 12.04 users in the "dev" repository15:47
menesisthe "stable" ppa has been neglected after the first round of bugfix releases15:49
th1aRealistically we'll have fewer releases.15:49
th1aI'd guess we'll do a 2.10 release in a year while we've still got a payroll...15:50
th1aBut it is going to slow down after that inevitably.15:50
th1aEven if SchoolTool is healthy.15:50
menesisa big part of this is that bzr does not support cherry-picking, so it's harder to track and backport bugfixes done after big features have landed on trunk15:50
th1aIt is going to be more client-work.15:50
th1aOK.  We can discuss this further, but I'm feeling a bit more secure on how we're not going to submerge under Ubuntu-administering.15:52
th1aAlso, Dave Welsh just announced he's directing a CanDo promotional video, which I think is an OUTSTANDING idea.15:53
replaceafilli've been wondering about dwelsh :)15:53
th1aThat is, covering the history of the project.15:53
replaceafillit's been a while since i heard from him15:53
th1aWell, he was really upset about the slow start to the year.15:53
th1aI gather.15:53
th1aAnd felt like the problem was we'd misled him about whether the skills were going to be "stored in the year."15:54
th1aAlso, recovering from a traumatic brain injury.15:54
replaceafillgood point15:55
th1aI think he felt like we'd already destroyed the project in his absence!15:55
th1aBut he's back on board.15:55
th1aAnd God knows we need someone who knows how to sell!15:55
th1aSo that's good.15:55
th1aOK, menesis, would you like to report?15:56
menesisI have hunted down the "not starting after upgrade" bug15:57
menesiswas caused by the last commit before release of intervention :(15:57
th1aAh.  The update you just did?15:58
menesisthat fixed a bug. so I've done that differently15:58
menesisyes I've pushed a handful of fixes for intervention last Friday15:58
menesisit works now15:59
menesisI've also added a patch to schooltool packages15:59
th1aThat was just for 12.04 that the bug came up?15:59
menesisFailed to evolve to generation 4215:59
menesisThere were a few reports about that on, too16:00
menesisDone with those critical issues16:01
th1aYou'd think we could get those injected into Launchpad.16:01
menesisMaybe. Some errors are associated with launchpad bugs16:02
menesisHave to look again16:02
th1aOK.  I didn't realize that data was there at all.16:03
menesisThis is where crashes are submitted16:03
menesisby whoopsie daemon, I think16:03
menesisNot sure if it is different than apport16:04
menesisbut with apport you get a dialog "Ubuntu has encountered an error" and can choose to report16:05
menesisa browser window is opened with launchpad report bug, checked for duplicates, and you submit a bug by clicking a button16:06
menesison final release apport is disabled, and reports are sent automatically to errors.ubuntu.com16:06
th1aI've just not gotten that for SchoolTool before.16:06
menesisbut bugs are not filed16:07
th1aOK, well something to keep an eye on I guess.16:07
th1aAnything else, menesis?16:07
menesisI've redone the jquery-ui upgrade that I had, pushed for replaceafill to see16:07
replaceafillthanks menesis16:08
th1aSo basically we'll see that in the development trunk and hopefully find the remaining glitches?16:09
menesisNo I've pushed it to a branch16:09
menesisSince I know there are issues16:10
menesisLooked what could be done to have uppercase symbols in journal, not decided case-insensitive dict or string, or a simple loop16:11
menesisLooking at a crash with ldap but not sure how can I test it really works. Can make the parsing code smarter though.16:12
menesisAnd that's all.16:12
th1aOK, thanks menesis.16:13
replaceafillfirst, i worked on the niepa update16:14
replaceafilland last couple of days i fought David's demo database16:14
replaceafillwhich has data from 2009...16:14
replaceafilland at some point involved old cando16:14
replaceafilli was like 'wtf?' when i saw IUniversalScoreSystem!16:15
th1aI probably let you get too deep into that...16:15
replaceafillwe have no universal scoresystems anywhere!16:15
replaceafillthat's why i ping'ed you yesterday16:15
replaceafilli felt that way16:15
th1aWell, that's the cost of pushing the meeting back I guess.16:15
replaceafilland i decided to drop it at an acceptable point16:15
th1aWe just missed each other.16:15
replaceafilldont worry16:15
th1aSo it doesn't work.16:15
replaceafilli didnt spend that much time on it16:16
replaceafillyes it does16:16
replaceafillwell, the reports are broken by the testing data16:16
replaceafillbut most of the functionality works with the demo db16:16
replaceafillthe update fully works with a fresh db ofc16:17
replaceafilland current trunks attached16:17
replaceafilli identified some improvements that niepa will need16:17
replaceafilllike update report styles ,etc16:17
replaceafillbut i guess we'll wait for that16:17
replaceafillalso, the code expects a single report sheet deployed16:17
replaceafilland breaks when there are more16:17
replaceafilland so on16:17
replaceafillok, now level memberships16:18
replaceafilli started working with yvl's temporal branch16:19
replaceafilland i also identified a few things i want to mention16:19
replaceafillyvl is probably aware of most16:19
replaceafilllike the importer update16:19
replaceafillthe addTeacher.html, addStudent.html and addAdministrator.html are broken16:20
replaceafillwe need some css fixes for dialogs16:20
replaceafill(the dropdown fonts are too big)16:20
replaceafilli was thinking of sorting the states alphabetically16:21
replaceafillbut then i noticed they're stored in orderedcontainers16:21
replaceafillany reason for the ordering yvl?16:21
yvlwell, internally - yes16:22
yvlfirst active and first inactive are used by default16:22
yvlin some rare views16:23
yvlwell not that rare16:23
replaceafilli wanted to ask about the default option too16:23
yvlit seemed to me that the states should be ordered "logically" instead of alphabetically16:24
yvlhence the ability to configure order16:24
th1aThat is reasonable.16:25
replaceafilldo you think we should add that ability to the edit view of the states?16:25
replaceafilli mean, ability to change the sorting16:25
yvlyou mean extra UI?16:25
replaceafillyes, like we do with worksheets in the gradebook for example16:26
yvlnow you have to use cut-paste16:26
yvlyeah, it would make sense16:26
replaceafillok, just a thought :)16:26
replaceafilla couple of forms are broken16:26
replaceafill(add/edit for levels)16:26
replaceafillbecause of a change in the flourish.form.Form class16:26
replaceafillwhich nows inherits from PageBase16:27
replaceafillinstead of Page16:27
replaceafillthe template changed and those level forms don't declare it explicitly16:27
replaceafillalso, the date column in the "Assign <person>" dialog should be in YYYY-MM-DD format16:28
replaceafillimho :)16:28
replaceafillso, i started with levels membership adding a "levels" relationship property16:29
replaceafillbut my question here is more about UI16:29
replaceafillis it ok if i add just a level dropdown to the add person view16:29
replaceafilland set the state to active automatically?16:30
replaceafillso far i've only added three states for level membership:16:30
th1aThe user doesn't want to know about active and inactive levels.16:30
th1aThat's an implementation artifact.16:30
yvlthe question here is pre-enrolled/enrolled on <date> rather then active/inactive16:31
yvladd person and make him enter level 4 on today by default16:32
yvlyesh also works16:32
replaceafillok, that's what i meant16:32
replaceafilla single dropdown16:32
replaceafilljust levels16:32
replaceafilluser doesn't see dates or states16:32
replaceafillbut if i have 3 states:16:33
replaceafilli was wondering if we need the 'pre-enrolled' one?16:33
th1aI'm afraid I need a brief reminder on why the levels aren't states themselves.16:34
yvlstates of relationship between student and what?16:36
replaceafillstates are relationships, right?16:37
th1aOK, I've confused everything.16:37
th1aRight, the relationship is to the level.16:37
th1aI'm back on track.16:37
replaceafilldo we need 'pre-enrolled'?16:37
replaceafillfor levels <-> persons?16:37
yvlgood question16:38
yvlpre-enrolled could be used to mark "should become level X at some point"16:38
yvl"don't know when exactly"16:38
yvl"but want to mark that student should become level X"16:39
replaceafillyvl, if i define the states like this:16:39
replaceafill        states.add(_('Pre-enrolled'), INACTIVE+PREENROLLED, 'p')16:39
replaceafill        states.add(_('Enrolled'), ACTIVE, 'a')16:39
replaceafill        states.add(_('Graduated'), INACTIVE+GRADUATED, 'c')16:39
replaceafillthere's logic to get me the first (and only) active one?16:40
replaceafilli mean, methods in the machinery16:40
yvlyou should add a pure inactive state16:40
replaceafillah ok16:40
yvlit's a questionable implementation16:41
yvlbut we don't REMOVE temporal relationships anymore16:41
yvlit's more of an "archive"16:41
yvlyou can make it inactive from day X forward16:42
yvlbut the history stays16:42
replaceafillso, suppose i add the student to level 316:42
replaceafillthen i realize he should go to level 516:42
replaceafill(it was an accident)16:42
replaceafilli'd need to set the level 3 state to inactive from the same date16:43
replaceafilland set a new one to level 5 as active16:43
replaceafillgot it16:43
yvlusers can actually add states named "FIX ACCIDENT" (inactive)16:43
replaceafilli was thinking of adding that logic to the person "edit" view16:44
yvland we can add "delete history" link / button later on16:44
replaceafillmaybe i'm trying to hide too much behind a dropdown16:44
yvlthat would actually destory the relationshpi16:44
th1aIdeally a lot would be hidden behind the dropdown.16:45
replaceafillah ok16:45
replaceafilli guess i'm on the right track then :)16:45
yvlyeah :)16:45
th1aBeing able to do a pending change to a new level is a potential feature, but perhaps an absurdly advanced one.16:45
replaceafilllevel information in the index view for persons?16:46
yvlbut availabilty of pure ACTIVE and pure INACTIVE states is kind of assumed everywhere now16:46
th1areplaceafill:  Yes.16:46
replaceafillth1a, where?16:46
replaceafillnew accordion?16:46
replaceafillunder sections?16:47
replaceafilli don't see it as personal information :D16:47
yvlsubtitle of the page?16:47
yvlor at least in general information?16:47
yvlit's one of the most basic things16:47
th1aIt is basic, to be sure.16:47
yvlJohn Brown, the 6th-grader16:47
replaceafillsubtitle sounds nice :)16:48
th1aTry that.16:49
replaceafillwill do16:49
replaceafilland last but not least16:49
replaceafillth1a, he's requesting help16:49
replaceafillwith the feature we developed at pycon16:49
replaceafillnow that he has lots of student data16:49
replaceafillit seems like the update is not calculating the grades correctly16:50
replaceafill(that is cando grades from quiz answers)16:50
replaceafillso he asked me to look into that16:50
th1aWell, I have you jumping around a bit anyhow, so go ahead and squeeze it in wherever.16:51
* replaceafill done16:51
th1aAt some point David is going to actually tell me what he needs and when.16:51
th1aThanks replaceafill.16:51
yvldid some cleanup16:51
yvlwrote contact evolution16:51
yvlnow contact relationships are fully ported to configurable ones16:52
yvland now working on the exporter and importer16:52
yvlgroups, section enrollment and contact relationships need updating16:52
yvlthe idea is to add a list of date / code pairs16:53
yvlnext to student id for example16:53
yvland codes would be ones that can be configured by the user16:53
yvlso there is one interesting edge case16:54
yvlwhere users delete some relationship status codes16:54
th1aOh... yes... that does complexify things!16:54
yvlsince system stores both  "meaning" and "code"16:54
yvland should query by "meaning"16:55
yvlafter deletion, in many views the text should change16:55
yvlbut not the way it works16:55
yvlto explain:16:55
yvlsay we have a state...16:56
yvlsigned-up (to a section, but not payed yet), INACTIVE, code "si"16:56
yvlexporting, it would have si in XLS16:56
yvlin views it would be displayed as "signed up"16:56
yvlbut in some views it would be hidden, because it's INACTIVE16:57
yvlif user deletes that state16:57
yvlin some views it would be displayed as "Inactive"16:57
yvlin others - still hidden16:57
yvlin XLS it would be "si"16:58
yvlyou could not reimport16:58
yvluntill you correct the XLS16:58
yvlor add a "si" code back to the system16:58
th1aAre we putting history in xls?16:58
yvlalso "the future"16:58
yvladding temporal relationship is like adding past/future tenses to the language16:58
yvlthere is also another edge case16:59
yvlrelated to how we should import16:59
yvlshould we overwrite history?16:59
yvlor merge it?16:59
yvlif users want to pre-enroll students to some section17:00
yvlin case of merging17:00
yvlthey would make a simple XLS17:00
yvlwrite date / "preenrolledcode" next to student17:00
yvland import17:00
yvlin case of overwriting17:00
yvlthey would have to export the section17:00
yvlthen add pre-enroll states17:00
yvlthen import back again17:00
yvldrawbacks of merging are that it's not that transparent17:01
th1aWe shouldn't overwrite history.17:01
th1aFeel free to throw errors.17:01
yvlyou pre-enroll student next month17:01
yvlforget about that17:01
yvlimport students to sections17:01
th1aThe reason we use XLS is we can make people fix it manually.17:01
yvlwith some states17:02
yvland after a month suddenly some students become pre-enrolled17:02
yvlyou could fix that by export-fix-import of course17:02
yvlthe third option would be to overwrite future, merge history17:03
yvlnot sure if it's intuitive17:03
th1aI would be very conservative about this.17:03
th1aI don't want it to be a big source of "power user" tricks.17:03
th1aI'm afraid I have to go.17:04
yvlso that's something to think about17:04
* yvl done actually17:05
th1aYou could easily convince me that export/import doesn't need history.17:05
th1aI don't know if that even makes anything easier.17:05
th1aOK, Thanks guys!17:05
th1aTalk to you Monday.  Have a good week/end!17:06
* th1a drops the bag of gravel.17:06
replaceafillthanks everybody17:06
yvlsee you all soon17:06
yvlreplaceafill, if you run into some can of worms, ping me!17:06
replaceafillwill do :)17:06
*** replaceafill has quit IRC17:11
*** yvl has quit IRC17:11
*** replaceafill has joined #schooltool17:11
*** mattva01 has joined #schooltool23:04

Generated by 2.15.1 by Marius Gedminas - find it at!