Attendance activity: Difference between revisions

From MoodleDocs
(partially updated the page to conform to v2.4.0 (beta) by Dmitry Pupinin and Artem Andreev)
(Replaced version 1.9 documentation with current version of documentation (from version 2.2))
Line 1: Line 1:
The '''Attendance''' module is designed for ''teachers to be able 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 descriptions are configurable.
==Function of the Attendance Module==


== General ==
This [[Module|module]] enables you to easily keep track of attendance with a few clicks.  You add Attendance as an activity and then set up the sessions to track.  Attendance will 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|Attendance block]] allows teachers quick control of attendance and students a summary report for their own attendance.


See the [http://moodle.org/mod/forum/view.php?id=741 Attendance module forum] for discussion and support on this module.
===History of Attendance plugin===


Currently (July 2012), there is a version 2.4.0 of this module available for Moodle v2.0, which is apparently still in beta. It can be downloaded as a zip file at [https://github.com/andreev-artem/moodle_mod_attforblock/zipball/MDL_20 https://github.com/andreev-artem/moodle_mod_attforblock/zipball/MDL_20] or downloaded via Git at [https://github.com/andreev-artem/moodle_mod_attforblock/tree/MDL_20 https://github.com/andreev-artem/moodle_mod_attforblock/tree/MDL_20], as reported in [http://moodle.org/mod/forum/discuss.php?d=181299 this post].
Attendance was originally a Moodle [[Block|block]] developed by Russell Jungwirth in the Fall of 2003.[http://moodle.org/mod/forum/discuss.php?d=2431] In the Fall of 2005, [http://moodle.org/user/view.php?id=18237 Dmitry Pupinin] picked up the reins and released version 1.0.2, his first version of the Attendance block.[http://moodle.org/mod/forum/discuss.php?d=33132#p158189] In May of 2007 Dmitry released a new version 2.0 suitable for Moodle 1.8. This release was a dramatic restructuring of code that resulted in a significant [[Module|module]] along with a small [[Block|block]].[http://moodle.org/mod/forum/discuss.php?d=71597] Dmitry continued to develop the Attendance module and block through 2010.  In the November of 2010, [http://moodle.org/user/profile.php?id=52322 Artem Andreev] updated the code to version 2.2[http://moodle.org/mod/forum/discuss.php?d=162960] to add common and group session options and some user interface improvements. [http://moodle.org/user/view.php?id=1281787&course=5 Luis Ramón López] wrote modifications that added the ability to create multiple attendance instances in a single course (e.g., one instance for laboratory activities and another instance for lecture periods)[http://moodle.org/mod/forum/discuss.php?d=162960#p724169] and version 2.3 was released in January of 2011. Immediately after the release of Attendance version 2.3, work began on porting Attendance to Moodle 2.x.  In July of 2011, Artem released Attendance version 2.4.0[http://moodle.org/mod/forum/discuss.php?d=181299], a rewrite of the code as a [[Module|module]] with optional [[Block|block]] only for use with Moodle 2.x.  In July of 2012, Artem released a new branch of version 2.4.0 updated to work with Moodle 2.3.


The README file of the module warns that it is compatible only with Moodle v2.0, but the present editor has installed it for Moodle v2.3, and preliminary testing indicates that it works.
===The latest version===
There are currently four branches available at http://github.com/andreev-artem/moodle_mod_attforblock for the Attendance [[Module|module]].  They are:
::[http://github.com/andreev-artem/moodle_mod_attforblock/tree/MDL_19 MDL_19] for Moodle 1.9
::[http://github.com/andreev-artem/moodle_mod_attforblock/tree/v2.3 v2.3]  for Moodle 1.9
::[http://github.com/andreev-artem/moodle_mod_attforblock/tree/MDL_20 MDL_20] for Moodle 2.0 - 2.2
::[http://github.com/andreev-artem/moodle_mod_attforblock/tree/MDL_23 MDL_23] for Moodle 2.3


Note: there is no Attendance module listed in the new [http://moodle.org/plugins Moodle Plugins page]. (There is a plugin called Attendance Register, but that's different.) If and when someone publishes the new Attendance module there, please also update this page.
The [[Attendance_block|Attendance block]] has a similar set of versions:
::[http://github.com/andreev-artem/moodle_blocks_attendance/tree/MDL_19 MDL_19] for Moodle 1.9
::[http://github.com/andreev-artem/moodle_blocks_attendance/tree/v2.3 v2.3]  for Moodle 1.9
::[http://github.com/andreev-artem/moodle_blocks_attendance/tree/MDL_20 MDL_20] for Moodle 2.0 - 2.3
 
Users should install the latest update of the Attendance module and optional block as linked in the table below.


== Installation ==
{| class="nicetable"
|-
! Moodle Version
! Module (attforblock)
! Block (attendance)
|-
| Moodle 1.9.x
| [http://github.com/andreev-artem/moodle_mod_attforblock/zipball/MDL_19 MDL_19 mod]
| [http://github.com/andreev-artem/moodle_blocks_attendance/zipball/MDL_19 MDL_19 block]
|-
| Moodle 2.0 - 2.2.x
| [http://github.com/andreev-artem/moodle_mod_attforblock/zipball/MDL_20 MDL_20 mod]
| [http://github.com/andreev-artem/moodle_blocks_attendance/zipball/MDL_20 MDL_20 block]
|-
| Moodle 2.3.x
| [http://github.com/andreev-artem/moodle_mod_attforblock/zipball/MDL_23 MDL_23 mod]
| [http://github.com/andreev-artem/moodle_blocks_attendance/zipball/MDL_20 MDL_20 block]
|}


First, read article [[Installing contributed modules or plugins]], if you haven't done so already.
==Installation by Moodle Administrator==


The installation can only be performed by a user who has (a) write access to the file structure on the computer hosting Moodle, and (b) administration rights for the Moodle installation.
To install Artem's version of the attendance module, follow these directions. 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.


* Log into the computer that hosts your Moodle installation.
===Download and Unzip Files===
* Download the zip file from  [https://github.com/andreev-artem/moodle_mod_attforblock/zipball/MDL_20 https://github.com/andreev-artem/moodle_mod_attforblock/zipball/MDL_20], and unpack it into an empty directory.
* Create the folder <code>&lt;path of your Moodle installation directory&gt;/mod/attforblock</code>.  (If you've installed Moodle in the standard location on a Linux system, that would be <code>/var/www/html/moodle/mod/attforblock</code>.)
* Copy the extracted files into the newly created folder. (On a Linux system, you'd use the command <code>sudo cp -r ~/andreev-artem-moodle_mod_attforblock-2e9d05a/* /var/www/html/moodle/mod/attforblock/</code>, assuming you'd extracted the ZIP files under your home directory and had installed Moodle in the standard location.)
* On Linux systems, make sure to change the owner and group of the copied files:
** Check the owner and group of the other files by commanding <code>ls -l /var/www/html/moodle</code>.
** Command <code>sudo chown -R &lt;user&gt;:&lt;group&gt; /var/www/html/moodle/mod/attforblock</code>, where <code>&lt;user&gt;</code> and <code>&lt;group&gt;</code> are the same as for the other files of the Moodle installation.
* In your browser, open the Moodle page, and log in as the administrator. You will be asked to complete the installation of the module. Click the "Update" button at the bottom. This will cause the Attendance database structure to be set up.


=== Language files ===
Download the latest zipball of the Attendance module using the link above and unzip the file.  When you unzip, you should have a folder with a name like '''<code>andreev-artem-moodle_mod_attforblock-175cd46</code>'''. This folder must be renamed '''<code>attforblock</code>'''. While optional, it is recommended that you likewise download the latest zipball of the Attendance block and, after unzipping, rename the folder '''<code>attendance</code>'''.


The ''language files'' for localizing the module are <code>.../attforblock/lang/&lt;language code&gt;/attforblock.php</code>.  In order to customize the strings, you can edit the language file(s) of the language(s) you're interested in. You can do it through Moodle itself when logged in as an administrator, via Site administration &gt; Language &gt; Language customization.
===Language Files===


Note that the '''date format''' is controlled by the language file you install. In the English language file (<code>.../attforblock/lang/en/attforblock.php</code>), the day.month.year format is used. If you prefer some other format, edit the following strings in the language file. (The US month.day.year format is used in this example.)
The language file used with the module is contained in the '''<code>attforblock/lang/[language pack]/attforblock.php</code>''' file where <code>[language pack]</code> is the Moodle indicator for the [[Language_packs|language pack]] you are using. If the language pack contains an underscore, for instance, "en_us" then the module will first check in the '''<code>attforblock/lang/en_us/attforblock.php</code>''' file for a phrase. If the phrase does not exist in that file, then it will check in the "parent language" file which in this example is '''<code>attforblock/lang/en/attforblock.php</code>'''. You may wish to edit the language files for localized preferences. For instance, you might consider replacing each occurrence of 'Attendances' with 'Attendance' since some dictionaries say that attendances is the plural form of attendance while others say there is no plural form.  Similarly, you may elect to change the spelling of enrolment to enrollment.


$string['strftimedm'] = '%%m.%%d';
Note that the '''date format''' is also controlled by the language file you installIf you prefer Month/Day/Year format, for example, you will want to edit the '''<code>attforblock/lang/en_us/attforblock.php</code>''' file to make the changes shown below as well.
$string['strftimedmy'] = '%%m.%%d.%%Y';
  $string['strftimedmyw'] = '%%m.%%d.%%y&nbsp;(%%a)';
$string['strftimeshortdate'] = '%%m.%%d.%%Y';


Another option for getting US dates is to use the <code>en_us</code> language file instead of <code>en</code>. The former defines the date-related strings as given above, but defers to the <code>en</code> language file for all other strings.
:$string['strftimedm'] = '%m/%d';
:$string['strftimedmy'] = '%m/%d/%Y';
:$string['strftimedmyw'] = '%m/%d/%y&nbsp;(%a)';
:$string['strftimeshortdate'] = '%m/%d/%Y';
:$string['strftimedmyhm'] = '%m/%d/%Y %H:%M'; // line added to allow multiple sessions in the same day


== Using module in a class by a teacher ==
===Mod Installation===


=== Adding an Attendance activity ===
If you look at your Moodle installation, you will see that among the many subfolders in the Moodle folder you have a folder named '''<code>mod/</code>'''. Installation is completed by copying the '''<code>attforblock</code>''' folder into your '''<code>moodle/mod/</code>''' folder. Don't forget to change ownership and read/write/execute privileges to the copied files to match the rest of your site.


After the attendance block and module have been properly installed, ''the teacher must add Attendance as an activity'' to each course they wish to keep attendance for. To do this:
===Block Installation===
* Ensure that you are in the edit mode.
* Display the main page of a course.
* Click on the "Add an activity or resource" link.
* Select the "Attendance" radio button in the dialog that now pops up, and then press "Add".
* Configure the Attendance activity.  '''TO DO: add details here'''


After this, the attendance module can be used.
If you are also installing the Attendance block, the installation for the block is very similar to that of the module.  Installation is completed by copying the '''<code>attendance</code>''' folder into your '''<code>moodle/blocks/</code>''' folder. Once again, don't forget to change ownership and read/write/execute privileges to the copied files to match the rest of your site.


'''TO DO: update the instructions from this point down to reflect the new version of Attendance'''
===Rebuilding Databases===


However, the section link that was just added in the preceding paragraph is the "clunky way" to work with the attendance module. 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 using the [[Attendance block]]. 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.
Once you have completed copying files and changing privileges, you need to log into Moodle as the administrator and go to the '''Site administration-->Notifications''' link. This will indicate that you have installed a new plugin and has a button to click for Moodle to update the database structure. Once you have updated the database structure, the Attendance module is ready for use.


=== Setting Attendance categories and grading options ===
==Using Attendance in a Class by a Teacher==


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.
===Adding an Attendance Activity Instance===


=== Adding sessions ===
After the attendance module has been properly installed, you (the teacher) must add attendance as an activity to each course you in which you wish to keep attendance. This is done by first ensuring that you are in the edit mode and then selecting, "Add an activity or resource" in a Moodle [[Course_sections|section]] box. Note that you may now add as many instances of the Attendance module 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 (e.g., "Lecture Attendance").  If you will be using groups in your course, set the Group mode accordingly (even if groups exist in the course, you will not be able to use them within the Attendance module if you select <code>No groups</code>).


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!
Once you have added an attendance instance, you are ready to start using the attendance module.


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.
===Adding Attendance Block to Course Page===


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.
Because it makes both the teacher's job and the students' access to information simpler, it is recommended that you install the associated [[Attendance_block|Attendance block]]. If you have done so, you also need to add the Attendance block to your course page.  This is accomplished by making sure that editing is turned on and then finding the block entitled, "Add a block." In the drop-down menu in this block, select '''Attendance''' and the block will be added.  As always, move the block to fit your viewing preference.


=== Taking attendance ===
===Setting Attendance Categories and Grading Options===


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.
Now it is time to set your attendance options. Select your attendance activity and you will have a bar of options, the last of which is "Settings." Select "Settings" and you are presented with acronyms, descriptions, and grade (points) to assign. 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 way points are counted, or add new options.  Be sure to click the "Update" button when you are done changing items on this page.  If you wish to add a fifth (or more) items, you may do so by filling in the fifth line and then clicking the "Add" button.  It is important to note that 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 hit will be lost.


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.
===Adding Sessions===


=== Reports ===
Next it is time to add sessions. To add class sections, click the "Add" tab (second from left) at the top of the attendance page. Alternatively, if you are using the Attendance block, you can click the '''Add''' button from the Attendance block 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 groups defined and chose to use them in the Attendance activity, then you will have the option to create sessions for a group or all students. You have two options for adding sessions: 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 to the more useful option, how to add multiple sessions.


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.
Check the "Create multiple sessions" button if you wish to create multiple sessions.  Select the date and time for the first session you wish to add followed by the duration of the session.  Next enter the date for the last session you wish to add. Since most classes do not meet seven days a week, select the days the class meets at this time. 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 select a frequency of 2 weeks, and so on. You may type a description for the sessions you are creating if you like.  If you leave this blank, it will default to "Regular class session" or something similar depending on your language pack. When you click the "Add multiple sessions" button, your sessions will be created and you will see a message indicating this.


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.
===Taking Attendance===


== The README file of the beta version ==
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. Alternatively, you can select the check box to the right of each session you wish to delete and choose "delete" from the pull-down menu at the bottom right-hand corner of the page to delete all of the sessions that you have selected. 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 that 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.
****** WARNING: THIS MODULE IS IN DEVELOPMENT. USE WITH CAUTION ******
*********************************************************************************************


--------
===Reports===
ABOUT
--------
This is version 2.4.x of the "Attendance" module (attforblock).  It is still IN
DEVELOPMENT and should not be considered a stable release unless otherwise
noted.


2.4.x release is compatible only with Moodle 2.0.
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.
 
The "Attendance" module is developed by
    Dmitry Pupinin, Novosibirsk, Russia,
    Artem Andreev, Taganrog, Russia.
 
This block may be distributed under the terms of the General Public License (see
http://www.gnu.org/licenses/gpl.txt for details)
 
-----------
PURPOSE
-----------
The attendance module and block are designed to allow instructors of a course
keep an attendance log of the students in their courses. The instructor will
setup the frequency of his classes (# of days per week & length of course) and
the attendance is ready for use. To take attendance, the instructor clicks on
the "Update Attendance" button and is presented with a list of all the students
in that course, along with 4 options: Present, Absent, Late & Excused, with a
Remarks textbox. Instructors can download the attendance for their course in
Excel format or text format.  Only the instructor can update the attendance
data. However, a student gets to see his attendance record.
 
----------------
INSTALLATION
----------------
The attendance follows standard installation procedures.  Place the
"attforblock" directory in your mod directory.  Then visit the Admin page in
Moodle to activate it.


== See also ==
==Give advice to developer==
Have an idea about new features? You need something? Please add your idea or vote for existing at [http://attendance.uservoice.com Attendance Module on UserVoice] page!


* [http://moodle.org/mod/forum/view.php?id=741 Attendance module forum]
==See also==
* [[Attendance block]]
* [http://moodle.org/mod/forum/view.php?f=125 Attendance module forum]
* [[Git for Administrators]]
* [[Attendance block]] page


[[Category:Contributed code]]
[[Category:Contributed code]]

Revision as of 16:51, 27 July 2012

Function of the Attendance Module

This module enables you to easily keep track of attendance with a few clicks. You add Attendance as an activity and then set up the sessions to track. Attendance will 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 control of attendance and students a summary report for their own attendance.

History of Attendance plugin

Attendance was originally a Moodle block developed by Russell Jungwirth in the Fall of 2003.[1] In the Fall of 2005, Dmitry Pupinin picked up the reins and released version 1.0.2, his first version of the Attendance block.[2] In May of 2007 Dmitry released a new version 2.0 suitable for Moodle 1.8. This release was a dramatic restructuring of code that resulted in a significant module along with a small block.[3] Dmitry continued to develop the Attendance module and block through 2010. In the November of 2010, Artem Andreev updated the code to version 2.2[4] to add common and group session options and some user interface improvements. Luis Ramón López wrote modifications that added the ability to create multiple attendance instances in a single course (e.g., one instance for laboratory activities and another instance for lecture periods)[5] and version 2.3 was released in January of 2011. Immediately after the release of Attendance version 2.3, work began on porting Attendance to Moodle 2.x. In July of 2011, Artem released Attendance version 2.4.0[6], a rewrite of the code as a module with optional block only for use with Moodle 2.x. In July of 2012, Artem released a new branch of version 2.4.0 updated to work with Moodle 2.3.

The latest version

There are currently four branches available at http://github.com/andreev-artem/moodle_mod_attforblock for the Attendance module. They are:

MDL_19 for Moodle 1.9
v2.3 for Moodle 1.9
MDL_20 for Moodle 2.0 - 2.2
MDL_23 for Moodle 2.3

The Attendance block has a similar set of versions:

MDL_19 for Moodle 1.9
v2.3 for Moodle 1.9
MDL_20 for Moodle 2.0 - 2.3

Users should install the latest update of the Attendance module and optional block as linked in the table below.

Moodle Version Module (attforblock) Block (attendance)
Moodle 1.9.x MDL_19 mod MDL_19 block
Moodle 2.0 - 2.2.x MDL_20 mod MDL_20 block
Moodle 2.3.x MDL_23 mod MDL_20 block

Installation by Moodle Administrator

To install Artem's version of the attendance module, follow these directions. 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.

Download and Unzip Files

Download the latest zipball of the Attendance module using the link above and unzip the file. When you unzip, you should have a folder with a name like andreev-artem-moodle_mod_attforblock-175cd46. This folder must be renamed attforblock. While optional, it is recommended that you likewise download the latest zipball of the Attendance block and, after unzipping, rename the folder attendance.

Language Files

The language file used with the module is contained in the attforblock/lang/[language pack]/attforblock.php file where [language pack] is the Moodle indicator for the language pack you are using. If the language pack contains an underscore, for instance, "en_us" then the module will first check in the attforblock/lang/en_us/attforblock.php file for a phrase. If the phrase does not exist in that file, then it will check in the "parent language" file which in this example is attforblock/lang/en/attforblock.php. You may wish to edit the language files for localized preferences. For instance, you might consider replacing each occurrence of 'Attendances' with 'Attendance' since some dictionaries say that attendances is the plural form of attendance while others say there is no plural form. Similarly, you may elect to change the spelling of enrolment to enrollment.

Note that the date format is also controlled by the language file you install. If you prefer Month/Day/Year format, for example, you will want to edit the attforblock/lang/en_us/attforblock.php file to make the changes shown below as well.

$string['strftimedm'] = '%m/%d';
$string['strftimedmy'] = '%m/%d/%Y';
$string['strftimedmyw'] = '%m/%d/%y (%a)';
$string['strftimeshortdate'] = '%m/%d/%Y';
$string['strftimedmyhm'] = '%m/%d/%Y %H:%M'; // line added to allow multiple sessions in the same day

Mod Installation

If you look at your Moodle installation, you will see that among the many subfolders in the Moodle folder you have a folder named mod/. Installation is completed by copying the attforblock folder into your moodle/mod/ folder. Don't forget to change ownership and read/write/execute privileges to the copied files to match the rest of your site.

Block Installation

If you are also installing the Attendance block, the installation for the block is very similar to that of the module. Installation is completed by copying the attendance folder into your moodle/blocks/ folder. Once again, don't forget to change ownership and read/write/execute privileges to the copied files to match the rest of your site.

Rebuilding Databases

Once you have completed copying files and changing privileges, you need to log into Moodle as the administrator and go to the Site administration-->Notifications link. This will indicate that you have installed a new plugin and has a button to click for Moodle to update the database structure. Once you have updated the database structure, the Attendance module is ready for use.

Using Attendance in a Class by a Teacher

Adding an Attendance Activity Instance

After the attendance module has been properly installed, you (the teacher) must add attendance as an activity to each course you in which you wish to keep attendance. This is done by first ensuring that you are in the edit mode and then selecting, "Add an activity or resource" in a Moodle section box. Note that you may now add as many instances of the Attendance module 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 (e.g., "Lecture Attendance"). If you will be using groups in your course, set the Group mode accordingly (even if groups exist in the course, you will not be able to use them within the Attendance module if you select No groups).

Once you have added an attendance instance, you are ready to start using the attendance module.

Adding Attendance Block to Course Page

Because it makes both the teacher's job and the students' access to information simpler, it is recommended that you install the associated Attendance block. If you have done so, you also need to add the Attendance block to your course page. This is accomplished by making sure that editing is turned on and then finding the block entitled, "Add a block." In the drop-down menu in this block, select Attendance and the block will be added. As always, move the block to fit your viewing preference.

Setting Attendance Categories and Grading Options

Now it is time to set your attendance options. Select your attendance activity and you will have a bar of options, the last of which is "Settings." Select "Settings" and you are presented with acronyms, descriptions, and grade (points) to assign. 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 way points are counted, or add new options. Be sure to click the "Update" button when you are done changing items on this page. If you wish to add a fifth (or more) items, you may do so by filling in the fifth line and then clicking the "Add" button. It is important to note that 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 hit will be lost.

Adding Sessions

Next it is time to add sessions. To add class sections, click the "Add" tab (second from left) at the top of the attendance page. Alternatively, if you are using the Attendance block, you can click the Add button from the Attendance block 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 groups defined and chose to use them in the Attendance activity, then you will have the option to create sessions for a group or all students. You have two options for adding sessions: 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 to the more useful option, how to add multiple sessions.

Check the "Create multiple sessions" button if you wish to create multiple sessions. Select the date and time for the first session you wish to add followed by the duration of the session. Next enter the date for the last session you wish to add. Since most classes do not meet seven days a week, select the days the class meets at this time. 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 select a frequency of 2 weeks, and so on. You may type a description for the sessions you are creating if you like. If you leave this blank, it will default to "Regular class session" or something similar depending on your language pack. When you click the "Add multiple sessions" button, your sessions will be created and you will see a message indicating this.

Taking Attendance

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. Alternatively, you can select the check box to the right of each session you wish to delete and choose "delete" from the pull-down menu at the bottom right-hand corner of the page to delete all of the sessions that you have selected. 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 that 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.

Reports

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.

Give advice to developer

Have an idea about new features? You need something? Please add your idea or vote for existing at Attendance Module on UserVoice page!

See also