*** menesis has quit IRC | 02:03 | |
*** replaceafill has quit IRC | 02:13 | |
*** menesis has joined #schooltool | 10:46 | |
*** menesis has quit IRC | 11:39 | |
*** yvl has joined #schooltool | 12:40 | |
*** khildin has joined #schooltool | 12:44 | |
*** menesis has joined #schooltool | 13:46 | |
*** yvl has quit IRC | 14:02 | |
*** khildin has quit IRC | 15:27 | |
*** pgulley has joined #schooltool | 17:47 | |
*** replaceafill has joined #schooltool | 18:23 | |
pgulley | Hey, replaceafill! I'm sorry to jump on you so quickly | 18:26 |
---|---|---|
*** menesis has quit IRC | 18:26 | |
replaceafill | hi pgulley | 18:26 |
pgulley | So two things | 18:27 |
pgulley | one, the evolve script- | 18:28 |
pgulley | I assume I don't put that in a view, it should live somewhere else | 18:28 |
pgulley | but where? I've never done this before | 18:28 |
replaceafill | yes | 18:28 |
replaceafill | hold on | 18:28 |
replaceafill | ok | 18:30 |
replaceafill | look at schooltool.quiz.generations | 18:30 |
replaceafill | you'll need a evolve3.py script | 18:30 |
replaceafill | and modify __init__.py to version 3 | 18:31 |
replaceafill | (currently is on version 2) | 18:31 |
pgulley | okay! cool. | 18:31 |
pgulley | So question 2, I'll go ahead and ask | 18:32 |
pgulley | I can't find a good way to get a list of skillsets in the system independent of courses. | 18:32 |
replaceafill | ok, we have skillsets and course skillsets | 18:33 |
replaceafill | skillsets are global | 18:33 |
replaceafill | they live in the skillset container | 18:33 |
pgulley | ISkillSetContainer? | 18:33 |
replaceafill | attached to the app | 18:33 |
replaceafill | correct | 18:33 |
pgulley | ahhh, go through the app first | 18:34 |
pgulley | that's what I'm doing wrong. | 18:34 |
replaceafill | do you have a schooltool.cando branch at hand? | 18:34 |
pgulley | yep! | 18:34 |
replaceafill | let me point you to the right modules | 18:34 |
pgulley | okay | 18:35 |
replaceafill | ISkillSetContainer(ISchoolToolApplication(None)) | 18:35 |
replaceafill | will get you the global container | 18:35 |
replaceafill | to get the course skillsets for a course you need: | 18:36 |
replaceafill | ICourseSkills(a_course) | 18:36 |
pgulley | okay | 18:36 |
pgulley | So my thought is to, for now, disregard courses when importing a quiz. | 18:37 |
pgulley | It wont break anything to have a quizitem in a course associated to a skill which isn't in the course- it just won't get graded. | 18:37 |
replaceafill | you'll need to modify the quiz item forms though | 18:39 |
replaceafill | currently they look for that match | 18:39 |
replaceafill | course, course skillset, skill | 18:39 |
pgulley | But that won't matter if they're imported without touching the forms, right? | 18:40 |
pgulley | oh | 18:40 |
pgulley | but if someone tries to edit an imported quiz, things could get funky | 18:40 |
replaceafill | right | 18:40 |
pgulley | okay | 18:41 |
pgulley | I can fix that, I think. | 18:41 |
pgulley | Because, I think, it may be too much to assume that the courses would be set up the same between instances | 18:41 |
replaceafill | basically the story is to attach quiz-item with skills in global skills sets (not course skillsets) | 18:42 |
replaceafill | i even was thinking if the match between the quiz item and the skill could be stored per user | 18:43 |
replaceafill | so jeff attaches this item with this skill and paul attaches the same item with a different skill | 18:43 |
replaceafill | but jelkner's main concern is to keep the info together anyway | 18:44 |
pgulley | right | 18:44 |
pgulley | whew | 18:44 |
replaceafill | :) | 18:44 |
replaceafill | one thing that can help you | 18:44 |
replaceafill | at least knowing it is good | 18:44 |
replaceafill | is that course skills when deployed to a section become section skills | 18:45 |
replaceafill | it's possible to get the link between the section skill to the global skillset skill | 18:45 |
replaceafill | they're "equivalent" | 18:45 |
pgulley | oooah | 18:45 |
replaceafill | so if you're able to get an evaluation for student for a particular section | 18:45 |
replaceafill | i mean, for a skill | 18:46 |
replaceafill | you can query if that's equivalent to a global one | 18:46 |
replaceafill | i think you'll need that for the evaluation logic | 18:46 |
replaceafill | but we'll see, just something you should keep in mind for now | 18:47 |
pgulley | yeah, I can definitely see that being useful | 18:48 |
replaceafill | cool | 18:49 |
pgulley | how should I go about testing an evolve script? | 18:49 |
replaceafill | so you'll start with the evolve3? | 18:49 |
pgulley | python evolve3.py ? | 18:49 |
pgulley | yep, already on it. | 18:49 |
replaceafill | do you have a gradebook branch at hand? :) | 18:50 |
pgulley | yep! | 18:50 |
replaceafill | see schooltool.gradebook.generations.tests | 18:50 |
pgulley | okay, cool. | 18:50 |
replaceafill | see the various test_evolve*.py modules for ideas | 18:51 |
replaceafill | basically you need to mock the environment you want to test | 18:51 |
replaceafill | then call the evolve method in your evolve3.py script | 18:51 |
replaceafill | and see if the changes you expect were made | 18:51 |
replaceafill | (that's the ideal scenario) | 18:51 |
pgulley | whew | 18:51 |
pgulley | thats | 18:51 |
replaceafill | the alternative | 18:51 |
pgulley | more than I expected | 18:51 |
replaceafill | is to use a real db | 18:52 |
replaceafill | with the previous state | 18:52 |
replaceafill | start the server | 18:52 |
replaceafill | which automatically will evolve the data | 18:52 |
replaceafill | if you made the appropriate changes to __init__ | 18:52 |
pgulley | ahh | 18:52 |
pgulley | okay | 18:52 |
replaceafill | and then check if the thing worked | 18:52 |
replaceafill | obviously in this way you could miss things | 18:53 |
replaceafill | but it's definitely faster to test | 18:53 |
replaceafill | i'll get a snapshot of the current db | 18:54 |
replaceafill | hold on | 18:54 |
replaceafill | http://dev.schooltool.org/hilt/ | 18:56 |
replaceafill | you can use the 07-26 for testing | 18:56 |
pgulley | excellent, thanks! | 18:57 |
*** menesis has joined #schooltool | 19:13 | |
*** replaceafill has quit IRC | 19:30 | |
*** replaceafill has joined #schooltool | 20:15 | |
pgulley | replaceafill | 20:33 |
pgulley | revision 67 has the evolve script in it | 20:33 |
pgulley | it works against the database | 20:33 |
replaceafill | pgulley, try not to mix fixes and half features | 20:34 |
replaceafill | "Two things: evolve script for jeff, and begining of better export feature" | 20:35 |
pgulley | my bad. The export feature is done- | 20:35 |
replaceafill | it makes merging harder | 20:35 |
pgulley | I called it the begining because it's far from a fix for jeff's story, but it needed to be done for it. | 20:35 |
replaceafill | you don't need that change for the evolve part | 20:38 |
replaceafill | we are going to commit the evolve stuff, not the other | 20:38 |
replaceafill | for that you use branches | 20:38 |
pgulley | sorry | 20:40 |
replaceafill | np | 20:40 |
replaceafill | i'll have to break your branch though | 20:40 |
replaceafill | i'll revert that part | 20:40 |
replaceafill | will include the evolve only | 20:40 |
replaceafill | you can branch trunk again after that | 20:41 |
pgulley | okay | 20:41 |
replaceafill | ok, merging... | 20:41 |
replaceafill | pgulley, merged and deployed | 20:46 |
replaceafill | please check everything is ok | 20:47 |
replaceafill | i created a backup before the evolve, just in case | 20:47 |
replaceafill | and you can now branch trunk again and merge the export diff | 20:47 |
th1a | hi replaceafill. | 20:55 |
replaceafill | hey th1a | 20:56 |
th1a | So, we need to get dwelsh looking at trunk. | 20:57 |
replaceafill | ah ok | 20:57 |
replaceafill | just cando/virginia? | 20:57 |
replaceafill | or all the components? | 20:57 |
* replaceafill is glad dwelsh is back in action :) | 20:58 | |
th1a | Uh... | 20:58 |
th1a | Whatever they usually use. | 20:58 |
replaceafill | ah ok | 20:58 |
th1a | We don't want to add objects to their database. | 20:59 |
replaceafill | just cando/virginia then | 20:59 |
th1a | We're not good at removing components. ;-) | 20:59 |
replaceafill | is it ok if i use the dev server and copy the acc database from dwelsh's? | 20:59 |
th1a | Yes, as long as it will make sense to him. | 20:59 |
replaceafill | cool | 21:00 |
replaceafill | i'll set that up and send an email with the link | 21:00 |
pgulley | hey, replaceafill. No rush here, since you're busy, but I think I pushed that evolve script too early. I found a case where it didn't update things that I missed. | 21:04 |
replaceafill | :( | 21:05 |
replaceafill | i'll revert the db then | 21:05 |
replaceafill | you have jelkner near | 21:05 |
replaceafill | ? | 21:05 |
pgulley | no, he's left | 21:05 |
replaceafill | ah well, at least he's not using it :) | 21:06 |
pgulley | silver lining! | 21:06 |
pgulley | I'm sorry for this | 21:06 |
replaceafill | np | 21:06 |
replaceafill | i reverted the database | 21:07 |
pgulley | okay, | 21:08 |
pgulley | I'm still trying to sort out this case. I'll let you know when I've got it | 21:10 |
replaceafill | ok | 21:10 |
pgulley | ha | 21:16 |
pgulley | oops | 21:16 |
pgulley | I spoke to soon | 21:16 |
pgulley | It wasn't a problem | 21:16 |
pgulley | I'm so sorry | 21:16 |
pgulley | I'm just flip flopping today. | 21:16 |
replaceafill | :( | 21:16 |
replaceafill | you're testing locally, right? | 21:16 |
pgulley | yes. yes. | 21:17 |
replaceafill | ok | 21:17 |
pgulley | And I came on here to say something was wrong before I had tested that it was actually wrong. | 21:17 |
replaceafill | that's ok, i do that all the time ;) | 21:17 |
pgulley | :) | 21:17 |
pgulley | luckly, it wasn't actually a problem | 21:18 |
replaceafill | ok, should i let the script run again? | 21:19 |
pgulley | yep! | 21:20 |
replaceafill | kk | 21:20 |
replaceafill | done | 21:21 |
pgulley | alrighty! | 21:23 |
pgulley | sorry about that. It should be all good now | 21:23 |
replaceafill | np | 21:23 |
th1a | replaceafill: Are the score dropdowns in trunk yet? | 21:26 |
replaceafill | th1a, ah no | 21:27 |
replaceafill | i have a question about it | 21:27 |
replaceafill | you mentioned at one point "it should behave like excel" | 21:27 |
th1a | I mean that only vaguely. | 21:27 |
th1a | You have to remember I don't use Excel. ;-) | 21:28 |
replaceafill | the dropdown definitely gets in the way of arrow navigation | 21:28 |
replaceafill | i mean, when it's displayed | 21:28 |
th1a | Just up/down? | 21:28 |
replaceafill | yes | 21:28 |
th1a | I think it is ok if return takes you down? | 21:29 |
replaceafill | i'm not sure how we want to solve that | 21:29 |
replaceafill | currently return is trying to submit | 21:29 |
th1a | What if you just enter a score and hit return without going into the menus? | 21:29 |
th1a | It just submits? | 21:29 |
th1a | Stays in the same cell? | 21:29 |
replaceafill | if you enter a score (valid or invalid) the dropdown shows anyway | 21:30 |
replaceafill | iirc you wanted the dropdown to show ONLY when the score was invalid? | 21:30 |
th1a | No... | 21:31 |
th1a | I'm thinking about multiple character scores. | 21:31 |
th1a | A, A+, A- | 21:31 |
replaceafill | right | 21:32 |
th1a | You should be prompted with the other valid completions. | 21:33 |
th1a | Isn't that how it works now? | 21:33 |
replaceafill | yes | 21:34 |
replaceafill | they all three appear | 21:34 |
replaceafill | marking the first one | 21:34 |
replaceafill | when you click Return, that's when the submit happens | 21:34 |
replaceafill | imho it should only close the dropdown | 21:34 |
replaceafill | and the user should move down manually | 21:35 |
replaceafill | or should it close the dropdown and move down automatically? | 21:35 |
replaceafill | that's the behaviour i'm not clear about | 21:35 |
* replaceafill copies the acc db | 21:35 | |
th1a | Submitting the whole form? | 21:36 |
replaceafill | yes | 21:36 |
replaceafill | ah | 21:37 |
*** pgulley has quit IRC | 21:38 | |
th1a | It seems to me that if the first return would select the current menu choice and close the menu, ideally a second return would move the active cell. | 21:39 |
replaceafill | ah ok | 21:39 |
th1a | But I'm just brainstorming. | 21:39 |
replaceafill | sure | 21:39 |
th1a | It is kind of a matter of keeping the menu from opening when you don't want it to right? | 21:40 |
th1a | Since it blocks the other controls. | 21:40 |
replaceafill | yes | 21:40 |
th1a | I'd want to be able to cursor down through the row without it popping up, unless I start to type something. | 21:40 |
th1a | I don't know how hard this kind of thing is. | 21:40 |
replaceafill | dwelsh instance is up | 21:42 |
replaceafill | hhmm i've forgotten the acc password :( | 21:43 |
replaceafill | th1a, email sent to dwelsh | 21:45 |
replaceafill | i don't think it's hard | 21:45 |
replaceafill | i just wasn't sure how it should behave | 21:45 |
th1a | Yeah, I'd say the main thing is to let you cursor around without the menu popping up, but once it does, it pretty much has to capture the cursor/return key. But I also don't think it should submit the whole form. | 21:46 |
replaceafill | ok, that makes sense | 21:47 |
replaceafill | th1a, i'll have the popups in trunk (with that behaviour) for monday | 21:49 |
replaceafill | so you can see them | 21:49 |
th1a | OK. Cool. I want Dave and Steven to be able to try them too. | 21:49 |
replaceafill | oh | 21:50 |
replaceafill | but in a different instance, correct? | 21:50 |
replaceafill | not the autism one | 21:50 |
replaceafill | (since that's kind of out-dated) | 21:51 |
th1a | Well, we're going to have to bring Steven up to date too. | 22:08 |
th1a | Not TODAY, but soon. | 22:08 |
replaceafill | ah ok | 22:09 |
replaceafill | just checking ;) | 22:09 |
*** menesis has quit IRC | 22:53 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!