*** menesis has quit IRC | 00:09 | |
*** replaceafill has quit IRC | 01:20 | |
*** replaceafill has joined #schooltool | 01:22 | |
*** replaceafill has joined #schooltool | 01:22 | |
*** ignas has quit IRC | 01:39 | |
*** replaceafill has quit IRC | 02:33 | |
*** alga_ has joined #schooltool | 02:35 | |
*** alga has quit IRC | 02:37 | |
*** replaceafill has joined #schooltool | 04:06 | |
*** alga_ has quit IRC | 04:52 | |
*** th1a has quit IRC | 05:11 | |
replaceafill | aelkner_, you around? :) | 05:24 |
---|---|---|
*** ignas has joined #schooltool | 06:26 | |
aelkner_ | replaceafill, hey | 06:58 |
replaceafill | hey aelkner_ | 06:58 |
replaceafill | just a quick question | 06:59 |
aelkner_ | sure | 06:59 |
replaceafill | i've been reviewing the report sheet code | 06:59 |
replaceafill | i dont know if you read my chat this afternoon with th1a | 06:59 |
replaceafill | anyway | 06:59 |
replaceafill | the IGradebookDeployed interface in the gradebook promises: | 06:59 |
replaceafill | class IGradebookDeployed(interfaces.IRequirement): | 07:00 |
replaceafill | """Container of Deployed Report Sheet Templates (by term)""" | 07:00 |
replaceafill | contains('.IReportWorksheet') | 07:00 |
replaceafill | right? | 07:00 |
replaceafill | but in gradebook.browser.report_card.DeployReportWorksheetBaseView.deployTerm | 07:01 |
replaceafill | i found: | 07:01 |
replaceafill | deployedWorksheet = Worksheet(worksheet.title) | 07:01 |
replaceafill | chooser = INameChooser(root.deployed) | 07:01 |
replaceafill | name = chooser.chooseName(deployedKey, deployedWorksheet) | 07:01 |
replaceafill | deployedWorksheet is a regular IWorksheet | 07:01 |
replaceafill | not an IReportWorksheet | 07:01 |
replaceafill | i mean, functionally it all works | 07:01 |
replaceafill | but if i only look at the interfaces definition, i'll belive that IGradebookDeployed will store IReportWorksheets with IReportActivities... | 07:02 |
replaceafill | *believe | 07:03 |
aelkner_ | this is a good point | 07:03 |
aelkner_ | wait | 07:03 |
aelkner_ | ok, there are three levels | 07:03 |
aelkner_ | the source of all report sheets, in gradebook root/templates | 07:04 |
replaceafill | you mean: templates, deployed and layouts? | 07:04 |
aelkner_ | then there is the deployed report sheets, by term | 07:04 |
replaceafill | yes | 07:04 |
aelkner_ | let's not consider layouts for the moment | 07:04 |
replaceafill | ok | 07:04 |
aelkner_ | the second level, the deployed sheets, are also kept in gradbook root, under 'deployed' | 07:05 |
aelkner_ | the last level is the actual worksheet in the section | 07:05 |
aelkner_ | the thing about deplyed workseets is: | 07:05 |
aelkner_ | they are Worksheet objects | 07:05 |
aelkner_ | deployed = True | 07:06 |
aelkner_ | so basically, since the deployed part of gradebook is just a holding place for what gets deployed | 07:06 |
aelkner_ | automatically, mind you, when a new section gets created | 07:06 |
aelkner_ | it doesn't really matter whether it is a ReportSheet or a Wroeksheet | 07:07 |
aelkner_ | not as far as i can remember there being a need to distinguish them | 07:07 |
aelkner_ | the idea is that ReportSheet is not deployed | 07:08 |
aelkner_ | and it can not have the same set of scoresystem choices as a regular (teacher) worksheet) | 07:08 |
aelkner_ | now that i think of it, that is a key issue that tom could speak to | 07:08 |
aelkner_ | but if i remember corroctly, the main reason for ReportSheet is the different behaviour in the edit views | 07:09 |
aelkner_ | coudl you confirm any of that? | 07:09 |
replaceafill | different behaviour? you mean because of the score system? | 07:10 |
aelkner_ | yes | 07:10 |
replaceafill | right, and the category | 07:10 |
replaceafill | and the due date | 07:10 |
aelkner_ | so there's a different view class, right? | 07:11 |
replaceafill | correct | 07:11 |
replaceafill | wait, you mean ReportSheets? | 07:11 |
aelkner_ | yes | 07:11 |
replaceafill | i thought you said ReportActivities :( | 07:11 |
aelkner_ | yes | 07:11 |
aelkner_ | that's right | 07:11 |
aelkner_ | one contains the ther | 07:12 |
aelkner_ | other | 07:12 |
replaceafill | <page | 07:12 |
replaceafill | name="index.html" | 07:12 |
replaceafill | for="..interfaces.IReportWorksheet" | 07:12 |
replaceafill | class=".worksheet.WorksheetManageView" | 07:12 |
replaceafill | template="templates/report_worksheet_overview.pt" | 07:12 |
replaceafill | permission="schooltool.view" | 07:12 |
replaceafill | /> | 07:12 |
replaceafill | that's the zcml for reportsheets | 07:12 |
aelkner_ | yeah, so it act differently for the user | 07:12 |
replaceafill | but the class it's the same as for regular worksheets | 07:13 |
aelkner_ | i provided a subclass or Worksheet that edited diffeetnly | 07:13 |
* replaceafill looks | 07:13 | |
aelkner_ | the view classes should be different | 07:13 |
aelkner_ | ReportActivity add/edit, that is | 07:13 |
replaceafill | ah, so you were talking about activities vs reportactivities | 07:14 |
replaceafill | i was still at worksheets :( | 07:14 |
replaceafill | reportsheet vs worksheet | 07:14 |
aelkner_ | yeah, you see, the child has the socresytem difference, but the parent is located in the gradebook root | 07:15 |
aelkner_ | i won't defend it to the death, but i had my reasons for organizing it this way | 07:15 |
aelkner_ | i was dealing with the whole zope container/containment issue | 07:16 |
replaceafill | cool, i understand | 07:16 |
replaceafill | but now i have a weird use case | 07:17 |
aelkner_ | i saw, with levels | 07:17 |
replaceafill | right, different deployed sheets in different sections | 07:17 |
aelkner_ | you opened up a can of worms there :) | 07:17 |
replaceafill | :( | 07:17 |
aelkner_ | we don't have any concept of level at any level of the gradebook data model | 07:18 |
aelkner_ | level, level - unintentional humor | 07:18 |
replaceafill | :P | 07:18 |
replaceafill | anyway, i'm still digging this desing | 07:19 |
replaceafill | the regular worksheet and the interfaces promise got my attention | 07:19 |
aelkner_ | if you think you found anything that doesn't fit, it's important that we fix it | 07:20 |
replaceafill | if key.startswith(deployedKey) | 07:20 |
replaceafill | i want to break that :D | 07:20 |
replaceafill | deployed keys are like schoolyear.__name__, term.__name__ | 07:20 |
aelkner_ | isn't that the reverse of NameChooser? | 07:20 |
aelkner_ | i have to consider the case that more than one report sheet is deployed to the same term | 07:21 |
replaceafill | i wonder if you have several terms like ('2009', 'myterm'), ('2009', 'myterm-2'), ('2009', 'myterm-3') | 07:21 |
replaceafill | deployedkeys will start with the same string | 07:21 |
aelkner_ | ooh, good point | 07:21 |
aelkner_ | perhaps startswith is not precise enough | 07:22 |
replaceafill | correct | 07:22 |
aelkner_ | what devides the term from the rest of the id? a | | 07:22 |
replaceafill | i'll write a test to break it first | 07:22 |
replaceafill | (if it's possible of course) | 07:22 |
replaceafill | no, '_' | 07:22 |
aelkner_ | ah, that's it | 07:22 |
aelkner_ | the code needs to do the .split('+) first | 07:22 |
replaceafill | i've always wondered if it's better to store tuples instead of creating these strings | 07:23 |
aelkner_ | .split('_') | 07:23 |
replaceafill | right | 07:23 |
aelkner_ | hmm | 07:23 |
replaceafill | compare both independently | 07:23 |
aelkner_ | the thing is, strings make the best keys | 07:23 |
aelkner_ | they are easily viewed in pdb | 07:23 |
aelkner_ | even users can handle a string better than ('this', 'is', 'a', 'tuyple') | 07:24 |
replaceafill | users dont care too much about our ids, right? | 07:24 |
aelkner_ | so i will defend the whole string as key idea | 07:24 |
aelkner_ | i'm a user :) | 07:24 |
aelkner_ | don't you care about me? | 07:24 |
replaceafill | youre a developer man | 07:25 |
aelkner_ | that's me, mster developer man | 07:25 |
replaceafill | ok, i'll keep reading the code | 07:25 |
aelkner_ | i still like string keys for BtreeContainers | 07:25 |
replaceafill | will try to come up with a solution for the can of worms :) | 07:25 |
aelkner_ | traversal, for one thing | 07:25 |
replaceafill | we have to use strings for container keys | 07:25 |
replaceafill | you're right about that | 07:25 |
aelkner_ | isn't that what we're talking about? | 07:26 |
replaceafill | right, i guess it's just a matter of centralize this splitting, naming logic | 07:26 |
aelkner_ | bingo | 07:26 |
replaceafill | because now it's handled in several places | 07:26 |
aelkner_ | you could add mucho value to the code if you did just that | 07:26 |
replaceafill | mucho!!?!? | 07:27 |
replaceafill | :D | 07:27 |
aelkner_ | mucho macho, you would be | 07:27 |
replaceafill | :)) | 07:27 |
replaceafill | ok muchacho, thanks for your help | 07:27 |
replaceafill | i'll keep thinkin about this | 07:27 |
aelkner_ | always a pleasure | 07:27 |
*** ignas has quit IRC | 07:28 | |
replaceafill | aelkner_, :| | 09:29 |
replaceafill | the term is not used when you retrieve the activity for a report column! | 09:29 |
replaceafill | and as we suspected, several terms could break the define layout view: http://img21.imageshack.us/img21/5926/pantallazodg.png | 09:32 |
replaceafill | gradebook.browser.pdf_views.BaseStudentPDFView.getActivity should check: ITerm(section).__name__ == termName | 09:35 |
*** replaceafill has quit IRC | 09:46 | |
*** yvl has joined #schooltool | 09:58 | |
*** ignas has joined #schooltool | 11:31 | |
*** alga has joined #schooltool | 12:02 | |
*** menesis has joined #schooltool | 12:17 | |
*** ignas has quit IRC | 12:58 | |
*** ignas has joined #schooltool | 12:59 | |
*** alga has quit IRC | 13:47 | |
*** alga has joined #schooltool | 14:21 | |
*** yvl has quit IRC | 15:38 | |
*** alga has quit IRC | 15:50 | |
*** menesis has quit IRC | 16:01 | |
*** th1a has joined #schooltool | 16:05 | |
*** replaceafill has joined #schooltool | 16:28 | |
*** alga has joined #schooltool | 16:55 | |
*** ignas has quit IRC | 17:34 | |
replaceafill | th1a, zyt? | 19:06 |
th1a | y | 19:08 |
replaceafill | should i jump back to merge cando fixes? i was working on the design of gradebook report sheets + level stuff | 19:09 |
th1a | Not immediately. | 19:10 |
replaceafill | ah ok | 19:10 |
th1a | If they really need it immediately we'll know. ;-) | 19:11 |
replaceafill | :D | 19:11 |
*** alga has quit IRC | 20:04 | |
*** menesis has joined #schooltool | 20:11 | |
replaceafill | menesis, you around? | 20:46 |
menesis | replaceafill: a little | 20:47 |
replaceafill | menesis, just a quick question :) | 20:47 |
*** fsufitch has joined #schooltool | 20:47 | |
replaceafill | i found some new bugs in the gradebook, is it ok if i push my new changes to the same branch i request the merge | 20:47 |
fsufitch | ello everyone! | 20:48 |
replaceafill | hey fsufitch :) | 20:48 |
menesis | replaceafill: yes, you can continue there | 20:49 |
menesis | doing an awesome job on gradebook! | 20:50 |
replaceafill | menesis, ah ok, thanks | 20:50 |
replaceafill | :) | 20:50 |
*** grantbow has quit IRC | 21:07 | |
* replaceafill loves schooltool :D | 21:17 | |
replaceafill | th1a, just explained the integration procedure to mattva01 | 21:17 |
replaceafill | dwelsh is going to do some testing | 21:17 |
fsufitch | aelkner_: ping | 21:32 |
fsufitch | replaceafill: ping? | 21:34 |
replaceafill | fsufitch, pong? | 21:35 |
fsufitch | yay someone answered | 21:35 |
fsufitch | so, for some reason zope is ignoring my src/ directory | 21:35 |
fsufitch | i tried sorting buildout out, but i can't spot anything wrong | 21:36 |
fsufitch | do you have any pointers? | 21:36 |
replaceafill | are you creating a new schooltool package? | 21:36 |
fsufitch | yes, schooltool.courseinfo | 21:36 |
th1a | replaceafill: btw, not to throw you out of gear, but the levels + report sheets probably isn't top priority either. | 21:37 |
replaceafill | th1a, right | 21:37 |
th1a | kk | 21:37 |
replaceafill | th1a, i just like to think about it (report sheets) because it even helps me find new bugs in the current code :) | 21:38 |
fsufitch | replaceafill: there's a "schooltool.courseinfo.egg-link" under develop-eggs/ but i'm not sure it's getting that far | 21:38 |
replaceafill | fsufitch, can you push your branch so i can look at it? | 21:39 |
fsufitch | it's at bzr+ssh://bazaar.launchpad.net/~fsufitch/schooltool/schooltool.courseinfo | 21:40 |
* replaceafill checks... | 21:40 | |
replaceafill | fsufitch, rev 7? | 21:41 |
fsufitch | yup | 21:42 |
fsufitch | oh wait i made some tweaks with aelkner to make it work, since rev 7 that i branched from him was a bit broken | 21:42 |
fsufitch | one sec | 21:42 |
fsufitch | ok pull rev 8 | 21:43 |
replaceafill | ok | 21:43 |
replaceafill | fsufitch, still using python2.5, uh? | 21:45 |
replaceafill | :) | 21:45 |
fsufitch | it's what the buildout specified, not my choice | 21:45 |
replaceafill | you can change the Makefile | 21:46 |
fsufitch | oh i didnt realize that's where the option was | 21:46 |
fsufitch | that makes me happy | 21:46 |
fsufitch | but it doesnt fix my problem | 21:48 |
replaceafill | fsufitch, i'm building it... | 21:48 |
fsufitch | ok | 21:49 |
fsufitch | what i did to make sure of this is i inserted blatant syntax errors into the configure.zcml, and it still runs just fine | 21:50 |
replaceafill | you can also check your bin/start-schooltool-instance script | 21:51 |
replaceafill | and check the paths there | 21:51 |
fsufitch | ok | 21:51 |
replaceafill | finished building | 21:52 |
replaceafill | (using python2.6 here) | 21:52 |
fsufitch | paths look good | 21:52 |
replaceafill | running: make run | 21:54 |
replaceafill | ok, running | 21:56 |
replaceafill | Python path | 21:56 |
replaceafill | * /home/replaceafill/.sandboxes/schooltool.courseinfo/src | 21:56 |
fsufitch | ... right? | 21:57 |
replaceafill | lol | 21:57 |
replaceafill | <hey look a syntax error /> | 21:57 |
fsufitch | YES | 21:57 |
fsufitch | anything you can see wrong with it? | 22:02 |
replaceafill | let me try something | 22:03 |
replaceafill | fsufitch, yay! | 22:05 |
fsufitch | ? | 22:05 |
replaceafill | === modified file 'setup.py' | 22:05 |
replaceafill | --- setup.py2011-01-26 19:43:01 +0000 | 22:05 |
replaceafill | +++ setup.py2011-01-26 20:00:59 +0000 | 22:05 |
replaceafill | @@ -86,7 +86,7 @@ | 22:05 |
replaceafill | include_package_data=True, | 22:05 |
replaceafill | zip_safe=False, | 22:05 |
replaceafill | entry_points=""" | 22:05 |
replaceafill | - [schooltool.instance_type] | 22:05 |
replaceafill | - schooltool.courseinfo = schooltool.courseinfo.app | 22:05 |
replaceafill | + [z3c.autoinclude.plugin] | 22:05 |
replaceafill | + target = schooltool | 22:05 |
replaceafill | """, | 22:05 |
replaceafill | ) | 22:05 |
replaceafill | oops | 22:05 |
replaceafill | sorry | 22:05 |
replaceafill | change the entry_points in your setup.py | 22:05 |
replaceafill | remove [schooltool.instance_type] | 22:05 |
fsufitch | channel flooding yay! | 22:05 |
fsufitch | yeah i got it | 22:05 |
replaceafill | change it to autoinclude | 22:05 |
replaceafill | you will get a new error: | 22:06 |
replaceafill | Couldn't import schooltool.courseinfo.browser.courseinfo | 22:06 |
replaceafill | which makes sense :) | 22:06 |
fsufitch | :) | 22:06 |
replaceafill | let me know if it works | 22:07 |
fsufitch | ugh, this machine im on is a really crappy university machine on which explorer.exe regularly freezes every couple of minutes | 22:08 |
replaceafill | :| | 22:08 |
fsufitch | ZopeSAXParseException: File "/home/fsufitch/schooltool.courseinfo/src/schooltool/courseinfo/configure.zcml", line 7.16, not well-formed (invalid token) | 22:12 |
fsufitch | woo!! | 22:12 |
fsufitch | thank you :) | 22:12 |
replaceafill | woo!! | 22:12 |
fsufitch | now to fix these stupid syntax errors i included :) | 22:12 |
replaceafill | :)) | 22:13 |
th1a | Just try to make sure menesis knows about any bugs you just found in the build process. | 22:14 |
replaceafill | th1a, i guess it's just that this branch was created a long time ago | 22:15 |
fsufitch | this was actually introduced by aelkner and his weird build setup that he gave me | 22:15 |
replaceafill | several things have changed in that process | 22:15 |
fsufitch | what he said | 22:15 |
fsufitch | argh, this whole "explorer froze" business is getting really irksome | 22:16 |
fsufitch | i should have a working netbook by tomorrow though, which is good | 22:16 |
fsufitch | gotta go, ttyl! | 22:48 |
*** fsufitch has quit IRC | 22:49 | |
*** replaceafill has quit IRC | 23:03 | |
*** replaceafill has joined #schooltool | 23:17 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!