ELIS Class request and approval
ELIS Class Request
The ELIS Class Request block is designed to enable managers to request new training courses or new classes of existing courses from a central training organization with the general workflow below:
In the example above:
- A department decides they would like the training department or registrar to provide a new course that is not currently available to them.
- They then go to a configurable request form and fill in the fields the site administrator has setup - these can be standard fields or custom fields that the administrator has setup, for example units, dates and times, department, location, etc.
- The Training Department is notified that there is a new course request, and can approve or deny the request.
- If they approve, the class is created and the requesting user is set as the Class Manager.
- The Class then appears on the requesting user's list of classes they manage, and they can now enroll users in the class, etc.
The subsequent pages in this document explain each step in more detail.
Class Request Settings
To access the class request settings go to the Settings block > Site Administration > Plugins > Blocks > Class Request. That will open the following screen.
- If this is set to a role, then the person who requests a new course will be assigned this role on the Roles tab of the new course, if the course request is approved.
- If this is set to a role, then the person who requests a new class will be assigned this role on the Roles tab of the new class, if the class request is approved.
- If this is checked , then the new ELIS class will have a Moodle course created for it from the template course set in the ELIS Course settings *(if there is one).
- If this is checked the the request form shows Course fields from the ELIS course settings page and custom fields.
- If this is checked the request form shows Class fields from the ELIS class settings page and custom fields.
- If this is checked, when a new course is approved a class of that course will be created. If it is not set, then no class will be created when the course is approved.
- Select the Save changes button to save any changes made to the settings.
Assigning Roles
Site administrators will have full access to the class request capabilities. Other users that need class request capabilities should be assigned a role with one or more of the class request permissions allowed. There are three class request permissions, they're located in the Class Request section of the permissions listing.
- Approve class request - block/course_request:approve
- Configure class request form - block/course_request:config
- Request creation of new classes - block/course_request:request
Creating Roles
Note: this is a set of example roles for using the Class Request/Approval system - Remote-Learner can set up roles for you as part of your ELIS training session from Remote-Learner learning services. If you wish to have Class Request/Approval roles setup for you, please let us know.
The following 3 roles will be used to demonstrate how to setup and use Class Request/Approval. The first role, Site Manager, will be assigned to a user similar to an admin user, but with less permissions. The Site Manager will manage class approval and class creation.
The Request Manager and Class Manager roles will be used together, these roles will be used by the class requester. The combination of the two roles gives the user the necessary permissions and restrictions. This user is intended to have class request permissions at the site level, but only have access to manage classes that they requested and that were approved. That is why two roles are needed, one for site level access and one for class level access. The class requester will be assigned the Request Manager role at the site level, then when classes the user requested are approved the Site Manager will assign the requester the Class Manager role in approved classes.
If a role is assigned the class request and class approval permissions then users in that role will have their class request automatically approved when submitted.
Class requests can be filtered by ELIS components - for example a Request Manager might be given permission to request classes only from courses in programs she/he is assigned to. To utilize this feature, assign the Request Manager (or similar role) below at the ELIS Programs level instead of at the site level.
Site Manager
This role will be used to manage all class request and create classes. It is assigned at the system level. To create this role go to the Settings block > Site Administration > Users > Permissions > Define roles > then select the 'Add a new role' button at the bottom of the page.
The following image shows the beginning of the add a role page. I've added the role's name and shortname, and set the following permissions to allow for this role:
- Class Request
- Approve class requests
- Configure class request form
- Request creation of new classes
- ELIS Program
- Set all the ELIS program permissions to allow except the notifications and delete users permissions.
- Course Categories
- Manage categories
- See hidden categories
- Create courses
- Course
- View courses without participation
- View hidden courses
- View hidden sections
- Hide/show courses
- Assign roles to users - this permission allows this role to assign roles in new classes, e.g., a class manager
An additional setting must be enabled once this role is created. Select the Allow role assignments tab to open a page where this role can be given permission to assign selected roles.
Users assigned to this role can edit the class request page, approve/deny pending requests, and assign roles in the new classes.
To assign this role to a user at the site level go to the Administration block > Site Administration > Users > Permissions > Assign system roles.
The following image is showing the view the Site Manager role has of the Class Request block.
Request Manager
This role will be used to give the class requester access to the Class Request block. It is assigned at the system level. This role has one permission in the Class Request section, request creation of new classes.
The following image is showing the view the Request Manager role will have of the Class Request block. User's assigned to this role will be able to access the Class Request Page only. From the class request page users assigned this role will be able to request courses and classes.
Note: If a role has "Allow" set for both "Request Creation of New Classes" and "Approve Class Requests", then classes are created automatically when requested. This setting turns the Class Request block into a customizable Class Creation form.
Class Manager
This role will be used to give the Request Manager access to classes and permission to manage class enrollments. It is assigned to a user in classes that they requested and were approved. This role could be assigned at the site level also, giving the user access to manage all class enrollments. I've set the following two permissions to allow for this role:
- ELIS Program
- Manage class enrollments
- View classes
- Set this to allow if you want the Enrollment Manager to be able to enroll any user on the site
- Set this to allow (and don't set #1 to allow) to enable the Class Manager to only enroll users in the same organizational user set(s) as she/he is a member of.
- Set this to allow to enable the user to view classes - if you don't set "View classes" to allow for this role, then the user won't be able to see his/her classes in ELIS.
The following pages will demonstrate how these roles will be used with Class Request/Approval.
Class Request Edit Form
The Edit Request Page allows the user to add/delete custom course and class fields from the Create New Request form. In order to add custom course and class fields the settings must be enabled. To enable the settings go to the Site Administration block > Modules > Blocks > Class Request and select the checkboxes for "Use Course Fields" and "Use Class Fields".
Any user assigned a role with the permission for editing the class request page is able to edit the class request page by selecting the Edit Request Page link from the Class Request block. For this example I've logged in as a user assigned the Site Manager role at the system level.
Edit Request Page
The following image shows the Edit Request page.
- These are Course fields you have already added to the form (if you have turned off Course Field display in the settings, you won't see these on the form) - to change the value of an existing field, select a new value from the drop down menu and apply changes.
- If you want more course fields on the form, you can use this button to add another one.
- If you want to delete a custom field that has already been added to the form select the Delete button.
- These are Class fields you have already added to the form (if you have turned off Class Field display in the settings, you won't see these on the form).
- If you want more class fields on the form, you can use this button to add another one.
- Click "Apply changes" to update the form, "Revert changes" will reset the form back to where it was when you started.
If you see a blank drop down after adding a class or course field, that is because no custom Class or Course fields have been added to the site.
Adding Custom Class Fields
To add custom class fields you have to go to the Program Management block > Admin > Custom fields. Select the Class tab at the top of the page, then select the Create a new field button.
There must be a category on this screen for the Create a new field button to appear, because the new field must be assigned to a category. If there isn't a category there will be one extra step, create a category. Select the 'Create a new category' button, give the new category a name, then Save Changes.
The next two images show the create a new field screen. There are two required settings, the shortname and name.
This second image is showing the settings for this new field.
Notes for custom class fields:
- If you use text as the data type, and checkbox as the input control type, the custom field will be presented as a list or multi-select list if multivalued is selected.
- If you use "Boolean (Yes/No)" as the datatype, and checkbox as the input control type, the custom field will be presented as a checkbox.
Once I save changes, the custom field is added to the Class tab of the Custom Fields section.
The process is the same as for custom class fields, use the Course tab instead of the class tab.
Class Request Page
To access the Class Request Page select the link as shown in the following image. To view the Class Request Page link a user must have the following permission enabled in a role they are assigned, Request creation of new classes - block/course_request:request.
Class Request Block for a user with class request permissions only. For this example I've logged in as a user assigned the Request Manager role at the site level.
The Class Request Page has 4 functions:
- To show the current classes
- To create new class request for a new class of an existing course
- To request a complete new course/class
- To show the status of class and/or course requests.
Current Classes Tab
The following image shows the Current Classes screen that appears once the Class Request Page link is selected. This screen also has links to the Create New Request page and the Requests tab.
Create New Class or Course Request
From the Current tab, select the Create New Request button at the bottom of the page. The following screen will appear.
- Select "From New Course" to create a new course, or select an existing course from the drop down menu to request a new class of an existing course.
- Enter a Course Name to identify the course (these settings may be changed if the course is approved). If the user also had approve class request permission they would also see a Course ID Number field.
- These are custom course fields that have been added to the form. If using an existing course for the class request then the custom course fields will not be editable from this page.
- In this example, the user can edit custom class fields for the class request. If the user also had approve class request permission they would also see a Class Id Number field.
- By default, the user information for the current logged in user is entered in the User Information form. You can change this if you are requesting a class or course for a different user.
- Save changes to send the request for processing.
When a new class or course request is made, the Site Manager (or any user with permission to approve class requests) will be notified by Moodle message. If the site manager is offline, an email will be sent. The class/course request will also be displayed in the Requests tab of the class requester, shown below.
The class settings for the classes created through the class request process can be controlled by the Class Default Settings - To edit these settings go to the Program Management block > Admin > Default Class settings.
If a role is assigned the class request and class approval permissions then users in that role will have their class request automatically approved when submitted.
Class/Course Request Status
The Requests tab displays requested classes, request status, and request notices. When the site manager responds to requests this page will be updated and the class requester will receive a Moodle message with the information. If the user is offline they will receive an email.
Notices posted to the request by the site manager can be linked to by selecting the View link, shown in the right side of following image. Notices are also included in the messages.
Approving Pending Class Requests
The class approval screen is used to approve or deny classes. Any user in a role with class approval permission could access this page. For this example we will access the page with a user assigned the Site Manager role at the site level. Select the Approve Pending Requests link from the Class Request block to view pending requests.
The following screen is showing the Approve Pending Requests page. To respond to a request select the View Request link in the last column of the table as shown below.
The following page appears when the View Request link is selected.
- Enter a course id number for the new course.
- The class requester chooses the course name, the field can't be edited by the user deciding class approval or denial.
- The custom course fields can be edited.
- Enter a class id number.
- Use Template Course setting can only be used when creating a new class from an existing course, which we are not demonstrating here. This setting will create a new Moodle course using the Moodle template course specified in the existing ELIS course.
- The custom class fields can be edited.
- The user information for the class requester. This information can not be edited by the user approving or denying the request.
- Use the drop down menu to Approve or Deny the request.
- Enter comments for the class requester.
- Select the Save changes button to complete the approval or denial.
New class settings, e.g. the settings for classes created through the class request process can be controlled by the Class Default Settings - To edit these settings go to the Program Management block > Admin > Default Class settings.
This class will be created and the class requester will receive a Moodle message stating the class has been created. If the use is not logged in to the site they will receive an email message as well.
The class requester can also be automatically assigned to a role in the new class, in this case the requester will be assigned the Class Manager role created earlier in this documentation. To edit this setting go to the Administration block > Site Administration > Plugins > Blocks > Class Request > Class Instance Role.
Edit Classes and Assign Roles
Editing Custom Field Data:
Once you have approved a Course or Class request, you can edit the information the was entered by going to the Class or Course page, locate the new class/course.
Search for the new course in the courses page, click the edit (pencil) icon to edit the course information.
Assigning a Role in a New Class
To manually assign a user to a role in the newly created class:
- Go to the Manage Classes screen.
- Select the class link.
- Then select the Roles tab to add a user to a class role.
- On the Roles tab of the class, select the role you want to assign a user and that will link you to a page where you can select users.
The next image shows the Roles tab of the approved class when viewed by the site manager. The Site Manager role only has permission to manually assign one role, the Class Manager role.
To assign a role in a course manually you can use the same step in the Manage Courses area.
Also, in the class request settings, you can set a role to be automatically assigned to the requesting user when new courses/classes are created.
Filtering Class Requests
Courses available for class request can be limited to specific courses and programs by using role assignments. So a role that has the 'Request creation of new classes' capability allowed, can be assigned at course, program, and system levels.
For example, if a user has a role assignment with permission to request classes in an ELIS program, they can see all courses of that program, but not courses in a different program.
In the following example, a role has been created called "Request Manager". This role has permission to request new classes.
Next we can assign that role in a Program - here we will go into a program named "Management Certificate".
In the Roles tab for the program, select the Class Request Manager role.
Select a user - in this case Tom Callahan, and click the Assign roles button. This assigns the user to this role in the program.
Now if we login as this user, we can see the Class Request Page link in the Class Request block.
We can see this link because we have permission to request a class in an ELIS context (the Class Request block needs to be loaded on the site home page site or in a course).
When we click it, when logged in as the user in the role above, we'll see the class request page.
When clicking the "Create New Request" button, we can select only courses in the current program to request a class of or we can request a new course/class.
Since this program only has two courses, and the user has only been given this role in this program, they can see only the two courses to request a class of.