To create online exam ,
a) Go to Assignments->New assignment
b) Fill the form
1) Assignment name : - This is the name of Exam. Will be displayed to users .
2) Category : Select the category
3) After selecting category , right field will be binded with all available subjects
Select one or more subjects .
4) Select: "Exam" or "Survey" . "Exam" is the online exam , where you have Timer , correct answers , and total point . But Survey is the just array of questions . You can use "Survey" if you just want to collect data.
5) Show questions: You have 3 choises .
"All questions " = All questions in selected subjects will be displayed to user .
"Random variants" = If you select Random variants then you need to select count of Variants. If you select 4 , then 4 different Variants will be generated . A , B , D , E - each of them will contain different questions . You can bind this variant to users .
"Random for each user" = If you select this , then for each user will be generated different variants . They will have different questions from the selected subjects.
6) Calculate by : Point or Percent . ( Read more about this in "Point calculation" ) It's Highly Recomemmed to use Point based calculation
7) Select user groups . ( Read more about this in "User groups" ) . Once you have selected user group , the list of users will be binded to "User settings" tab.
8) Success point/percent : Enter success point or percentage .
9) Test time (in minutes) : Enter time in minutes . Enter "0" if you want to hide timer .
10) Now , open tab "Question Settings".
In this tab the list of all selected subjects will be displayed .
a) Max count = The maximum number of the questions that you have in database .
b) Qst count = This will be available only if you selected "random variants " or "random for each user" otherwise all questions will be selected from the database . Enter the number of questions that you want to select randomly from database .
If you have selected "Calculated total points by : Entered points " then you need to enter question point by difficult level . Otherwise it will use questions ' point or answers'point.
If you have selected "Calculate penalties : Entered penalty" then you need to enter question penalty point by difficult level . Otherwise it will use questions ' penalty point.
You can enter Point coefficent this is the coefficient for total point . If total point is 25 then it will be 50 if you enter Point coefficient : 2 ;
Priority for subject = If you enter 1 for english and 2 for Mathematics then the questions of English will be displayed first .
Now go to third tab and enter other details if needed .
1) Number of attempts : Enter the number which define how many times user can take this exam .
2) Questions order : This allows you to sort questions in random order .
3) Answers order : This allows you to sort answers in random order .
4) Send quiz results by mail : "Automatically" will send exam results by mail .
5) Send copy of all mails to : enter email address if you want all mails to be sent to your address also .
6) Auto assign to newly registered users : This allows newly registered users to take this exam.
7) Show results to user : This allows you to show exam results and total point just after exam .
8) Users can review correct answers : This allows you to show correct answer of each questions to users at the end of exam
9) Show success/unsuccess message after each question : This allows to show correct answers after each question.
10) Show point information after each question : This allows to show point just after each question .
11) Certificate : You can assign certificate , and user will be able to download certificate in PDF format just after exam.
12) Results template : Select template that will be displayed after exam.
In "Subject settings" tabe you can set Presentations and Succes point for each subject
Enter assignment cost if it's paid Exam
Click "Show into" checkbox, and enter the text that you want to be displayed before exam .
Click "Save" button .
What happens in backend ?
Just after you click "Save" button , assignment settings are inserting to "assignments" table .
If you have selected you questions from Question bank , the it creates a new Quiz and insert all selected questions into this Quiz . If you have selected Quiz then it copies this Quiz with all quesionts and link everything with "parent_id" . After that , it inserts to "quiz_id" column of assignment new created Quiz id .
Why do we need it ? Why don't we link the original quiz id to assignment ? Because, after creating exam , administrator can delete some question , and if we keep the original quiz_id then we will lost that question in exam , but wee need to keep it .
After it creats row in assignment table , if you have selected "Random questions " , then it creates random quizzes and inserts quiz_ids into the "variant_quizzes" table .
variant_id = linked to answer_variants table
asg_id = assignment_id of just inserted row
quiz_id = newly generated quiz id .
Then , it inserts all selected user id's into the "assignment_users" table
assignment_id = assignment_id of just inserted row
user_type = 1 - Local user, 2 imported user .
variant_id will be null if "All questions" selected