Index: main/waeup.kofa/trunk/docs/source/userdocs/academics.rst
===================================================================
--- main/waeup.kofa/trunk/docs/source/userdocs/academics.rst	(revision 12908)
+++ main/waeup.kofa/trunk/docs/source/userdocs/academics.rst	(revision 12909)
@@ -4,16 +4,41 @@
 ****************
 
-Academic bodies of universities are hierarchically structured. A university contains faculties which again host departments. The latter offer course (course units) and study programmes (courses of study). A course is series of classes or lessons on a particular subject. This can be a lecture, tutorial, seminar, practical work offered by a lecturer of the department over a period of an academic term. A course can also be only an exam at the end of an academic term. A study programme is defined by a set of course units to be taken at various programme levels and by an academic degree certificate, which is issued at the end of the programme. Information about universities, their study programmes, lecturers and courses can be found in the university prospectus.
+Academic bodies of universities are hierarchically structured. A
+university contains faculties which again host departments. The
+latter offer courses (course units) and study programmes (courses of
+study). A course is series of classes or lessons on a particular
+subject. This can be a lecture, tutorial, seminar, practical work
+offered by a lecturer of the department over a period of an academic
+term. A course can also be only an exam at the end of an academic
+term. A study programme is defined by a set of course units to be
+taken at various programme levels and by an academic degree
+certificate, which is issued at the end of the programme.
+Information about universities, their study programmes, lecturers
+and courses can be found in the university prospectus.
 
-Kofa's academic section takes on the task of the university prospectus. It is build to disseminate information about faculties, departments, courses, study programmes and the sets of courses to be taken. The academic section reflects exactly the universities' hierarchical structure as described above. Technically speaking, the academic section is a container of type `FacultiesContainer` with id ``academics`` which contains faculty sub-containers. They again contain department sub-objects, nothing else. This leads to a  :ref:`treelike storage of objects <object_database>`.
+Kofa's academic section takes on the task of the university
+prospectus. It is build to disseminate information about faculties,
+departments, courses, study programmes and the sets of courses to be
+taken. The academic section reflects exactly the universities'
+hierarchical structure as described above. Technically speaking, the
+academic section is a container of type `FacultiesContainer` with id
+``academics`` which contains faculty sub-containers. They again
+contain department sub-objects, nothing else. This leads to a
+:ref:`treelike storage of objects <object_database>`.
 
 Faculties
 =========
 
-Faculties are container objects of type `Faculty`. They have a `code`, a `title` and a `title_prefix` attribute.  Furthermore, faculties and departments have a `longtitle` property which :py:func:`composes <waeup.kofa.university.faculty.longtitle>` and returns the full title as it appears in tables, in breadcrumbs and in many other places:
+Faculties are container objects of type `Faculty`. They have a
+`code`, a `title` and a `title_prefix` attribute. Furthermore,
+faculties and departments have a `longtitle` property which
+:py:func:`composes <waeup.kofa.university.faculty.longtitle>` and
+returns the full title as it appears in tables, in breadcrumbs and
+in many other places:
 
   `longtitle` = `title_prefix` + `title` (`code`)
 
-The following :ref:`local roles <local_roles>` can be assigned at faculty tree level:
+The following :ref:`local roles <local_roles>` can be assigned at
+faculty tree level:
 
   .. autoattribute:: waeup.kofa.university.faculty.Faculty.local_roles
@@ -22,7 +47,17 @@
 ===========
 
-Additionally, each department object has the attributes `certificates` and `courses`. These attributes again are containers which hold certificate and course objects respectively. A :py:meth:`traverse <waeup.kofa.university.department.Department.traverse>` method leads the user to believe that `certificates` and `courses` are the ids of objects stored inside a department container. De facto they are not. However, it doesn't matter if we store a sub-object 'in' or 'at' a parent object. The result is exactly the same: :ref:`a hierarchical, treelike storage of objects <object_database>`.
+Additionally, each department object has the attributes
+`certificates` and `courses`. These attributes again are containers
+which hold certificate and course objects respectively. A
+:py:meth:`traverse
+<waeup.kofa.university.department.Department.traverse>` method leads
+the user to believe that `certificates` and `courses` are the ids of
+objects stored inside a department container. De facto they are not.
+However, it doesn't matter if we store a sub-object 'in' or 'at' a
+parent object. The result is exactly the same: :ref:`a hierarchical,
+treelike storage of objects <object_database>`.
 
-The following :ref:`local roles <local_roles>` can be assigned at department tree level:
+The following :ref:`local roles <local_roles>` can be assigned at
+department tree level:
 
   .. autoattribute:: waeup.kofa.university.department.Department.local_roles
