/usr/share/pyshared/schooltool/devmode/devmode.txt is in python-schooltool 1:2.1.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | =============================
Developer Mode User Interface
=============================
The developer mode of the user interface is intended to help SchoolTool
developers and people using SchoolTool as a development platform to debug
their code and find documentation as quickly as possible.
To start, open the SchoolTool site in your browser::
>>> browser = Browser('manager', 'schooltool')
Error Reporting
---------------
Even though error reporting is always available, it is usually not easily
accessible via the Web UI. By clicking on the `Errors` menu option
>>> browser.getLink('Manage').click()
>>> browser.getLink('Errors').click()
you are brought to the root error reporting utility.
Here you can configure the utility and view errors:
>>> print browser.contents
<BLANKLINE>
...
...<a href="http://localhost/++etc++site/default/RootErrorReportingUtility/@@configure.html">Configure</a>...
...<a href="http://localhost/++etc++site/default/RootErrorReportingUtility/@@index.html">Error List</a>...
...
In the configuration
>>> browser.getLink('Configure').click()
you can specify how many exceptions to keep, whether to copy the errors to the
event log and what exceptions can be ignored::
>>> keep_entries = browser.getControl(name='keep_entries')
>>> keep_entries.value
'20'
>>> keep_entries.value = '30'
>>> copy_to_zlog = browser.getControl(name='copy_to_zlog')
>>> copy_to_zlog.value = True
>>> ignored_exceptions = browser.getControl(name='ignored_exceptions:lines')
>>> ignored_exceptions.value
'Unauthorized'
>>> ignored_exceptions.value += '\nNotImplementedError'
>>> browser.getControl('Save Changes').click()
>>> browser.getControl(name='keep_entries').value
'30'
>>> browser.getControl(name='copy_to_zlog').value
True
>>> print browser.getControl(name='ignored_exceptions:lines').value
Unauthorized
NotImplementedError
Let's now make sure that we can get to the error list. First let's create a
``NotFound`` error::
>>> browser.open('http://localhost/foo')
Traceback (most recent call last):
...
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at ...>, name: u'foo'
Now let's see the report::
>>> browser.open('http://localhost/'
... '++etc++site/default/RootErrorReportingUtility')
>>> browser.getLink('Error List').click()
>>> print browser.contents
<BLANKLINE>
...
<tr>
<td valign="top" nowrap="nowrap">
<span>...</span>
</td>
<td>
<span>unauthenticated, sb.person.manager, SchoolTool Manager, </span>
</td>
<td valign="top">
<a href="showEntry.html?id=...">
<span>NotFound</span>:
<span>Object: <schooltool.app.app.SchoolToolApplication ...</span>
</a>
</td>
</tr>
...
Sample Data
-----------
SchoolTool also features a data generator, which will fill your SchoolTool
instance with a lot of random data, which is perfect for performing and
advanced functional testing. So let's have a look::
>>> browser.open('http://localhost/')
>>> browser.getLink('Manage').click()
>>> browser.getLink('Sample data').click()
You are now presented with a screen in which you can choose a random seed key
for the data and a "Generate" button. The purpose of the seed is that you can
reproduce a particular set of generated data. Since the generation process
takes a very long time, I am refraining from a demonstration.
|