Note: You are currently viewing documentation for Moodle 3.11. Up-to-date documentation for the latest stable version of Moodle may be available here: Attendance activity.

Attendance activity: Difference between revisions

From MoodleDocs
(→‎See also: deleted module link - not part of standard moodle, but still wonderful code)
 
(36 intermediate revisions by 14 users not shown)
Line 1: Line 1:
There are two version of the '''attendance''' module: from [http://moodle.org/user/view.php?id=18237 Dmitry Pupinin] and from [http://human-logic.com/ Human Logic].
{{Infobox plugin
Both published in the Using Moodle [http://moodle.org/mod/forum/view.php?f=125 Attendance module forum].
|type = Activity module and optional block
|entry = https://moodle.org/plugins/browse.php?list=set&id=36
|tracker = https://github.com/danmarsden/moodle-mod_attendance/issues
|discussion = https://moodle.org/mod/forum/view.php?id=741
|maintainer = [[User:Dan Marsden|Dan Marsden]]
|float = right
}}


At this time Dmitry's version is more stable and useful.
==About the Attendance activity==


[http://moodle.org/mod/data/view.php?d=13&rid=1062 Download daily build of Dmitry's version]
The '''Attendance activity''' is designed for ''teachers to be able to take attendance'' during class, and for ''students to be able to view their own attendance record''.


==Installation by Moodle Administrator==
A teacher can mark the attendance status of a student as "Present", "Absent", "Late", or "Excused". These status descriptions are configurable, and more can be added. The teacher adds Attendance as an activity of a course, and then sets up the sessions for which attendance is to be tracked.


To install Dmitry's version of the attendance module, follow these directions (provided by [http://moodle.org/user/view.php?id=40637&course=5 Richard Webb] in [http://moodle.org/mod/forum/discuss.php?d=79134#p436449 this post]).  Installation can only be completed by a user having write access to the file structure on the computer hosting Moodle and with administration rights for your installation of Moodle.
The Attendance activity can generate reports for either the entire class or for individual students. Students may also see their own attendance record if the activity is not hidden.


===Language Files===
The optional Attendance block allows teachers quick access to the Attendance functionality, and allows students quick access to a summary report for their own attendance.


Moodle has a general language folder with subfolders for installed languages, and language files within these subfolders. This structure allows Moodle to efficiently work in an unlimited variety of languages with relative ease. Every block and module in Moodle has its own language strings that must be defined in a language file with a name specified by the block or module. "In the old days" (meaning prior to Moodle 1.9) the language files for each mod or block were copied into the appropriate subfolders in the <code>moodle/lang/</code> folder. This still works, but can be tedious and is not the preferred method anymore.
==Adding an Attendance activity==


Newer versions of Moodle (1.9 and up) allow you to keep the language files with the mods and blocks so they are self-contained and you don't have to do so much work with language files. Older versions of the Attendance module did not have all language files correctly placed resulting in tags that say <nowiki>[[attendance]]</nowiki>.  As of June 20, 2008, the problem has been resolved.  If you are having problems with the language files for the Attendance module, it is recommended that you download the latest version and replace your current installation as described below.
An Attendance activity can be added to a course in the same way as any other activity:


'''Additional Language Considerations'''
# Turn editing on
# Click 'Add an activity or resource'
# Select Attendance


You might consider editing the <code>block_attendance_for_v19/mod/attforblock/lang/en_utf8/attforblock.php</code> language file and replacing each occurrence of 'Attendances' with 'Attendance'. Some dictionaries  say that attendances is the plural form of attendance while others say there is no plural form.
Note that you may now add as many Attendance instances as you like, and that each instance may have multiple sections. Be sure to give the instance a name that indicates what it will be used for; for example, "Lecture Attendance". If you will be using groups in your course, set the Group mode accordingly, because even if groups exist in the course, you will not be able to use them within the Attendance activity if you select ''No groups''.


Note that the '''date format''' is controlled by the language file you install.  If you prefer Month/Day/Year format, for example, you will want to use the US_en language file found in the block folder.
Once you have added an attendance instance, you are ready to start taking attendance during classes.


You can easily edit the date format yourself, if you so desire.  These strings show the M/D/Y format.
== Setting Attendance categories and grading options==


$string['strftimedm'] = '%%m.%%d';
Now it is time to set your attendance options. Select your attendance activity and you will see a bar of tabs, the last of which is "Settings." Select "Status set" and you are presented with acronyms, attendance status descriptions, and grade (points) to assign. By default, the status descriptions are "Present", "Absent", "Late", and "Excused".
$string['strftimedmy'] = '%%m.%%d.%%Y';
$string['strftimedmyw'] = '%%m.%%d.%%y&nbsp;(%%a)';
$string['strftimeshortdate'] = '%%m.%%d.%%Y';


===Mod and Block Installation===
You may prefer to change the descriptions (for example, by changing "Late" to "Tardy"), change the way points are counted, or add new status descriptions. To do the latter, fill in the fifth line and click the ''Add'' button. Important: when you hit the ''Add'' button, any changes made to existing options that were made after the last time the ''Update'' button was used will be lost. Likewise, when you hit the ''Update'' button, any changes made to the ''Add'' after the last time the ''Add'' button was used will be lost.


If you look at your Moodle installation, you will see that among the many subfolders in the Moodle folder you have folders named <code>blocks/</code> and <code>mod/</code>, matching the two folders in the <code>block_attendance_for_v19/</code> folder. Installation is completed by copying the contents of the <code>block_attendance_for_v19/blocks/</code> folder into your <code>moodle/blocks/</code> folder (so you have a <code>moodle/blocks/attendance/</code> folder with all of the files and subfolders copied as well) and likewise copying the contents of the <code>block_attendance_for_v19/mod</code> folder into your <code>moodle/mod/</code> folder. On a Unix system, something like <code>/var/www/moodle19/blocks$ sudo cp -r ~/moodle-modules/attendance/blocks/* . </code> does the job and similar for the mod directory. Don't forget to <code>sudo chown -r <user>:<group> attendance</code> to the same parameters as the other block directories (do a <code>ls -l</code> to remind yourself).
Finally, when you are done changing items on this page, be sure to click the ''Update'' button to register the changes.


Once you have completed the installation, you need to log into Moodle as the administrator and go to the admin page.  This will set up the Attendance database structure.
== Adding sessions ==


==Using Attendance in a Class by a Teacher==
Next, it is time to add sessions. To add class sections, click the ''Add session'' tab (second from left) at the top of the Attendance page. Alternatively, you can click the ''Add'' button from the Attendance block (if you've installed it) to directly navigate to the page for adding sessions. If you chose "No groups", or have not defined groups, then the Session type will be forced to "Common." If you have defined groups and have chosen to use them in your course's Attendance activity, then you will have the option to create sessions for a group or all students.


===Adding Attendance Activity===
You have two options for adding sessions: adding a single session or adding multiple sessions. The single session is self-explanatory as well as time-consuming to use when you have many class sessions, so we will go straight to the more useful option.


After the attendance block and module have been properly installed, you (the teacher) must add attendance as an activity to each course you wish to keep attendance in. This is done by first ensuring that you are in the edit mode and then selecting, "Attendance" from the "Add an activity..." pull-down menu. Note that you may only add the attendance activity once per class and it may be located in any of the section blocks. Because attendance is for the entire course, it seems logical to put it in the top box (the one that always shows).
Check the ''Create multiple sessions'' button. Select the date and time for the first session you wish to add, followed by the duration of the session. Then, enter the date for the last session you wish to add. Since most classes do not meet seven days a week, select the checkboxes for days the class meets. The final option, frequency, may look confusing but it is actually straightforward: if your class meets every week, as is typical, then you want a frequency of 1 week, which is the default. If your class meets every other week, then select a frequency of 2 weeks, and so on. If you wish, you may type a description for the sessions you are creating. If you leave the description field blank, it will default to "Regular class session". Finally, click the ''Add multiple sessions'' button to create your sessions. You will see a message confirming this.
=== Adding Sessions in Bulk ===
The admin - and the admin only at this stage - is able to create sessions in bulk for several courses by uploading a CSV file. The option 'Import Sessions' is available in the 'Attendance settings' in Site administration. The standard headers are: ''course, groups, sessiondate, from, to, description, repeaton, repeatevery, repeatuntil, studentscanmark, passwordgrp, randompassword, subnet, automark, autoassignstatus, absenteereport, preventsharedip, preventsharediptime, calendarevent, includeqrcode, rotateqrcode''. However, the tool offers a mapping functionality in the next step so you can connect headers and Session options. Also, the date/time format depends on the selected language.


Once you have added the attendance activity, you are ready to start using the attendance module. However, the section link that was just added in the preceding paragraph is the "clunky way" to work with the attendance module. In fact, it is recommended that you simply hide that link! That way students won't see it cluttering up the section block where you placed it. Of course, we DO want students to be able to view their attendance records, just not with that link. There is a second, better, way to accomplish this. Select "Attendance" from the pull-down menu in the "Blocks" block. This will create a block with teacher options to take attendance, report on attendance, or change the attendance settings.  The same block will instead have an attendance report for students.
At the time of writing there are some known issues about ''repeaton'' functionality not working and Password not saving so use with care.


===Setting Attendance Categories and Grading Options===
== Editing sessions ==


Now it is time to set your attendance options. Select "Settings" from the attendance block. This brings you to the letters, descriptions, and grade (points) to assign for the four attendance options. By default these are Present, Absent, Late, and Excused. You may prefer to change the descriptions (e.g., change the word Late to Tardy), change the order, or change the way points are counted so make appropriate changes here to the names, order, and grades.  Be sure to click the "Update" button when you are done.
Click on the ''Attendance'' tab. <!-- Attendance tab of what page? --> Here, you will see the list of all attendance sessions you have added. You can delete an individual session by clicking the X on the session rectangle's right-hand side. Alternatively, you can check the checkboxes of each session you wish to delete, and then choose "Delete" from the drop-down menu at the bottom right-hand corner of the page to delete all the selected sessions.


===Adding Sessions===
You can edit a session &mdash; for example, to change its date or description &mdash; by clicking the hand icon on the session rectangle's right-hand side.


Next it is time to add sessions. Note that there is a restriction here. You can only have one session per day. Since you can only have one attendance activity installed (which means that you cannot have a lab attendance activity and a lecture attendance activity) and can only have one attendance session per day, if you have more than one class session per day you will have to be creative in taking attendance. And if you have more than seven class sessions for a single class in a week--then you are overworked!
== Taking attendance ==


To add class sections, click the "Add" tab (second from left) at the top of the page (if you left the attendance page, select any of the three links from the attendance block to return to the attendance page and gain access to the "Add" tab). You have two options here, to add a single session or to add multiple sessions. The single session is self-explanatory as well as time consuming to use when you have many class sessions so I will go straight the more useful option, how to add multiple sessions.  
Finally, we get to using the activity for its intended purpose. You can take attendance for a session by clicking on the green radio button on the session rectangle's right-hand side. Those sessions for which attendance has already been taken, do not have the green button. However, the description is a link that takes you to a screen for modifying the attendance record for that session.


Under the "Create multiple sessions" label choose the date for the first session you wish to add followed by the date for the last session you wish to add. Next select the days of the week on which the class meets. The final option, frequency, may look confusing but it is actually straight-forward. If your class meets every week (the normal situation) then you want a frequency of 1 week which is the default. If your class meets every other week, then you want a frequency of 2 weeks, and so on. When you click the "Add multiple sessions" button, your sessions will be created and you will see a message indicating this.
Note that when taking attendance, the column headings for attendance status are links. If you click one of these column headings, all students will have their status changed to the status you selected. Thus, if everyone is present, you can merely click the ''P'' column header to change everyone's status to "Present". If only one person is absent, you could first click ''P'' to set everyone's status to "Present", and then set the absent student's status to "Absent".


===Taking Attendance===
Enter remarks as appropriate &mdash; for example, the reason for an absence if known, or the number of minutes a student was late &mdash; and click the ''OK'' button to record the information.


Now head to the attendance tab. Here you see the list of all attendance sessions you have added. You can delete an individual session by clicking the X to the right of it. (Personal note, it sure would be nice if there was an option to select a few sessions and delete them all at once--I use the multiple sessions option to put my sessions in for the entire semester and then have to go and remove sessions for vacation days one at a time.) You can edit a session (change the date or add a description) with the standard hand icon to the right of the session, or you can take attendance for a session by clicking the green radio button to the right of the session. Sessions where attendance has already been taken do not have the green button, but instead the description is a link that takes you to the screen to modify the attendance record for that session.


You will note that when taking attendance the column headings for attendance state are links. If you click one of these column headings, all students will have their status changed to the status you selected. Thus, if everyone is absent (God forbid!), you merely click the '''A''' and it will change everyone's status to absent. If Little Johnny is the only student absent, you would logically click '''P''' to set everyone to present and then go down to Little Johnny and change his status to '''A'''. Enter remarks as appropriate (e.g., the reason for an absence if known or the minutes late if someone is tardy) and click OK to complete taking record.
=== Self-recording attendance ===


===Reports===
Students can also record their own attendance if you configure it in the settings. Each session is assigned a unique password, and you can display this password to students to allow them mark themselves as present.
<gallery>
SelfRecordingAttendance.png|Key icon to display password to students
</gallery>
In addition, you can display a QR code containing a URL that students can scan with a mobile device, which brings them directly to the page where they record their attendance, and fills in the password for them too. Then they only need to select the status "Present", and record their attendance. In this case, the remarks contain the text "Self-recorded".
<gallery>
PasswordQRCode.png|Display password and QR code to students
</gallery>


Finally, you have the reports. This is, again, obvious. One of my colleagues prefers to take record on paper and transfer it to Moodle. She suggested printing the monthly report before the start of the month and then taking record on this report. It has an added advantage because you have each student's picture with the record sheet. Of course, that is only useful for students who actually put photos of themselves in for their picture.
== Reports ==


A final note here. If you added the attendance block as recommended, you may wonder what it looks like for students. It is completely different--showing a summary of their attendance record and having a single link for them to view the details of their personal attendance. Another reason why I think the attendance block should always be added when you use the attendance module.
You can generate attendance reports on sessions:
* Select the Attendance activity of the course and session you're interested in.
* Click on the ''Export'' tab near the top.
* Change the export settings if you wish.
* From the ''Format'' pull-down menu, select the file format you'd like to export the attendance report in.
* Click on the ''OK'' button.
* Your browser will now probably ask you to either display or save the file.


==Give advice to developer==
One teacher's style of using the Attendance module, useful in those (probably frequent) situations where there's no access to Moodle in the classroom, is first to take attendance on paper, and then to transfer the information to Moodle later. To ease this task, one can print a monthly report before the start of the month and use the printout for recording attendance during class. This method has the added advantage of having a picture on the printed report for each student who has uploaded their photo to Moodle.  '''(as of 4 Aug. 2012, can't see this feature working)'''
Have idea about new features? You need something? Please write at [[Attendance module requests]] page!


==See also==
== FAQ ==
* [http://moodle.org/mod/forum/view.php?f=125 Attendance module forum]
Why do some use users appear in red and across all groups even though only one group is selected?
* [http://moodle.org/mod/data/view.php?d=13&rid=1062 Download Dmitry's version] of module
Check your temporary users. Usually such users are created either by design or accident as temporary users and may appear as described. If unwanted, just delete these temporary users and you shouldn't have this problem anymore.
* [[Attendance block]] page


[[Category:Contributed code]]
[[es:Actividad de asistencia]]
[[Category:Teacher]]
[[ja:出欠]]

Latest revision as of 10:28, 14 March 2021

About the Attendance activity

The Attendance activity is designed for teachers to be able to take attendance during class, and for students to be able to view their own attendance record.

A teacher can mark the attendance status of a student as "Present", "Absent", "Late", or "Excused". These status descriptions are configurable, and more can be added. The teacher adds Attendance as an activity of a course, and then sets up the sessions for which attendance is to be tracked.

The Attendance activity can generate reports for either the entire class or for individual students. Students may also see their own attendance record if the activity is not hidden.

The optional Attendance block allows teachers quick access to the Attendance functionality, and allows students quick access to a summary report for their own attendance.

Adding an Attendance activity

An Attendance activity can be added to a course in the same way as any other activity:

  1. Turn editing on
  2. Click 'Add an activity or resource'
  3. Select Attendance

Note that you may now add as many Attendance instances as you like, and that each instance may have multiple sections. Be sure to give the instance a name that indicates what it will be used for; for example, "Lecture Attendance". If you will be using groups in your course, set the Group mode accordingly, because even if groups exist in the course, you will not be able to use them within the Attendance activity if you select No groups.

Once you have added an attendance instance, you are ready to start taking attendance during classes.

Setting Attendance categories and grading options

Now it is time to set your attendance options. Select your attendance activity and you will see a bar of tabs, the last of which is "Settings." Select "Status set" and you are presented with acronyms, attendance status descriptions, and grade (points) to assign. By default, the status descriptions are "Present", "Absent", "Late", and "Excused".

You may prefer to change the descriptions (for example, by changing "Late" to "Tardy"), change the way points are counted, or add new status descriptions. To do the latter, fill in the fifth line and click the Add button. Important: when you hit the Add button, any changes made to existing options that were made after the last time the Update button was used will be lost. Likewise, when you hit the Update button, any changes made to the Add after the last time the Add button was used will be lost.

Finally, when you are done changing items on this page, be sure to click the Update button to register the changes.

Adding sessions

Next, it is time to add sessions. To add class sections, click the Add session tab (second from left) at the top of the Attendance page. Alternatively, you can click the Add button from the Attendance block (if you've installed it) to directly navigate to the page for adding sessions. If you chose "No groups", or have not defined groups, then the Session type will be forced to "Common." If you have defined groups and have chosen to use them in your course's Attendance activity, then you will have the option to create sessions for a group or all students.

You have two options for adding sessions: adding a single session or adding multiple sessions. The single session is self-explanatory as well as time-consuming to use when you have many class sessions, so we will go straight to the more useful option.

Check the Create multiple sessions button. Select the date and time for the first session you wish to add, followed by the duration of the session. Then, enter the date for the last session you wish to add. Since most classes do not meet seven days a week, select the checkboxes for days the class meets. The final option, frequency, may look confusing but it is actually straightforward: if your class meets every week, as is typical, then you want a frequency of 1 week, which is the default. If your class meets every other week, then select a frequency of 2 weeks, and so on. If you wish, you may type a description for the sessions you are creating. If you leave the description field blank, it will default to "Regular class session". Finally, click the Add multiple sessions button to create your sessions. You will see a message confirming this.

Adding Sessions in Bulk

The admin - and the admin only at this stage - is able to create sessions in bulk for several courses by uploading a CSV file. The option 'Import Sessions' is available in the 'Attendance settings' in Site administration. The standard headers are: course, groups, sessiondate, from, to, description, repeaton, repeatevery, repeatuntil, studentscanmark, passwordgrp, randompassword, subnet, automark, autoassignstatus, absenteereport, preventsharedip, preventsharediptime, calendarevent, includeqrcode, rotateqrcode. However, the tool offers a mapping functionality in the next step so you can connect headers and Session options. Also, the date/time format depends on the selected language.

At the time of writing there are some known issues about repeaton functionality not working and Password not saving so use with care.

Editing sessions

Click on the Attendance tab. Here, you will see the list of all attendance sessions you have added. You can delete an individual session by clicking the X on the session rectangle's right-hand side. Alternatively, you can check the checkboxes of each session you wish to delete, and then choose "Delete" from the drop-down menu at the bottom right-hand corner of the page to delete all the selected sessions.

You can edit a session — for example, to change its date or description — by clicking the hand icon on the session rectangle's right-hand side.

Taking attendance

Finally, we get to using the activity for its intended purpose. You can take attendance for a session by clicking on the green radio button on the session rectangle's right-hand side. Those sessions for which attendance has already been taken, do not have the green button. However, the description is a link that takes you to a screen for modifying the attendance record for that session.

Note that when taking attendance, the column headings for attendance status are links. If you click one of these column headings, all students will have their status changed to the status you selected. Thus, if everyone is present, you can merely click the P column header to change everyone's status to "Present". If only one person is absent, you could first click P to set everyone's status to "Present", and then set the absent student's status to "Absent".

Enter remarks as appropriate — for example, the reason for an absence if known, or the number of minutes a student was late — and click the OK button to record the information.


Self-recording attendance

Students can also record their own attendance if you configure it in the settings. Each session is assigned a unique password, and you can display this password to students to allow them mark themselves as present.

In addition, you can display a QR code containing a URL that students can scan with a mobile device, which brings them directly to the page where they record their attendance, and fills in the password for them too. Then they only need to select the status "Present", and record their attendance. In this case, the remarks contain the text "Self-recorded".

Reports

You can generate attendance reports on sessions:

  • Select the Attendance activity of the course and session you're interested in.
  • Click on the Export tab near the top.
  • Change the export settings if you wish.
  • From the Format pull-down menu, select the file format you'd like to export the attendance report in.
  • Click on the OK button.
  • Your browser will now probably ask you to either display or save the file.

One teacher's style of using the Attendance module, useful in those (probably frequent) situations where there's no access to Moodle in the classroom, is first to take attendance on paper, and then to transfer the information to Moodle later. To ease this task, one can print a monthly report before the start of the month and use the printout for recording attendance during class. This method has the added advantage of having a picture on the printed report for each student who has uploaded their photo to Moodle. (as of 4 Aug. 2012, can't see this feature working)

FAQ

Why do some use users appear in red and across all groups even though only one group is selected? Check your temporary users. Usually such users are created either by design or accident as temporary users and may appear as described. If unwanted, just delete these temporary users and you shouldn't have this problem anymore.