*** ignas has quit IRC | 00:11 | |
*** jelkner has quit IRC | 00:26 | |
*** replaceafill has joined #schooltool | 01:22 | |
replaceafill | th1a, ping | 01:22 |
---|---|---|
*** replaceafill has quit IRC | 01:40 | |
*** fsufitch has joined #schooltool | 03:02 | |
*** jelkner has joined #schooltool | 03:03 | |
*** jelkner has quit IRC | 03:28 | |
*** th1a_ has joined #schooltool | 04:39 | |
*** th1a has quit IRC | 04:39 | |
*** th1a_ has quit IRC | 05:12 | |
*** mgedmin has joined #schooltool | 11:44 | |
*** fsufitch has quit IRC | 13:01 | |
*** alga has joined #SchoolTool | 14:45 | |
*** mgedmin has quit IRC | 15:48 | |
*** mgedmin has joined #schooltool | 15:48 | |
*** th1a has joined #schooltool | 15:59 | |
*** aelkner has quit IRC | 17:38 | |
*** aelkner has joined #schooltool | 17:38 | |
*** jelkner has joined #schooltool | 17:43 | |
*** aelkner has quit IRC | 17:50 | |
*** aelkner has joined #schooltool | 17:50 | |
jelkner | aelkner: hey man | 17:50 |
jelkner | good morning | 17:51 |
*** jelkner has quit IRC | 17:59 | |
*** mgedmin has quit IRC | 20:23 | |
*** alga has quit IRC | 20:56 | |
*** rbra has joined #schooltool | 21:24 | |
*** rbra has quit IRC | 21:37 | |
*** jcrowley has joined #schooltool | 21:38 | |
*** replaceafill has joined #schooltool | 21:49 | |
replaceafill | aelkner, ping | 21:49 |
*** elarson has joined #schooltool | 21:49 | |
aelkner | hey replaceafill | 21:55 |
replaceafill | aelkner, hey man | 21:55 |
replaceafill | aelkner, i have two specific questions | 21:56 |
replaceafill | aelkner, 1. are u ok with multiadapters? | 21:56 |
aelkner | how do you mean? | 21:56 |
replaceafill | remember u told me in ur mail i'd need two adapters for getting the grades | 21:57 |
replaceafill | to let skilldrivers provide iexternalactivity | 21:57 |
aelkner | well | 21:57 |
aelkner | the first adapter gets you the gradebook | 21:57 |
replaceafill | but the adapter also needs the gradebook | 21:57 |
replaceafill | yes | 21:57 |
replaceafill | and then i need to adapt to iexternal activity, right? | 21:58 |
aelkner | right, that's the code that you'll need to write | 21:58 |
replaceafill | but it can be done with a multiadapter | 21:58 |
aelkner | the adapter to the gradebook is already written | 21:58 |
*** elarson has quit IRC | 21:59 | |
*** jcrowley has quit IRC | 21:59 | |
replaceafill | adapting (iskilldriver, icompetencygradebook) -> iexternalactivity | 21:59 |
replaceafill | so the iexternalactivity adapter would have the skilldriver AND the gradebook | 21:59 |
aelkner | that's fine | 22:00 |
replaceafill | cool :) | 22:00 |
replaceafill | it works :) | 22:00 |
aelkner | wait | 22:00 |
replaceafill | but my problem is question #2 | 22:00 |
replaceafill | yes? | 22:00 |
aelkner | the gradebook has the skilldriver as the context | 22:00 |
aelkner | so that's redundant | 22:00 |
replaceafill | there's an adapter iskilldriver -> icompetencygradebook? | 22:01 |
aelkner | sure, that's how the gradebook is built | 22:01 |
replaceafill | i'm using isection -> iskilldrivers | 22:01 |
aelkner | that gets you the skill drivers container, not the gradebook for a skill driver | 22:01 |
aelkner | the latter has the skill driver as context | 22:02 |
aelkner | and provides the access to the scores | 22:02 |
aelkner | that the second adapter | 22:02 |
replaceafill | i didnt find that adapter :( | 22:02 |
aelkner | icompetencygradebook -> iexternalactivity | 22:02 |
replaceafill | im looking at cando.gradebook.configure.zcml | 22:03 |
aelkner | look at cando.skilldriver.configure | 22:03 |
replaceafill | oh yes | 22:04 |
replaceafill | i found this: | 22:04 |
aelkner | anyway, the gradebook has what you need | 22:04 |
replaceafill | gradebook.sectionSkillDriverGradebook | 22:04 |
replaceafill | but its commented! | 22:05 |
replaceafill | <!--adapter | 22:05 |
replaceafill | factory=".gradebook.sectionSkillDriverGradebook" | 22:05 |
replaceafill | trusted="true" | 22:05 |
replaceafill | /--> | 22:05 |
replaceafill | and skilldriver package has no gradebook module | 22:05 |
replaceafill | then i thought "they got rid of it" :( | 22:06 |
replaceafill | and went to look for a solution in the cando.gradebook package | 22:06 |
replaceafill | aelkner, u checking? | 22:13 |
aelkner | yeah, adn i can't remember how to log in to my cando instance :) | 22:13 |
replaceafill | :| | 22:13 |
aelkner | found it | 22:16 |
replaceafill | where is it? | 22:16 |
aelkner | no, i was talking about the password | 22:20 |
aelkner | anyway | 22:21 |
replaceafill | :O | 22:21 |
aelkner | there is an adapter from skill driver to gradebook, a traversal adapter | 22:21 |
replaceafill | :O | 22:21 |
aelkner | you can tell by looking at the url when grading a skilldriver | 22:21 |
aelkner | gradeCompertencies | 22:21 |
aelkner | is the traversal adapter | 22:21 |
replaceafill | so i can do icompetencygradebook(iskilldriver) | 22:22 |
replaceafill | what u recommended, right? | 22:22 |
aelkner | you can try that out in pdb, you know | 22:23 |
replaceafill | ok i will | 22:23 |
replaceafill | can i ask u the 2nd question? | 22:23 |
replaceafill | is the problem i have | 22:23 |
replaceafill | iexternalactivitiy adapters are not persistent, they are created on the fly, right? | 22:24 |
aelkner | i know where you're going with this, i think | 22:24 |
replaceafill | really? | 22:24 |
aelkner | sorry, i should let you go first | 22:24 |
replaceafill | i'm getting an error | 22:24 |
replaceafill | no prob man | 22:24 |
replaceafill | TypeError: Not picklable | 22:25 |
aelkner | yeah, don't make them persistent | 22:25 |
replaceafill | is it possible to assign a non persistent attribute to a persistent component? | 22:25 |
aelkner | what attribute would that be? | 22:26 |
replaceafill | ILinkedActivity.external_activity | 22:26 |
replaceafill | a reference to the iexternalactivity adapter for the third party module | 22:26 |
replaceafill | s/for/from | 22:26 |
replaceafill | and the error is coming from: zope.location-3.4.0-py2.4.egg/zope/location/location.py | 22:28 |
replaceafill | after the zodb tries to serialize the attribute i guess | 22:28 |
aelkner | yes, that's right | 22:31 |
aelkner | you're linked activity needs to be persistent | 22:31 |
replaceafill | it is | 22:31 |
replaceafill | it subclasses activity | 22:31 |
aelkner | but it doesn't need to have the external activity as its attribute | 22:31 |
replaceafill | really? | 22:32 |
aelkner | just a way to get to the external activity | 22:32 |
replaceafill | ideas for "a way"? | 22:32 |
aelkner | isn't the title enough? | 22:32 |
replaceafill | hhmm | 22:32 |
aelkner | when you find the utility that returns the external adapters for the section | 22:32 |
replaceafill | binding them by title? | 22:32 |
aelkner | no | 22:33 |
aelkner | wait | 22:33 |
aelkner | schooltool.gradebook asks the world | 22:33 |
aelkner | are there any external activity utilities? | 22:33 |
aelkner | cando responds, yes | 22:33 |
replaceafill | aha | 22:33 |
aelkner | schooltool.gradebook calls the utility to get the external activities for the ssection | 22:34 |
aelkner | each are named | 22:34 |
aelkner | you match up the name | 22:34 |
replaceafill | each utility has name | 22:34 |
replaceafill | or u mean the iexternalactivity? | 22:34 |
aelkner | yes | 22:34 |
aelkner | each iext... has the skill driver gradebook as context | 22:35 |
replaceafill | yes | 22:35 |
aelkner | from that, you can get the skill driver title | 22:35 |
aelkner | and use that to match it to the linked activity | 22:35 |
replaceafill | hhmm i see | 22:35 |
aelkner | wait | 22:36 |
aelkner | not exactly | 22:36 |
replaceafill | the linked activity should have its own title that should match the skilldriver's | 22:36 |
replaceafill | ok | 22:36 |
replaceafill | go | 22:36 |
aelkner | because schooltoolo.gradebook doesn't know about skill drivers | 22:36 |
aelkner | the external activity, the thing created on the fly from the gradebook | 22:37 |
aelkner | should have the title as an attribiute | 22:37 |
aelkner | schooltool.gradebook can always expect that | 22:37 |
aelkner | so | 22:38 |
aelkner | the adpater icompetencygradebook -> iexternalactivity | 22:38 |
aelkner | needs to populate the title | 22:38 |
aelkner | and it resides within cando, so it can know abotu how to get the skilldriver title | 22:38 |
aelkner | so | 22:39 |
aelkner | the utility, also of course, within cando | 22:39 |
aelkner | can loop through the skill drivers, adapting each one to a competency gradedbook | 22:40 |
replaceafill | aha | 22:40 |
aelkner | adn further adapting them to external activities | 22:40 |
aelkner | finally building the list that is returned in getExternalActivities() | 22:40 |
aelkner | ok? | 22:40 |
replaceafill | that's cool, but what happens in the schooltool.gradebook part? | 22:41 |
replaceafill | linkedactivity are persistent | 22:41 |
replaceafill | subclassing activity | 22:41 |
aelkner | that's fine | 22:41 |
aelkner | but yo'll need to change the linked activity not to have the external activity attribute | 22:41 |
aelkner | so, it look's like you're back in schooltool.gradebook | 22:42 |
aelkner | see, i told you this stuff wasn't going to be as easy as people seemed to think it would be | 22:42 |
replaceafill | :D | 22:42 |
replaceafill | well, i'll give it a shot, ok? and let you know what i come up with | 22:43 |
aelkner | you're mock external activities need to not be persistent | 22:43 |
aelkner | they're basically a snapshot of the scores as of today | 22:44 |
aelkner | that's why they adapt so seemlessly from the gradebook, itself also a snapshot | 22:44 |
aelkner | so | 22:44 |
aelkner | you don't need to change your mock external activity itself | 22:45 |
aelkner | just the linked activities need to be changed | 22:45 |
replaceafill | yes | 22:45 |
aelkner | to obtain the external activity dynamically | 22:45 |
replaceafill | damn persistency! :D | 22:46 |
replaceafill | thanks aelkner | 22:46 |
aelkner | no problem | 22:47 |
* th1a sighs. | 22:48 | |
replaceafill | hi th1a | 22:49 |
th1a | Hi replaceafill. | 22:50 |
replaceafill | i pinged u yesterday, just to tell u i have my plane ticket | 22:50 |
replaceafill | and to ask u, what package will be the "sprint focus"? | 22:51 |
replaceafill | or how could i help? | 22:52 |
th1a | ignas and I are discussing that. Basically demographics/indexing/reporting. | 22:52 |
th1a | They're kind of interlinked. | 22:52 |
replaceafill | ah ok | 22:53 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!