In Journal view, every Thursday is "missing" for 1 unique teacher

Asked by Neville Turner on 2014-12-18

We have 27 teachers and the school year is divided into 3 terms. 1 unique (and only one that we can identify) teacher's Journal of student attendances does not show any Thursday in Terms 2 & 3 only. I.e., Term 1 shows each day (including Thursdays) correctly, but terms 2 & 3 are missing all occurrences of Thursdays. No other teacher has this problem. I have no idea what logs to send, so please let me know what further information I can send.

I have another instance of schooltool running on the same server, which I loaded in order to experiment. However I discovered that any changes (deletions etc) made to that instance also had the same effect on the production version. It's called "Schooltooltest". Perhaps that is conflicting in some way with the production version? Today's error log is pasted below.

Database ['/var/run/schooltool/zeo.sock'] (connected)
Database Size 24.56 MB
Uptime 0 day(s) 17:22:15
System platform Linux P4-VM 3.13.0-40-generic #69-Ubuntu SMP Thu Nov 13 17:56:26 UTC 2014 i686 i686
Python version 2.7.6 (default, Mar 22 2014, 22:59:38) [GCC 4.8.2]
Command line /usr/bin/start-schooltool-instance /etc/schooltool/standard
Preferred encoding ANSI_X3.4-1968
File system encoding ANSI_X3.4-1968
Process id 2265
Developer mode Off
Python path

    /usr/bin
    /usr/lib/python2.7
    /usr/lib/python2.7/plat-i386-linux-gnu
    /usr/lib/python2.7/lib-tk
    /usr/lib/python2.7/lib-old
    /usr/lib/python2.7/lib-dynload
    /usr/local/lib/python2.7/dist-packages
    /usr/lib/python2.7/dist-packages
    /usr/lib/python2.7/dist-packages/PILcompat
    /usr/lib/python2.7/dist-packages/gtk-2.0
    /usr/lib/pymodules/python2.7
    /usr/lib/python2.7/dist-packages/ubuntu-sso-client

Error log:

2014-12-18 10:21:38,282 Competing writes/reads at /++vh++http:schooltool.issrcambodia.com:80/++/schoolyears/2014-2015/1st-term-20142015/sections/3/journal/index.html/name_popup_menu: database conflict error (oid 0x0266, class BTrees.OOBTree.OOBTree, serial this txn started with 0x03abaf89874f6044 2014-12-18 03:21:31.713296, serial currently committed 0x03abaf89a1b824ee 2014-12-18 03:21:37.902964)
2014-12-18 10:21:38,284 Competing writes/reads at /++vh++http:schooltool.issrcambodia.com:80/++/schoolyears/2014-2015/1st-term-20142015/sections/3/journal/index.html/name_popup_menu: database conflict error (oid 0x0266, class BTrees.OOBTree.OOBTree, serial this txn started with 0x03abaf89874f6044 2014-12-18 03:21:31.713296, serial currently committed 0x03abaf89a1b824ee 2014-12-18 03:21:37.902964)
2014-12-18 10:44:37,873 http://schooltool.issrcambodia.com/schooltool.task_results
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0xb0ef0c6c>, name: u'schooltool.task_results'
2014-12-18 10:46:22,442 http://schooltool.issrcambodia.com/schooltool.task_results
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0xb0ef0c6c>, name: u'schooltool.task_results'
2014-12-18 10:47:40,276 http://schooltool.issrcambodia.com/favicon.ico
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0xb36ddc2c>, name: u'favicon.ico'
2014-12-18 10:47:40,388 http://schooltool.issrcambodia.com/favicon.ico
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0xb36ddc2c>, name: u'favicon.ico'
2014-12-18 10:47:48,227 http://schooltool.issrcambodia.com/schooltool.task_results
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0xb0ef0c6c>, name: u'schooltool.task_results'
2014-12-18 10:49:12,534 http://schooltool.issrcambodia.com/schooltool.task_results
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0xb0ef0c6c>, name: u'schooltool.task_results'

Question information

Language:
English Edit question
Status:
Solved
For:
SchoolTool Edit question
Assignee:
No assignee Edit question
Solved by:
Neville Turner
Solved:
2014-12-20
Last query:
2014-12-20
Last reply:
Tom Hoffman (tom-hoffman) said : #1

If you have the server timezone set to your local time, try setting it to GMT.

Neville Turner (l-launchpld-s) said : #2

Tom - thank you for your reply. I am not sure if by "Server timezone" you meant the timezone set in the Schooltool "Server" tab, or the physical server on which Schooltool is hosted (in my case Ubuntu 14.04). So, I tried setting the Schooltool "server" tab timezone to UTC (by removing the local +7 hr offset), but the only effect was to cause all calendar times to be wrong (as one would expect). It didn't effect the missing Thursdays.
I then tried setting the Ubuntu server's timezone. As you undoubtedly know, Ubuntu's time setting works by setting the system time on UTC and aplying a local timezone offset - in my case UTC +7. I tried removing the local time offset, thus causing the local time to show as UTC. Again no effect on the missing Thursdays. Of course I stopped and re-started the schooltool service after each change.

Thanks for your suggestion anyway.

Neville Turner (l-launchpld-s) said : #3

Found it!

Sections...Year 3...Schedule.

I had missed ticking the "Thursday" Schedule for Terms 2 and 3 for this Section. Hence no Thursday showing for this teacher because she had no scheduled section on Thursdays.

Thanks for your help Tom.

Nev.

Tom Hoffman (tom-hoffman) said : #4

Glad you got that sorted and thanks for letting us know what the problem was. That kind of feedback helps us the next time we get a similar question.

I'm afraid our timezone implementation is buggy enough that fiddling with the timezone setting is my first response to any "I'm missing sections" question.