*** menesis has quit IRC | 01:02 | |
*** menesis has joined #schooltool | 01:04 | |
*** menesis has quit IRC | 02:13 | |
*** replaceafill has quit IRC | 02:42 | |
*** aumnakrub has joined #schooltool | 09:02 | |
*** aumnakrub has quit IRC | 09:03 | |
*** yvl has joined #schooltool | 09:58 | |
*** menesis has joined #schooltool | 10:31 | |
*** axp2 has joined #schooltool | 11:47 | |
axp2 | hi yvl, th1a | 11:48 |
---|---|---|
*** menesis has quit IRC | 12:12 | |
*** th1a has quit IRC | 12:12 | |
*** menesis has joined #schooltool | 12:15 | |
*** th1a has joined #schooltool | 12:15 | |
yvl | axp2, hi :) | 12:20 |
yvl | sorry, no code for you yet | 12:21 |
axp2 | yvl: that's ok, i'm still getting my feet wet with zope3 and zodb. just saying hi for tonight | 12:22 |
yvl | :) | 12:23 |
axp2 | i'm really liking zodb actually. so difficult to get my head away from SQL but so much easier to store objects without having to read/write them back to the DB all the time | 12:23 |
yvl | it has it's perks, definitely | 12:23 |
yvl | then again, querying becomes less optimized | 12:24 |
yvl | tradeoffs :) | 12:24 |
yvl | but the all-or-nothing transaction policy is really comfortable when writing code | 12:24 |
yvl | if you get stuck at some point, don't hesitate to ask :) | 12:25 |
axp2 | will do, thanks | 12:26 |
*** menesis has quit IRC | 13:51 | |
*** pgulley has joined #schooltool | 15:48 | |
*** replaceafill has joined #schooltool | 16:11 | |
pgulley | replaceafill, hello! | 16:28 |
replaceafill | hey pgulley | 16:29 |
replaceafill | good morning :) | 16:29 |
pgulley | :) likewise! | 16:29 |
pgulley | looks like jelkner isn't here yet, but do you mind if I have a few questions in the mean time? | 16:29 |
replaceafill | go ahead | 16:30 |
pgulley | okay, so I've started working on this 'saving quiz items' story. I've been storing the unsubmitted questions in IEvaluations as "UnansweredEvaluation" objects | 16:30 |
pgulley | The problem is that the taken function still registers a saved-but-not-submitted quiz as taken | 16:31 |
pgulley | so I was thinking | 16:31 |
pgulley | If I added a separate 'IAssigned' container, that would solve that problem | 16:31 |
pgulley | and also make development on the other stories for the summer much simpler. | 16:32 |
pgulley | what do you think? | 16:32 |
replaceafill | can you explain what the IAssigned container is? | 16:32 |
replaceafill | or would be :) | 16:32 |
pgulley | It would be a container, essentially like IEvaluations, for quiz items which haven't been submitted for grading yet | 16:33 |
pgulley | so in this particular case, when a quiz is saved, but not submitted, the quiz items would be saved in IAssigned | 16:33 |
*** jelkner has joined #schooltool | 16:34 | |
replaceafill | oh, hold on | 16:34 |
replaceafill | you're referring to the issue where students lost their work after their sessions times out? | 16:34 |
*** jelkner has quit IRC | 16:34 | |
*** jelkner has joined #schooltool | 16:34 | |
pgulley | Yes | 16:34 |
replaceafill | not to the story about students taking their own quiz items | 16:35 |
jelkner | my humble apologies for being late, gentleman | 16:35 |
replaceafill | jelkner, np | 16:35 |
pgulley | np | 16:35 |
jelkner | Isaac didn't show this morning, so I had to cover his class. | 16:35 |
jelkner | my plan was to spend the morning working with paul getting our 1st quiz going. | 16:35 |
pgulley | correct, replaceafill, but the IAssigned would also useful for that story, too. | 16:35 |
jelkner | oh well, best laid plans, etc... | 16:35 |
jelkner | anyway, can you help pgulley get the skills list for the web class setup correctly, replaceafill? | 16:36 |
pgulley | oh, yes. | 16:36 |
jelkner | sweet | 16:36 |
jelkner | i want to make a quiz today | 16:36 |
replaceafill | ok, jelkner we were talking code | 16:37 |
replaceafill | but if that's priority #1 | 16:37 |
jelkner | it may have to be given tomorrow | 16:37 |
replaceafill | let's do that first | 16:37 |
jelkner | but i need that asap | 16:37 |
jelkner | thanks! | 16:37 |
jelkner | that's all i have. | 16:37 |
* replaceafill goes see the instance | 16:37 | |
pgulley | is there any problem, replaceafill, with just changing the name of the skillset of the duplicates? | 16:37 |
jelkner | we can call the meeting if you all don't have any questions for me. | 16:37 |
pgulley | (and then not associating that new skillset with a course) | 16:38 |
jelkner | am i finished, folks? | 16:38 |
pgulley | jelkner, I have no pressing questions for you. I think so. | 16:38 |
jelkner | i have students working on a project, but i should go help them. | 16:39 |
jelkner | thanks. | 16:39 |
replaceafill | ok, so you'll create a new skillset with fewer skills? | 16:39 |
jelkner | c u tomorrow morning then... | 16:39 |
*** jelkner has quit IRC | 16:39 | |
pgulley | right. The ten duplicate skills will be put in their own new skillset | 16:39 |
pgulley | that will just float off in neverland | 16:40 |
replaceafill | ok | 16:40 |
replaceafill | take into account that for associating the skillset with a course, you need at least a node | 16:40 |
replaceafill | i'm not sure if that's explained in the book | 16:40 |
pgulley | well they're associated now, and as far as I know there is no node | 16:42 |
replaceafill | ah, you did it through the xls importer? | 16:43 |
replaceafill | using the coursenodes sheet, right? | 16:43 |
replaceafill | sorry, that's courseskills :) | 16:43 |
pgulley | aha! | 16:45 |
pgulley | then yep! | 16:45 |
replaceafill | ok | 16:46 |
replaceafill | so, yes, you need a new skillset, with new ID, etc | 16:46 |
replaceafill | remove the current skills association from the course | 16:46 |
replaceafill | and reimport an updated courseskills sheet | 16:46 |
replaceafill | you can import just that single sheet in the xls | 16:47 |
pgulley | Okay, so I've done something different, and I'm curious as to whether it will work or not | 16:47 |
pgulley | I've created a new skillset, with a new ID, called Duplicates | 16:47 |
pgulley | and I've unassociated all of the duplicate skills from their original skillset, and now associated them with this new one | 16:48 |
pgulley | Duplicates is not associated with any course. | 16:48 |
pgulley | That way, I can leave the web design skillset untouched. | 16:48 |
pgulley | will that work? | 16:48 |
replaceafill | how have you "unassociated" the duplicated skills from the original skillset? | 16:50 |
*** yvl has quit IRC | 16:50 | |
replaceafill | and associated them with the new one? | 16:50 |
pgulley | I've just changed the 'skillset_id' field in the spreadsheet. | 16:50 |
pgulley | ah. but that won't work, will it? | 16:51 |
pgulley | because they're stored in nodes. That would just create more duplicates. | 16:51 |
replaceafill | i think you'll create new ones | 16:51 |
replaceafill | correct | 16:51 |
replaceafill | skills are not actually "stored" in nodes | 16:52 |
replaceafill | nodes are just a link | 16:52 |
replaceafill | to multiple skillsets at once | 16:52 |
replaceafill | so when you are assigning skills to a course through the web | 16:52 |
replaceafill | you look for the node and you get all the skillsets | 16:52 |
replaceafill | but at the end the link is created between the course and each individual skillset | 16:53 |
replaceafill | not course <-> node | 16:53 |
pgulley | oh, alright. | 16:53 |
replaceafill | the "problem" we have right now is that we cannot delete stuff | 16:54 |
replaceafill | skillsets or skills | 16:54 |
replaceafill | hence the duplicates | 16:54 |
pgulley | but can a skill be moved to a different skillset? | 16:54 |
replaceafill | nope | 16:54 |
pgulley | okay | 16:54 |
pgulley | cool. | 16:54 |
replaceafill | skills are STORED inside skillsets | 16:54 |
pgulley | and that is what can't be changed. | 16:54 |
pgulley | alright. So I can sort this out. | 16:54 |
replaceafill | also, take into account | 16:55 |
replaceafill | that the title of the skillset is what the user sees in the cando gradebook | 16:55 |
replaceafill | as the tab of the sheet | 16:55 |
replaceafill | so, avoid "Duplicates" or such :) | 16:55 |
replaceafill | you can have several skillsets with the same title anyway | 16:55 |
replaceafill | identifying them in the /skills view gets complicated | 16:56 |
replaceafill | but users usually don't interact with that part much anyway | 16:56 |
replaceafill | i recommend you to always test what you'll do locally (in your laptop) first | 16:57 |
replaceafill | and check the results are what you expect | 16:57 |
replaceafill | but i guess you're already doing that :) | 16:57 |
pgulley | yep! don't worry. | 16:57 |
pgulley | alright. | 16:58 |
replaceafill | ok | 16:58 |
replaceafill | i guess you should work on uploading the new list | 16:58 |
pgulley | I'm working on that now, but it shouldn't take too long | 16:59 |
replaceafill | ok | 16:59 |
pgulley | in the mean time, what are your thoughts on the IAssigned business? | 16:59 |
replaceafill | ok | 17:01 |
replaceafill | did jelkner ask for some kind of "resume" option for this | 17:01 |
replaceafill | i mean | 17:01 |
replaceafill | would it be possible for the student to start taking the quiz today | 17:01 |
replaceafill | and finish it tomorrow? | 17:01 |
replaceafill | because i remember the initial use case was, students taking very long to actually finish the quiz | 17:02 |
replaceafill | i wasn't even considering making the unanswered items persistent | 17:03 |
replaceafill | i was more thinking of using sessions to solve it | 17:03 |
pgulley | Okay, so jelkner hasn't given me more information than is on the google doc. | 17:06 |
pgulley | I feel like that was the original problem | 17:06 |
pgulley | I don't really know that much about sessions. | 17:06 |
pgulley | It may be useful to learn | 17:06 |
replaceafill | at some point i even thought of trying local storage | 17:07 |
pgulley | however I'm going to need something like IAssigned when I start working on the next story, anywa. | 17:07 |
pgulley | like in cookies? | 17:07 |
replaceafill | the typical example on using local storage is: you start writing this long email, you submit, for some reason gets lost, you go back, everything is gone | 17:07 |
replaceafill | why would you need "unanswered" quiz items for the next story? | 17:08 |
replaceafill | assuming next story = students taking their own quizzes | 17:08 |
pgulley | I would need 'assigned quiz items' which are stored separately from evaluations | 17:08 |
pgulley | the way I have this saving thing set up now, the entire quiz is stored as 'assigned quiz items' | 17:09 |
pgulley | which can be picked back up and submitted later. | 17:09 |
replaceafill | ok, let's assume jelkner wants save now, submit tomorrow kind of functionality | 17:10 |
replaceafill | (you should ask that explicitly i think) | 17:10 |
replaceafill | you say the quiz items are "assigned" when the quiz is created? | 17:12 |
replaceafill | so, if i have paul, jeff and matt as students | 17:13 |
replaceafill | i create the quiz, and the three get the items created automatically? | 17:13 |
pgulley | That's not how it works at the moment, but ideally, yes. | 17:13 |
pgulley | at the moment it just happens the first time the 'save' function is called | 17:14 |
pgulley | which happens from the browser. | 17:14 |
replaceafill | if we keep this approach i'd create it the first time the student "visits" the view to take the quiz | 17:14 |
pgulley | alright. That makes sense. | 17:14 |
replaceafill | and you're storing quiz_item_id + answer? | 17:15 |
pgulley | yes. | 17:16 |
pgulley | it's structured exactly like an evaluation (the answer can be None, though) | 17:16 |
pgulley | and it's in a place where nothing will try to grade it | 17:17 |
replaceafill | imho it doesn't need all the info an evaluation has | 17:17 |
pgulley | probably not, your right. | 17:18 |
pgulley | it just has it now because I was copy-pasting ;) | 17:18 |
replaceafill | :) | 17:18 |
pgulley | I can slice things off. | 17:18 |
replaceafill | i understand | 17:18 |
replaceafill | ok, i feel like it needs to store "where is this answer coming from" | 17:19 |
replaceafill | for example, in theory, quiz items can be associated with any quiz, right? | 17:19 |
pgulley | ahh, yes. | 17:20 |
replaceafill | suppose i start on a quiz item, i mean, answering it | 17:20 |
replaceafill | save | 17:20 |
replaceafill | take another quiz, or create my own | 17:20 |
replaceafill | the system looks for "unanswered" items for this student | 17:20 |
replaceafill | and finds the first one | 17:20 |
replaceafill | should it present it in the subsequent quizzes | 17:21 |
replaceafill | get my point? | 17:21 |
pgulley | right, yeah. | 17:21 |
replaceafill | but we can call yagni :) | 17:21 |
pgulley | haha, for now. | 17:21 |
replaceafill | since quoting jelkner we want to move "fast" | 17:21 |
pgulley | right. | 17:21 |
pgulley | okay, so I can start developing it this way. I'll grab jelkner during lunch and make totally sure it's what he wants | 17:22 |
replaceafill | +1 | 17:22 |
replaceafill | i'm ok with the approach | 17:22 |
pgulley | perfect! | 17:23 |
pgulley | in that case, I'll dive right in | 17:23 |
replaceafill | cool | 17:23 |
replaceafill | good luck! | 17:23 |
pgulley | thanks a bunch. took a bit more than ten minutes, hah. | 17:23 |
replaceafill | ah btw | 17:24 |
replaceafill | just for the record: | 17:24 |
replaceafill | i'm away from 11:00 - 2:00 now | 17:24 |
pgulley | alright | 17:24 |
replaceafill | from monday - thursday | 17:24 |
replaceafill | but i'm usually here in the afternoon (my afternoon anyway) :) | 17:25 |
replaceafill | so don't hesitate to email | 17:25 |
replaceafill | i'll answer asap | 17:25 |
pgulley | alright, perfect. I don't forsee any issues, but it's good to know you're around. | 17:26 |
replaceafill | kk | 17:26 |
replaceafill | see you later pgulley | 17:26 |
pgulley | cya! | 17:26 |
*** menesis has joined #schooltool | 17:28 | |
*** replaceafill has quit IRC | 17:57 | |
*** axp2 has quit IRC | 18:01 | |
*** pgulley has quit IRC | 19:21 | |
*** pgulley has joined #schooltool | 20:17 | |
*** menesis has quit IRC | 20:43 | |
*** replaceafill has joined #schooltool | 21:25 | |
*** pgulley has quit IRC | 22:42 | |
*** pgulley has joined #schooltool | 22:42 | |
*** menesis has joined #schooltool | 23:03 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!