installed SchoolTool 2009.04 and imported sample data for presentation to board and principal:
after importing the provided sample data, I logged in as student119
Title menu shows "Gradebook" twice:
one linked to http://<host>:7080/persons/student119/gradebook.html
second linked to http://<host>:7080/gradebook.html
First gradebook works (even though doesn't contain any data yet).
Reviewing the second gradebook link, no entries are shown. Changing the selected course leads to the Exception:
Exception
TraversalError: (<zope.app.pagetemplate.simpleviewclass.SimpleViewClass from /usr/lib/python2.5/site-packages/schooltool/gradebook/browser/mygrades.pt object at 0x23266750>, 'average_hide')
Traceback
File "/usr/lib/python2.5/site-packages/zope/publisher/publish.py", line 133, in publish
result = publication.callObject(request, obj)
File "/usr/lib/python2.5/site-packages/zope/app/publication/zopepublication.py", line 167, in callObject
return mapply(ob, request.getPositionalArguments(), request)
File "/usr/lib/python2.5/site-packages/zope/publisher/publish.py", line 108, in mapply
return debug_call(obj, args)
Extra information: <zope.app.pagetemplate.simpleviewclass.SimpleViewClass from /usr/lib/python2.5/site-packages/schooltool/gradebook/browser/mygrades.pt object at 0x23266750>
File "/usr/lib/python2.5/site-packages/zope/publisher/publish.py", line 114, in debug_call
return obj(*args)
File "/usr/lib/python2.5/site-packages/zope/app/pagetemplate/simpleviewclass.py", line 44, in __call__
return self.index(*args, **kw)
File "/usr/lib/python2.5/site-packages/zope/app/pagetemplate/viewpagetemplatefile.py", line 83, in __call__
return self.im_func(im_self, *args, **kw)
File "/usr/lib/python2.5/site-packages/zope/app/pagetemplate/viewpagetemplatefile.py", line 51, in __call__
sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
File "/usr/lib/python2.5/site-packages/zope/pagetemplate/pagetemplate.py", line 115, in pt_render
strictinsert=0, sourceAnnotations=sourceAnnotations)()
Template "/usr/lib/python2.5/site-packages/schooltool/gradebook/browser/mygrades.pt"
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 271, in __call__
self.interpret(self.program)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 346, in interpret
handlers[opcode](self, args)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 891, in do_useMacro
self.interpret(macro)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 346, in interpret
handlers[opcode](self, args)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 536, in do_optTag_tal
self.do_optTag(stuff)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 521, in do_optTag
return self.no_tag(start, program)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 516, in no_tag
self.interpret(program)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 346, in interpret
handlers[opcode](self, args)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 957, in do_defineSlot
self.interpret(block)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 346, in interpret
handlers[opcode](self, args)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 536, in do_optTag_tal
self.do_optTag(stuff)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 521, in do_optTag
return self.no_tag(start, program)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 516, in no_tag
self.interpret(program)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 346, in interpret
handlers[opcode](self, args)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 949, in do_defineSlot
self.interpret(slot)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 346, in interpret
handlers[opcode](self, args)
File "/usr/lib/python2.5/site-packages/zope/tal/talinterpreter.py", line 854, in do_condition
if not self.tal or self.engine.evaluateBoolean(condition):
File "/usr/lib/python2.5/site-packages/zope/tales/tales.py", line 701, in evaluateBoolean
return not not self.evaluate(expr)
File "/usr/lib/python2.5/site-packages/zope/tales/tales.py", line 696, in evaluate
return expression(self)
Template "/usr/lib/python2.5/site-packages/schooltool/gradebook/browser/mygrades.pt", line 75, column 4
Expression: <NotExpr u'view/average_hide'>
File "/usr/lib/python2.5/site-packages/zope/tales/expressions.py", line 280, in __call__
return int(not econtext.evaluateBoolean(self._c))
File "/usr/lib/python2.5/site-packages/zope/tales/tales.py", line 701, in evaluateBoolean
return not not self.evaluate(expr)
File "/usr/lib/python2.5/site-packages/zope/tales/tales.py", line 696, in evaluate
return expression(self)
Template "/usr/lib/python2.5/site-packages/schooltool/gradebook/browser/mygrades.pt", line 75, column 4
Expression: <PathExpr standard:u'view/average_hide'>
File "/usr/lib/python2.5/site-packages/zope/tales/expressions.py", line 217, in __call__
return self._eval(econtext)
File "/usr/lib/python2.5/site-packages/zope/tales/expressions.py", line 194, in _eval
ob = self._subexprs[-1](econtext)
File "/usr/lib/python2.5/site-packages/zope/tales/expressions.py", line 124, in _eval
ob = self._traverser(ob, element, econtext)
File "/usr/lib/python2.5/site-packages/zope/app/pagetemplate/engine.py", line 68, in __call__
request=request)
File "/usr/lib/python2.5/site-packages/zope/traversing/adapters.py", line 164, in traversePathElement
return traversable.traverse(nm, further_path)
Extra information: (<zope.app.pagetemplate.simpleviewclass.SimpleViewClass from /usr/lib/python2.5/site-packages/schooltool/gradebook/browser/mygrades.pt object at 0x23266750>, 'average_hide')
File "/usr/lib/python2.5/site-packages/zope/traversing/adapters.py", line 52, in traverse
raise TraversalError(subject, name)
Extra information: (<zope.app.pagetemplate.simpleviewclass.SimpleViewClass from /usr/lib/python2.5/site-packages/schooltool/gradebook/browser/mygrades.pt object at 0x23266750>, 'average_hide', [])
We'll try to clean up the student views for the next release in October -- at least to fix this traceback -- but at this point we're focusing on teacher and administrator facing functionality. We will focus more attention on the students' POV in 2010.