1 | .. _students_browser: |
---|
2 | |
---|
3 | Browsing the Student Section |
---|
4 | ============================ |
---|
5 | |
---|
6 | The reader may ask: How do officers and students browse the portal? Where are the step-by-step operating instructions on how to use Kofa? We are always tempted to answer: The menu navigation should be self-explanatory and it's quite easy to follow the menu prompts. For the students section this answer seems a bit over the top. We must indeed describe some browser pages and what their clickable actions are doing with the data. The reason is, that a lot of Kofa's functionality is embedded in view and utility methods and not only provided by the functionality of content components as described above. |
---|
7 | |
---|
8 | Page Layout |
---|
9 | =========== |
---|
10 | |
---|
11 | Kofa makes use of two different `Bootstrap`_ layouts. Anonymous users, students and applicants do see a single-column theme with only a static top navigation bar. Students can navigate to the various display pages of their record by pulling down the 'My Data' in the navigation bar. |
---|
12 | |
---|
13 | Officers see a double-column theme after logging in. The left column contains a box which contains links to the user's preferences (My Preferences) and roles (My Roles). It also contains links to the various sections of Kofa depending on the permissions the officer has has obtained. Possible sections are: 'Portal Configuration', 'Officers', 'Data Center', 'Reports' and 'Access Codes'. A second box shows up in the left column when the officer accesses a student record. This box gives direct access to the display pages of a student record. |
---|
14 | |
---|
15 | Manage and Edit Pages |
---|
16 | ===================== |
---|
17 | |
---|
18 | Pages, or more precisely web pages, are browser views which render (produce) HTML or PDF code to be displayed in a web browser or a pdf reader respectively. Views are dealing with request and response objects. In Kofa most pages are form pages which means they are views on data. These pages are either used to display, edit or add persistant data. Thus we can further distinguish display, edit and add form pages. Kofa is using the `Zope Formlib`_ package to auto-generate these forms. |
---|
19 | |
---|
20 | .. note:: |
---|
21 | |
---|
22 | Briefly, Zope Formlib is wedded to `Zope Schema`_, it provides display and input widgets (= views) for the fields defined in the Zope Schema package. Auto-generation is done with `grok.AutoFields` which takes the fields declared in an interface and renders display or input widgets according to the schema declaration for display or edit forms respectively. |
---|
23 | |
---|
24 | Whereas display and add form pages are usually shared by officers and students, edit form pages are not. Students are not allowed to edit all of their data all the time. Edit access is restricted by workflow states or other conditions. Officers' access is much less restricted and we therefore speak of 'managing' instead of 'editing' data. In most cases, Kofa uses two different form pages which require different permissions: An `EditFormPage` requires the :py:class:`HandleStudent<waeup.kofa.students.permissions.HandleStudent>` permission and a `ManageFormPage` requires the :py:class:`ManageStudent<waeup.kofa.students.permissions.ManageStudent>` permission. |
---|
25 | |
---|
26 | Action Buttons |
---|
27 | ============== |
---|
28 | |
---|
29 | There are two kinds of action buttons which appear on pages: |
---|
30 | |
---|
31 | - **Link Buttons** appear on top of the page above the page |
---|
32 | title and are decorated with an icon. These |
---|
33 | :py:class:`action |
---|
34 | buttons<waeup.kofa.browser.viewlets.ActionButton>` have a |
---|
35 | link target which means they usually refer to another Kofa |
---|
36 | page and are sending GET requests to open the page. |
---|
37 | |
---|
38 | - **Form Buttons** are submit buttons which appear below a form. |
---|
39 | They are HTML form actions which submit data by sending a |
---|
40 | POST request back to the form page. A form page method is |
---|
41 | called and processes the data or simply redirects to |
---|
42 | another Kofa page. |
---|
43 | |
---|
44 | Logging in as Student |
---|
45 | ===================== |
---|
46 | |
---|
47 | Officers with :py:class:`LoginAsStudent<waeup.kofa.students.permissions.LoginAsStudent>` permission do see a 'Login as student' button on student display pages, which redirects to a page where a temporary student password can be set by clicking a 'Set password now' form button. The temporary password is valid for 10 minutes. During this period the student can't login. The officer is being redirected to a login page which allows to directly login as student with pre-filled temporary credentials. The second page is to avoid that officers must remember the student credentials, logout from their own account and manually login as student via the regular login page. After 10 minutes the officer is automatically thrown out and the student is able to login again (if the officer hasn't changed the password). Attention: When logging in as student, the officer really impersonates the student. All actions are logged with the student id and not with the officer's user id. However, start of student impersonation is also logged, so that officers can be identified and fraudulent use can be discovered. |
---|
48 | |
---|
49 | Rejecting Clearance |
---|
50 | =================== |
---|
51 | |
---|
52 | Transferring Students |
---|
53 | ===================== |
---|
54 | |
---|
55 | Adding Payment Tickets |
---|
56 | ====================== |
---|
57 | |
---|
58 | Adding Bed Tickets |
---|
59 | ================== |
---|
60 | |
---|
61 | Bed Relocation |
---|
62 | ============== |
---|
63 | |
---|
64 | Adding Course Tickets |
---|
65 | ===================== |
---|
66 | |
---|
67 | Using Activation Codes |
---|
68 | ====================== |
---|
69 | |
---|
70 | Requesting a Password |
---|
71 | ===================== |
---|
72 | |
---|
73 | Editing Scores by Lecturers |
---|
74 | =========================== |
---|
75 | |
---|
76 | .. _bootstrap: http://getbootstrap.com/ |
---|
77 | |
---|
78 | .. _zope schema: http://docs.zope.org/zope.schema |
---|
79 | |
---|
80 | .. _zope formlib: http://bluebream.zope.org/doc/1.0/manual/schema.html#auto-generated-forms-using-the-forms-package |
---|