source: main/waeup.kofa/trunk/docs/source/userdocs/browsing.rst @ 13099

Last change on this file since 13099 was 13098, checked in by Henrik Bettermann, 9 years ago

More docs.

File size: 4.9 KB
RevLine 
[13084]1.. _browsing_kofa:
2
[13090]3
[13084]4Browsing Kofa
5*************
6
7The reader may ask: How do officers, applicants and students browse
8the portal? Where are the step-by-step operating instructions on how
9to use Kofa? We are always tempted to answer: The menu navigation
10should be self-explanatory and it's quite easy to follow the menu
11prompts or flash messages which appear above page titles in a green,
12yellow or red box. This answer seems a bit over the top. We must
13indeed describe some browser pages and what their clickable actions
14are doing with the data. The reason is, that a lot of Kofa's
15functionality is embedded in view and utility methods and not only
16provided by the functionality of content components. In the
17following, functionality of pages is described in subchapters called
18'Browser Pages'.
19
20
21.. _page_layout:
22
23Page Layout
24===========
25
26Kofa makes use of two different `Bootstrap`_ layouts. Anonymous
27users, students and applicants do see a single-column theme with
28only a static top navigation bar. Students can navigate to the
29various display form pages of their record by pulling down the 'My
30Data' tab in the navigation bar.
31
[13098]32.. _navigation_bar:
33
34The navigation bar for an anonymous user:
35
36.. image:: navbar_anon.png
37
38The navigation bar for a student with drop-down menue:
39
40.. image:: navbar_student.png
41
42The navigation bar for an officer with lots of permissions:
43
44.. image:: navbar_officer.png
45
[13084]46Officers see a double-column theme after logging in. The left column
47contains a box which contains links to the user's preferences (My
48Preferences) and roles (My Roles). It also contains links to the
49various sections of Kofa depending on the permissions the officer
50has has obtained. Possible sections are: 'Portal Configuration',
51'Officers', 'Data Center', 'Reports' and 'Access Codes'. A second
52box shows up in the left column when the officer accesses an
53applicant or student record. This box gives direct access to the
54pages of an applicant or student record respectively.
55
[13098]56.. image:: multicolumn.png
[13084]57
58
59.. _manage_edit_pages:
60
61Views, Pages and Form Pages
62===========================
63
64Views are dealing with request and response objects. Usually a view
65renders (produces) HTML or PDF code to be displayed in a web browser
66or a pdf reader respectively. Very often a view only redirects to
67another view or page and does not render code by itself.
68Views, which render pdf code, are called pdf slips in Kofa.
69
70Kofa pages are 'layout-aware' browser views, which means they know
71about the global page layout and render content inside it.
72
73In Kofa most pages are form pages which means they are layout-aware
74views on data. These pages are either used to submit data (simple form
75page), or to display, edit or add persistant data. The latter three
76are called display, edit or add form pages respectively. Kofa is
77using the `Zope Formlib`_ package to auto-generate these forms.
78
79.. note::
80
81  Briefly, Zope Formlib is wedded to `Zope Schema`_, it provides
82  display and input widgets (= views) for the fields defined in the
83  Zope Schema package. Auto-generation is done with `grok.AutoFields`
84  which takes the fields, declared in an interface, and renders
85  display or input widgets, according to the schema declaration, for
86  display or edit forms respectively.
87
88Whereas display and add form pages are usually shared by officers
89and students, edit form pages are not. Applicants and students are
90not allowed to edit all of their data all the time. Edit access is
91restricted by workflow states or other conditions. Officers' access
92is much less restricted, and we therefore speak of 'managing'
93instead of 'editing' data. In most cases, Kofa uses two different
94form pages which require different permissions: An `EditFormPage`
95requires the
96:py:class:`HandleApplication<waeup.kofa.applicants.permissions.HandleApplication>`
97/
98:py:class:`HandleStudent<waeup.kofa.students.permissions.HandleStudent>`
99permission and a `ManageFormPage` requires the
100:py:class:`ManageStudent<waeup.kofa.students.permissions.ManageStudent>`
101permission.
102
103
104
105.. _action_buttons:
106
107Action Buttons
108==============
109
110There are two kinds of action buttons which appear on pages:
111
[13090]112**Link Buttons** appear on top of the page above the page
113title and are decorated with an icon. These
114:py:class:`action
115buttons<waeup.kofa.browser.viewlets.ActionButton>` have a
116link target which means they usually refer to another Kofa
117page and are sending GET requests to open the page. Example:
[13084]118
[13090]119.. image:: link_button.png
120   :scale: 50 %
[13084]121
[13090]122**Form Buttons** are submit buttons which appear below a form.
123They are HTML form actions which submit data by sending a
124POST request back to the form page. A form page method is
125called and processes the data or simply redirects to
126another Kofa page. Example:
[13084]127
[13090]128.. image:: form_buttons.png
129   :scale: 50 %
130
131
132
[13084]133.. _bootstrap: http://getbootstrap.com/
134
135.. _zope schema: http://docs.zope.org/zope.schema
136
137.. _zope formlib: http://bluebream.zope.org/doc/1.0/manual/schema.html#auto-generated-forms-using-the-forms-package
Note: See TracBrowser for help on using the repository browser.