@@ -31,11 +66,30 @@
 =======
 
-The `Course` class inherits from `grok.Model` which means it is designed as a pure model and not a container. Courses are tips of the database tree branches. Course objects contain information as they are offered by the department. In the base package these are: `code`, `title`, `credits`, `passmark`, `semester` and the boolean attribute `former_course`. Like all objects in the academic section, they also have a `longtitle` property. A former course is an archived course which had been offered in the past and is no longer part of any curriculum.
+The `Course` class inherits from `grok.Model` which means it is
+designed as a pure model and not a container. Courses are tips of
+the database tree branches. Course objects contain information as
+they are offered by the department. In the base package these are:
+`code`, `title`, `credits`, `passmark`, `semester` and the boolean
+attribute `former_course`. Like all objects in the academic section,
+they also have a `longtitle` property. A former course is an
+archived course which had been offered in the past and is no longer
+part of any curriculum.
 
 .. note::
 
-  Only the department, which offers the course, decides how many credits can be earned, which pass mark must be achieved and in which semester the course can be taken. The manager of the department cannot decide whether a course is mandatory or not, or at which study level the course has to be taken when studying a certain programme. This information is stored in `CertificateCourse` objects, see below. Therefore it does not make sense to speak e.g. of a 300 level course. Also course codes like ``AEE311``, which tell the student that the course is primarily intended for 300 level students, is somehow misleading. There might be other study programmes which recommend to take this course earlier or later.
+  Only the department, which offers the course, decides how many
+  credits can be earned, which pass mark must be achieved and in which
+  semester the course can be taken. The manager of the department
+  cannot decide whether a course is mandatory or not, or at which
+  study level the course has to be taken when studying a certain
+  programme. This information is stored in `CertificateCourse` objects,
+  see below. Therefore it does not make sense to speak e.g. of a 300
+  level course. Also course codes like ``AEE311``, which tell the
+  student that the course is primarily intended for 300 level students,
+  is somehow misleading. There might be other study programmes which
+  recommend to take this course earlier or later.
 
-The following :ref:`local roles <local_roles>` can be assigned at course tree level:
+The following :ref:`local roles <local_roles>` can be assigned at
+course tree level:
 
   .. autoattribute:: waeup.kofa.university.course.Course.local_roles
@@ -45,9 +99,18 @@
 ============
 
-In Kofa, the terms 'certificate' and 'study programme' are used synonymously. A certificate object holds information about the study programme. Important data for further processing in Kofa are: the various school fees to be paid at certain levels, programme start and end level, the study mode and, last but not least, the application category to which the programme belongs.
+In Kofa, the terms 'certificate' and 'study programme' are used
+synonymously. A certificate object holds information about the study
+programme. Important data for further processing in Kofa are: the
+various school fees to be paid at certain levels, programme start
+and end level, the study mode and, last but not least, the
+application category to which the programme belongs.
 
-Certificates are containers which contain `CertificateCourse` objects. That means a certificate defines the curriculum, i.e. the list of course units which have to or can be taken within the programme.
+Certificates are containers which contain `CertificateCourse`
+objects. thatt means a certificate defines the curriculum, i.e. the
+list of course units which have to or can be taken within the
+programme.
 
-The following :ref:`local roles <local_roles>` can be assigned at certificate tree level:
+The following :ref:`local roles <local_roles>` can be assigned at
+certificate tree level:
 
   .. autoattribute:: waeup.kofa.university.certificate.Certificate.local_roles
@@ -57,7 +120,15 @@
 ===================
 
-`CertificateCourse` objects point to `Course` objects which means they have a `course` attribute which is one of the course objects stored in the portal. If the course is removed, an event handler takes care of deleting also all referring certificate courses. The same happens if a course is beeing marked as former course (see above). A former course cannot be part of a curriculum.
+`CertificateCourse` objects point to `Course` objects which means
+they have a `course` attribute which is one of the course objects
+stored in the portal. If the course is removed, an event handler
+takes care of deleting also all referring certificate courses. The
+same happens if a course is beeing marked as former course (see
+above). A former course cannot be part of a curriculum.
 
-Certificate courses have to more attributes: `level` (integer) and `mandatory` (boolean). Simply put, certificate courses carry the information at which level a certain course can or has to be taken to meet the current curriculum.
+Certificate courses have to more attributes: `level` (integer) and
+`mandatory` (boolean). Simply put, certificate courses carry the
+information at which level a certain course can or has to be taken
+to meet the current curriculum.
 
 No local role can be assigned at certificate course tree level.
