... On this page are sections "Technical Note:", which described how the LAMS concepts are implemented in the code. If you are reading this page to learn how to use LAMS then skip the technical notes as they may confuse matters. If you are reading this page to because you are making code changes to the user management module then you will need to read the techincal notes. h1. Course Management Usually in academic institutions, the curriculla is structure in the following way (exceptions according to the institution or type of intitutions may exist): Term (i.e. 2006) \|--> Semester (i.e. First Semester or Fall) \|--> Grade/Degree (i.e. Psychology) \|--> *Course Offering (Abnormal Psychology)* \|--> *Lecture* \|--> *Tutorials* The term, semester and degree give structure for organizing the academic activities. However, it is at the course and class level where actual learning/teaching occurs. Therefore it is from here that we will focus to create our User Management module. h2. Courses Courses correspond to Course offerings. That is University courses that students can enroll to take classes. For instance, if you are a student at a University, you might enroll in courses that are part of the degree you are pursuing. For instance, if you are a Biology student, you could enroll into the *"Microbiology"* course. Now say the Microbiology course has a weekly lecture and five tutorial classes each day of the week in which the tutors help the students with their weekly practical test/experiments, etc. Each student then attends the lecture and only one tutorial a week. Each student is allocated to only one tutorial class. *Microbiology* \|--> Weekly Lecture (by Professor Yoichi Takayama) \|--> Monday Tutorial \|--> Tuesday Tutorial \|--> Wednesday Tutorial \|--> Thursday Tutorial \|--> Friday Tutorial Course and Classes are the actual "units" where the teaching occurs and both of them are containers of people that have a [roles|User Roles] with these groups. _(See_ _[_Roles_|User Roles]_ _for further details)_ Users are created in LAMS first and are then assigned to particular courses and classes. If a user is a member of lecture or tutorial class, they are also a member of the course containing that class. h3. Course Statuses
|
... # Create a Course # Modify a Course Courses are only set by [system administrators|User Roles]. *Create a Course* # Add a Course Name, Course Code, Description and language&locale ({color:#ff0000}required{color}) # Check "Course Administrators can add new users" option (unchecked by default) # Check "Course Administrators can browse all users in the system" option (unchecked by default) # Check "Course Administrators can change status of course" option (unchecked by default) # Check "Course Administrators can create Guests accounts" ({color:#cc0000}_not to be implemented until 2.1_{color}) # Add Users to course (search one by one or bulk excel upload) # Assign roles to added users # _System creates a default content folder and a_ _lesson sequence_ _subfolder for this course (and adds permissions for all the users in it)_ Once a course is created its default status is Active. {panel:title=Technical Note} The default content folder name is the name of the course. In the default content folder is one subfolder, in which the sequences used for running a lesson are stored (the sequences are a copy of the original authored sequence and are created when a lesson is started). The default name of the sequence folder in English is "Lesson Sequence Folder". This name of this folder should be internationalised. {panel} *Modify Course* # Select a course to modify # Edit Course Name, Course code and/or Description, Locale # Edit Course Permissions (the three checkboxes mentioned above: Course Administrators can add new users, Course Administrators can browse all users in the system and Course Administrators can change status of course) _\[This can only be edited by the System Administrator\]_ # Edit Users (add/remove) # Edit Roles (for users in course) # Edit Course Status \\ \\ {panel:title=Technical Note} In LAMS, this is implemented as follows. * Institution: A single institution organisation exists, of type ROOT ORGANISATION. This is an internal organistion used to make coding easier. * Course: The Institution organisation has many Course organisations. Each Course organisation is of type COURSE ORGANISATION. * Lecture and Tutorial Classes: Each Course has one or more Lecture and Tutorial Classes, which are of type CLASS. {panel} h2. Classes Classes are created by [Course Admins|User Roles] and/or [Course Managers|User Roles] and/or [System Administrators|User Roles]. Course admins can create Classes by using the Course Management Tab in the [index page|Index page]. From there, Course admin can create and edit new classes. Note: people can overlap between classes e.g. there could be a one class that includes everyone from the course, and then four other classes that split the students into four non-overlapped groups. The lecturer could be made a member of all classes. _The course manager must belong to all classes. The course manager will be added to the staff group for all lessons, and hence will need to be in all the classes._ h3. Classes Use cases # Add a Class # Edit Class # Hide Class # Remove Class *Add a Class* # Add a Class Name, code, description and language and locale # Select/Add users into class and assign roles. Note: if the user is not already in the course, they should also be added to the course. *Edit Class* # Edit Class Name, code, description and language and locale # Edit users # Edit users roles in the class *Hide Class* # Select a class to hide # Confirm action *Remove class* # Select a class to remove # Check whether there's any lesson for that class # if not lesson in class then proceed to confirmation for deletion # if lesson exists tell the course admin that class cannot be removed h2. User Management We are planning to have pluggins for different authentication methods (LDAP, active directory, etc)... but we might not finish this for LAMS 2.0. Although we'll try. Below we describe the user management aspects for LAMS 2.0 standalone (that is LAMS with its own internal authentication). h3. LAMS Internal Authentication (standalone) \\ \\ h4. Adding Users to LAMS 2.0 System administrator add users to LAMS using the following use cases: * Simple web form interface * Bulk Create Users (provisioning) *Simple web form interface* Sysadmin create one user at a time. # Enter username, password, first name, last name (required) # Add email, external user identifier *Bulk Create Users* LAMS 2.0 provides a Excel spreadsheet for bulk creating users. The spreadsheet format is set by LAMS and it includes a field that have a coma separated h4. Editing Users data In order to select a student for editing the sysadmin can select: * Big picker (lists all users available \-one big massive list) * Picker searcher (provides a searching mechanism that searchs on external user_id, lastname, username, firstname) and then edit/update the user records using a simple edit user's info. This simple edit form updates the users' personal details as well as his/her courses and roles. h4. Allocating students into courses as System Administrators/Global Course Admins * Bulk allocation/removal of students Using a spreadsheet, sysadmins can add/remove students from courses. h4. Allocating students into classes (for Course Managers or Course Admins) When a course manager is creating a class (see above use case), he/she has a chose of methods to add people into a class: * Spreadsheet * Big picker (all the list of the people available in the course is displayed at once) * Searcher picker h3. Course Content Folders Each course has a course folder. In this folder is the learning designs for the course. Classes do not have a folder. \\ \\ h2. Lessons Lessons are instances of classes that a teacher or system administrator creates to run a tasks (formerly called lessons). \\ h2. Running A Lesson? How do all these roles and classes interact in a lesson? This is an example flow to illustrate how it works. We assume that there are separate staff for course administrators, author administrators, course managers and course administrators. These roles could be assigned to just one or two staff members if that is appropriate. The example assumes that all the lecturers for the course have author and monitor roles in the course, and the students have learner role. Before the course starts: * The course administrator sets up a course and put 100 students in the course, along with 2 lecturers and 3 tutors. Either the course administration or the course manager sets up 5 tutorial groups and these tutorial groups are created as "Tut Group A" through "Tut Group E", and assigns the students, lecturers and tutors to the tutorial groups. Running a learning design in a tutorial: * The author administrator creates some learning designs and saves the designs into the course. * One of the course tutors runs the "Add Lesson" wizard. He/she starts a new lesson and selects a learning design for the lesson. The learning design is copied and stored in the lesson sequence folder automatically, so that any changes made to the design during the lesson don't affect the original copy. * The tutor selects the "Tut Group A" as the class for the lesson. This brings up a list of all the people in "Tut Group A" and they all default to selected. There are two lists on the screen - staff (anyone with course manager or monitor roles) and learners (anyone with learner role). Any course managers (for this course) will be listed as selected but the checkbox disabled. The tutor cannot unselect any of the course managers - all course managers (for the course) must be made part of the staff list for this lesson. * One of the students in this class has broken a leg so won't be attending this week. So the tutor deselects this student. The list of selected people is saved against the lesson. The people in the staff list as saved as a staff list and the learners are saved in a learner list. * The tutor starts the lesson immediately and everyone in the lesson works through the sequence. The lesson will appear as a link on a user's index page if the user is in the learner list for this lesson, and will appear as a monitor button on the user's index page if the user is in the staff list for this lesson. One user can be both lists (staff and learner) in which case they will get a link and a button. Running a special one-off class: It is found that a special tutorial is needed to cover a particular issue in the course. It will have some students from all the regular tutorial groups and will be given by one of the lecturers. * The lecturer creates a learning design and saves it into the course. * The course manager or course administrator creates a new class "Special Tut Class" within the course. This new class has just a list of students who are known to be attending the special tutorial. It could also be set up to include everyone from the course. * The lecturer runs the "Add Lesson" wizard. He/she starts a new lesson and selects the learning design for the lesson. The learning design is copied as before. * The lecturer selects the "Special Tut Class" and sets up the staff and learner lists as needed. * The lecturer selects the schedule option ans sets the lesson to start at the same time as the special tutorial will be run. * Then when the special tutorial is held, the lesson will start automatically and the lecturer and students will participate in the lesson. ----
|