.. _student_section: Student Section :sup:`in progress` ********************************** 'Student' is a multi-purpose term in Kofa which may lead to some misconceptions. First of all 'Student' is a Python/Grok container class and student objects are the instances of this class. Sometimes we are sluggish when talking about 'creating students' and actually mean: 'creating student container objects and storing the objects (persistently) in the ``students`` container'. The latter is the parent container for all students in the portal. The :ref:`treelike storage of objects ` in the student section can be figured as follows:: Student Section (StudentsContainer) | +---> Student | +---> StudentStudyCourse | | | +-----> StudentStudyLevel | | | +-----> CourseTicket | +---> StudentPaymentsContainer | | | +-----> StudentOnlinePayment | +---> StudentAccommodation | +-----> BedTicket .. note:: Throughout Kofa we distinguish singular and plural expressions. A students container contains students (or more precisely student containers), a payments container contains payments, a courses container contains courses, a certificates container contains certificates. Furthermore, a student is also a user of the portal and the student object is a user account surrogate, see :ref:`Applicants and Students `. In the following we always refer to the student container when talking about a student. Students ======== The `Student` class is a container class which means, there are not only attributes describing the student but also content. Each student container contains exactly three sub-containers: ``studycourse`` (instance of `StudentStudyCourse`), ``payments`` (instance of `StudentPaymentsContainer`) ``accommodation`` (instance of `StudentAccommodation`). The purposes of them are described further below. Let's talk about the attributes and methods belonging to the `Student` class, the so-called 'external behaviour' of student objects. The data stored with each student object are subdivided into three parts: base data, personal data and clearance data. Now comes the point where we have to briefly introduce Zope's (see :ref:`prerequisites`) concept of 'interfaces'. Student Study Courses ===================== Student Study Levels -------------------- Student Payments ================ Student Accommodation =====================