Attendance module: Różnice pomiędzy wersjami

Z MoodleDocs
Skocz do:nawigacja, szukaj
(Replaced version 1.9 documentation with current version of documentation (from version 2.2))
Nie podano opisu zmian
 
(Nie pokazano 15 wersji utworzonych przez 6 użytkowników)
Linia 1: Linia 1:
==Function of the Attendance Module==
{{Infobox plugin
|type = Activity module and optional block
|entry = https://moodle.org/plugins/browse.php?list=set&id=36
|tracker = https://tracker.moodle.org/browse/CONTRIB/component/10203
|discussion = https://moodle.org/mod/forum/view.php?id=741
|maintainer = [[User:Dan Marsden|Dan Marsden]]
|float = right
}}


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.
== Quick update, July 2013 ==


===History of Attendance plugin===
# [https://moodle.org/mod/forum/discuss.php?d=228684#p997183 Artem Andreev] is no longer working on this plugin, [https://moodle.org/mod/forum/discuss.php?d=228684#p1006980 Dan Marsden] is now maintaining the plugin.
# The old module was previously named 'attforblock' and has now been renamed to 'attendance'
# at this stage no restore code has been written to allow backup files with old style "attforblock" to be restored into the renamed module.
#See the [http://moodle.org/mod/forum/view.php?id=741 Attendance module forum] for discussion and support on this module.
#Location on GIT of the recent versions: [http://github.com/danmarsden/moodle-mod_attendance Attendance module], [http://github.com/danmarsden/moodle-block_attendance Attendance block]


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.
===Introduction===
The '''Attendance''' [[Module|module]] is designed for ''teachers to be able take attendance'' during class, and for ''students to be able to view their own attendance record''.


===The latest version===
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 whose attendance is to be tracked.
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


The [[Attendance_block|Attendance block]] has a similar set of versions:
The Attendance module 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.
::[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.


{| class="nicetable"
The optional [[Attendance_block|Attendance block]] allows teachers quick access to the Attendance functionality, and allows students quick access to a summary report for their own attendance. (A [[Block|block]] is a user interface element that can be added to Moodle screens.)
|-
! 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]
|}


==Installation by Moodle Administrator==
=== History ===


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.
Attendance was originally a Moodle [[Block|block]] developed by Russell Jungwirth in 2003 (see post [http://moodle.org/mod/forum/discuss.php?d=2431]). In 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 (see post [http://moodle.org/mod/forum/discuss.php?d=33132#p158189]). In May 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 (see post [http://moodle.org/mod/forum/discuss.php?d=71597]). Dmitry continued to develop the module and block through 2010.


===Download and Unzip Files===
In November 2010, [http://moodle.org/user/profile.php?id=52322 Artem Andreev] updated the code to version 2.2 (see post [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; for example, one instance for laboratory activities and another instance for lecture periods (see post [http://moodle.org/mod/forum/discuss.php?d=162960#p724169]). Version 2.3 was released in January 2011. <!-- What is this version about, then? Why is it given alongside another version in the table in section Branches below? -->


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>'''.
Immediately after the release of version 2.3, work began on porting the code to Moodle 2.x. In July 2011, Artem released Attendance version 2.4.0 (see post [http://moodle.org/mod/forum/discuss.php?d=181299]), a rewrite of the code as a [[Module|module]] with an optional [[Block|block]] for use with Moodle 2.x only. In July 2012, Artem released a new branch of version 2.4.0 updated to work with Moodle 2.3.


===Language Files===
In July 2013 Dan Marsden took over maintenance of the plugin and renamed the "attforblock" module to "attendance"


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.
There is another unrelated attendance plugin in the plugins database: https://moodle.org/plugins/view.php?plugin=mod_attendanceregister


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 '''<code>attforblock/lang/en_us/attforblock.php</code>'''  file to make the changes shown below as well.
== Latest Branches ==


:$string['strftimedm'] = '%m/%d';
This is the latest code available for 2.4 and higher and uses the renamed module now called "attendance" - for information on the older "attforblock" module see the "OLD branches" details below.
:$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


===Mod Installation===
{| class="wikitable"
|-
! Moodle version
! the module
! the block
|-
| Moodle v2.4/2.5
| [https://github.com/danmarsden/moodle-mod_attendance/archive/master.zip Moodle24/25]
| [http://github.com/danmarsden/moodle-block_attendance/zipball/master Moodle24/25 block]
|}
=== For developers ===


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.
The current version of the Attendance block and the Attendance module are hosted on Dan Marsden's github site.


===Block Installation===
{| class="wikitable"
|-
! Moodle version
! Module
! Block
|-
| Moodle 2.4/2.5
| [https://github.com/danmarsden/moodle-mod_attendance/tree/master https://github.com/danmarsden/moodle-mod_attendance/tree/master]
| [http://github.com/danmarsden/moodle-block_attendance/tree/master http://github.com/danmarsden/moodle-block_attendance/tree/master]
|}


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.
== OLD Branches ==


===Rebuilding Databases===
There are currently four branches of the older attforblock Attendance code available at http://github.com/danmarsden/moodle_mod_attforblock_old for the Attendance module,


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''' linkThis 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.
{| class="wikitable"
|-
! Moodle version
! the module (attforblock)
! the block (attendance)
|-
| Moodle v1.9
| [http://github.com/danmarsden/moodle_mod_attforblock_old/zipball/MDL_19 MDL_19 mod]
| [http://github.com/danmarsden/moodle-block_attendance/zipball/MDL_19 MDL_19 block]
|-
| Moodle v1.9 (v2.3 of Attendance)
| [http://github.com/danmarsden/moodle_mod_attforblock_old/tree/v2.3 v2.3]
| [http://github.com/danmarsden/moodle-block_attendance/tree/v2.3 v2.3]
|-
  | Moodle v2.0 to v2.2
| [http://github.com/danmarsden/moodle_mod_attforblock_old/zipball/MDL_20 MDL_20 mod]
| [http://github.com/danmarsden/moodle-block_attendance/zipball/MDL_20 MDL_20 block]
|-
| Moodle v2.3
| [http://github.com/danmarsden/moodle_mod_attforblock_old/zipball/MDL_23 MDL_23 mod]
| [http://github.com/danmarsden/moodle-block_attendance/zipball/MDL_20 MDL_20 block]
|-
| Moodle v2.4
| [https://github.com/danmarsden/moodle_mod_attforblock_old/archive/MDL_24.zip MDL_24 mod]
| [http://github.com/danmarsden/moodle-block_attendance/zipball/MDL_20 MDL_20 block]
|}


==Using Attendance in a Class by a Teacher==
=== For developers (old attforblock code)===


===Adding an Attendance Activity Instance===
The four branches of the '''Attendance module''' are available at:


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>).
{| class="wikitable"
|-
! Moodle version
! the github branch
|-
| Moodle 1.9
| [http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_19 http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_19]
|-
| Moodle 1.9 (v2.3 of Attendance)
| [http://github.com/danmarsden/moodle_mod_attforblock_old/tree/v2.3 http://github.com/danmarsden/moodle_mod_attforblock_old/tree/v2.3]
|-
| Moodle 2.0 to 2.2
| [http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_20 http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_20]
|-
| Moodle 2.3
| [http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_23 http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_23]
|-
| Moodle 2.4
  | [https://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_24 https://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_24]
|}


Once you have added an attendance instance, you are ready to start using the attendance module.
The three branches of the '''Attendance block''' are available at:


===Adding Attendance Block to Course Page===
{| class="wikitable"
|-
! Moodle version
! the github branch
|-
| Moodle 1.9
| [http://github.com/danmarsden/moodle-block_attendance/tree/MDL_19 http://github.com/danmarsden/moodle-block_attendance/tree/MDL_19]
|-
| Moodle 1.9 (v2.3 of Attendance)
| [http://github.com/danmarsden/moodle-block_attendance/tree/v2.3 http://github.com/danmarsden/moodle-block_attendance/tree/v2.3]
|-
| Moodle 2.0 to 2.3
| [http://github.com/danmarsden/moodle-block_attendance/tree/MDL_20 http://github.com/danmarsden/moodle-block_attendance/tree/MDL_20]
|}


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.
== Upgrade from mod_attforblock to new mod_attendance ==
The new attendance module renames the attforblock module to attendance - when this module was first created you couldn't have a Module with the same name as a block - newer versions of Moodle allow this and in preparation for inclusion in the moodle.org plugins database we renamed "attforblock" to "attendance" - we have included some code to convert your old "attforblock" database entries to use the new "attendance" format.
# make sure you are running the latest attforblock code - the new attendance module will only allow upgrades from attforblock version 2012120700
# Download the new attendance module and install it in the usual place (in a folder called mod/attendance)
# remove the old "mod/attforblock" folder from your site (don't use the uninstall function in the admin menu unless you don't need to keep previously created attendance modules in your courses)
# Trigger the normal upgrade process by visiting admin > notifications and it will migrate the data from your old attforblock module to the newly named "attendance" module


===Setting Attendance Categories and Grading Options===
=== Upgrade info for Developers/Admins ===
The rename of the module only changes one of the database table names - attforblock to attendance, all the other tables are already prefixed with 'attendance' so these aren't changed. The Moodle install process hits install.xml first which is a problem as it will fail as some of the tables listed in install.xml already exist. To work around this we abuse the mod/attendance/version.php file a bit. This file is included first when checking for upgrades so we do a check there to see if data from the old mod_attforblock still exists - it it does it renames the old 'attforblock' table to 'attendance' amd updates the record in the modules to rename it from 'attforblock' to 'attendance' - it also checks to make sure the old 'attforblock' directory has been deleted and will only upgrade from attforblock versions higher than 2012120700 - it's possible this could be improved, pull requests are welcome. After the upgrade has completed you may want to remove the upgrade code from version.php as it will result in an extra few db queries every time the version.php files are loaded to avoid the small unnecessary performance impact that the code causes.


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.
== Installation ==


===Adding Sessions===
First, make sure you're familiar with page [[Installing contributed modules or plugins]].


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.  
The installation can only be performed by a user who has both write access to the file structure on the computer hosting Moodle and administrator rights for the Moodle installation.


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.
=== The module ===


===Taking Attendance===
* Log into the computer that hosts your Moodle installation.
* Download the Attendance ''module'' zip file appropriate for your Moodle version, as linked to from the table in section "Branches" above, and unzip it.
* This should result in a directory with a name like '''<code>andreev-artem-moodle_mod_attforblock-175cd46</code>'''. Rename it to '''<code>attforblock</code>'''.
* Move the downloaded, unzipped, and renamed directory '''<code>attforblock</code>''' to ''your Moodle installation directory'''''<code>/mod</code>''', resulting in directory ''your Moodle installation directory'''''<code>/mod/attforblock</code>'''.
** On a Linux system, assuming you've installed Moodle in the standard location, that directory should be '''<code>/var/www/html/moodle/mod/attforblock</code>'''.
** Note: if you are upgrading from an earlier version of the module, first delete the old version by opening the Moodle page in your browser, logging in as an administrator, going to ''Settings &gt; Site administration &gt; Plugins &gt; Activity Modules &gt; Manage Activities'', then pressing the ''delete'' link next to the name "attforblock".
* Change the ownership and read/write/execute privileges of the directory's files to match the rest of your Moodle installation's files.
** On a Linux system, you can do this in the following way:
*** Check the owner and group of the other files by commanding '''<code>ls -l /var/www/html/moodle</code>'''.
*** Command '''<code>sudo chown -R</code>'' '''user'''''<code>:</code>'''''group'' '''<code>/var/www/html/moodle/mod/attforblock</code>''', where ''user'' and ''group'' are the same as for the other files of the Moodle installation.


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.
=== The block (optional) ===


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.
* Download the Attendance ''block'' zip file appropriate for your Moodle version, as given in the table in section "Branches" above, and unzip it.
* This should result in a directory with a name like '''<code>andreev-artem-moodle_mod_attforblock-175cd46</code>'''. Rename it to '''<code>attendance</code>'''.
* Move the downloaded, unzipped, and renamed directory '''<code>attendance</code>''' to ''your Moodle installation directory'''''<code>/blocks</code>''', resulting in directory ''your Moodle installation directory'''''<code>/blocks/attendance</code>'''. (If you already have such a directory when starting the installation, delete it first, or rather, rename it to keep it around for safety.)
* As with the module, change the ownership and read/write/execute privileges of the directory's files to match the rest of your Moodle installation's files.


===Reports===
=== Completing the installation ===


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.
* In your browser, open the Moodle page, and log in as the administrator. You will be asked to complete the installation of the module (and the block, too, if you followed the instructions above for installing it). If you don't see a notification to this effect immediately, go to ''Settings &gt; Site administration &gt; Notifications''. You should now see a screen that indicates that you have installed a new plugin, and has an ''Update'' button. Click that button, and Moodle updates its database structure to complete the installation. After this, the Attendance module is ready for use.


==Give advice to developer==
=== Language files ===
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!


==See also==
The ''language files'' for localizing the module are '''<code>.../attforblock/lang/</code>'''''language code'''''<code>/attforblock.php</code>'''. In order to customize the strings, you can
* [http://moodle.org/mod/forum/view.php?f=125 Attendance module forum]
* either edit the language file(s) of the language(s) you're interested in, or
* [[Attendance block]] page
* edit the string definitions through Moodle itself when logged in as an administrator, via ''Settings &gt; Site administration &gt; Language &gt; Language customization''. '''(Note: this method doesn't seem to work as of 4 Aug. 2012)'''
 
Note that the '''date format''' is controlled by the language file you install. As an example, assume that you're using the '''<code>en_us</code>''' language file, which defines the date format as m.d.y.  In order to change the format to m/d/y, you could use the first method mentioned above, and edit the language definition file '''<code>.../attforblock/lang/en_us/attforblock.php</code>''' and change the string definitions into this:
 
$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
 
Another example: if you're using the '''<code>en</code>''' language file, and want to change the sting "Late" to "Tardy", you could use the second method mentioned above, namely: '''(Note: this method doesn't seem to work as of 4 Aug. 2012)'''
* log in as an administrator;
* click ''Settings &gt; Site administration &gt; Language &gt; Language customization'';
* choose "English (en)" from the pull-down menu, which is shown if more than one language pack has been installed;
* click on the ''Open language pack for editing'' button;
* after the language pack has been loaded, click on the ''Continue'' button;
* in the "Filter strings" screen's component list, scroll down to the bolded "mod" heading, and then click on the "attforblock.php" line under it;
** (note: you could also reduce the number of strings shown, for example by writing "Late" in the "Only strings containing" filter input line)
* click on the ''Show strings'' button;
* scroll down until you find the string ''Lfull'', whose definition is "Late";
* write "Tardy" in the edit box to the right;
* (you might also want to change the definition of the string ''Lacronym'' from "L" to "T";)
* click on the ''Save changes to the language pack'' button on the bottom of the screen; and
* in the confirmation screen, click on the ''Continue'' button.
 
== Teacher's usage instructions ==
 
=== Adding an Attendance Activity instance ===
 
After the attendance module has been properly installed, the teacher must add Attendance as an activity to each course they wish to keep attendance for. 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; 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 module if you select ''No groups''.
 
Once you have added an attendance instance, you are ready to start taking attendance during classes.
 
=== Adding an Attendance block to a course page ===
 
For a shortcut to attendance information for both teachers and students, it is recommended that you install the associated [[Attendance_block|Attendance block]] (see the installation instructions above). If you have done so, you also need to add the Attendance block to your course page, like this:
 
* Turn editing on.
* Find the block entitled "Add a block."
* In the drop-down menu in this block, select ''Attendance'' to add the Attendance block.
* 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 see a bar of options, the last of which is "Settings." Select "Settings" 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 hit 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'' 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.
 
=== Editing sessions ===
 
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 pull-down menu at the bottom right-hand corner of the page to delete all the selected 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.
 
=== Taking attendance ===
 
Finally, we get to using the module 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 whose 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 &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.
 
=== 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 to first 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)'''
 
== Discuss the module ==
 
If you have an idea about new features, or need support on using the module, participate in the discussion on the [http://moodle.org/mod/forum/view.php?f=125 Attendance module forum].
 
== See also ==
 
* [[Git for Administrators]]


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


[[ja:出欠]]
[[ja:出欠]]

Aktualna wersja na dzień 15:37, 10 lis 2013

Attendance module
Type Activity module and optional block
Set N/A
Downloads https://moodle.org/plugins/browse.php?list=set&id=36
Issues https://tracker.moodle.org/browse/CONTRIB/component/10203
Discussion https://moodle.org/mod/forum/view.php?id=741
Maintainer(s) Dan Marsden

Quick update, July 2013

  1. Artem Andreev is no longer working on this plugin, Dan Marsden is now maintaining the plugin.
  2. The old module was previously named 'attforblock' and has now been renamed to 'attendance'
  3. at this stage no restore code has been written to allow backup files with old style "attforblock" to be restored into the renamed module.
  4. See the Attendance module forum for discussion and support on this module.
  5. Location on GIT of the recent versions: Attendance module, Attendance block

Introduction

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 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 whose attendance is to be tracked.

The Attendance module 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. (A block is a user interface element that can be added to Moodle screens.)

History

Attendance was originally a Moodle block developed by Russell Jungwirth in 2003 (see post [1]). In 2005, Dmitry Pupinin picked up the reins and released version 1.0.2, his first version of the Attendance block (see post [2]). In May 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 (see post [3]). Dmitry continued to develop the module and block through 2010.

In November 2010, Artem Andreev updated the code to version 2.2 (see post [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; for example, one instance for laboratory activities and another instance for lecture periods (see post [5]). Version 2.3 was released in January 2011.

Immediately after the release of version 2.3, work began on porting the code to Moodle 2.x. In July 2011, Artem released Attendance version 2.4.0 (see post [6]), a rewrite of the code as a module with an optional block for use with Moodle 2.x only. In July 2012, Artem released a new branch of version 2.4.0 updated to work with Moodle 2.3.

In July 2013 Dan Marsden took over maintenance of the plugin and renamed the "attforblock" module to "attendance"

There is another unrelated attendance plugin in the plugins database: https://moodle.org/plugins/view.php?plugin=mod_attendanceregister

Latest Branches

This is the latest code available for 2.4 and higher and uses the renamed module now called "attendance" - for information on the older "attforblock" module see the "OLD branches" details below.

Moodle version the module the block
Moodle v2.4/2.5 Moodle24/25 Moodle24/25 block

For developers

The current version of the Attendance block and the Attendance module are hosted on Dan Marsden's github site.

Moodle version Module Block
Moodle 2.4/2.5 https://github.com/danmarsden/moodle-mod_attendance/tree/master http://github.com/danmarsden/moodle-block_attendance/tree/master

OLD Branches

There are currently four branches of the older attforblock Attendance code available at http://github.com/danmarsden/moodle_mod_attforblock_old for the Attendance module,

Moodle version the module (attforblock) the block (attendance)
Moodle v1.9 MDL_19 mod MDL_19 block
Moodle v1.9 (v2.3 of Attendance) v2.3 v2.3
Moodle v2.0 to v2.2 MDL_20 mod MDL_20 block
Moodle v2.3 MDL_23 mod MDL_20 block
Moodle v2.4 MDL_24 mod MDL_20 block

For developers (old attforblock code)

The four branches of the Attendance module are available at:

Moodle version the github branch
Moodle 1.9 http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_19
Moodle 1.9 (v2.3 of Attendance) http://github.com/danmarsden/moodle_mod_attforblock_old/tree/v2.3
Moodle 2.0 to 2.2 http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_20
Moodle 2.3 http://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_23
Moodle 2.4 https://github.com/danmarsden/moodle_mod_attforblock_old/tree/MDL_24

The three branches of the Attendance block are available at:

Moodle version the github branch
Moodle 1.9 http://github.com/danmarsden/moodle-block_attendance/tree/MDL_19
Moodle 1.9 (v2.3 of Attendance) http://github.com/danmarsden/moodle-block_attendance/tree/v2.3
Moodle 2.0 to 2.3 http://github.com/danmarsden/moodle-block_attendance/tree/MDL_20

Upgrade from mod_attforblock to new mod_attendance

The new attendance module renames the attforblock module to attendance - when this module was first created you couldn't have a Module with the same name as a block - newer versions of Moodle allow this and in preparation for inclusion in the moodle.org plugins database we renamed "attforblock" to "attendance" - we have included some code to convert your old "attforblock" database entries to use the new "attendance" format.

  1. make sure you are running the latest attforblock code - the new attendance module will only allow upgrades from attforblock version 2012120700
  2. Download the new attendance module and install it in the usual place (in a folder called mod/attendance)
  3. remove the old "mod/attforblock" folder from your site (don't use the uninstall function in the admin menu unless you don't need to keep previously created attendance modules in your courses)
  4. Trigger the normal upgrade process by visiting admin > notifications and it will migrate the data from your old attforblock module to the newly named "attendance" module

Upgrade info for Developers/Admins

The rename of the module only changes one of the database table names - attforblock to attendance, all the other tables are already prefixed with 'attendance' so these aren't changed. The Moodle install process hits install.xml first which is a problem as it will fail as some of the tables listed in install.xml already exist. To work around this we abuse the mod/attendance/version.php file a bit. This file is included first when checking for upgrades so we do a check there to see if data from the old mod_attforblock still exists - it it does it renames the old 'attforblock' table to 'attendance' amd updates the record in the modules to rename it from 'attforblock' to 'attendance' - it also checks to make sure the old 'attforblock' directory has been deleted and will only upgrade from attforblock versions higher than 2012120700 - it's possible this could be improved, pull requests are welcome. After the upgrade has completed you may want to remove the upgrade code from version.php as it will result in an extra few db queries every time the version.php files are loaded to avoid the small unnecessary performance impact that the code causes.

Installation

First, make sure you're familiar with page Installing contributed modules or plugins.

The installation can only be performed by a user who has both write access to the file structure on the computer hosting Moodle and administrator rights for the Moodle installation.

The module

  • Log into the computer that hosts your Moodle installation.
  • Download the Attendance module zip file appropriate for your Moodle version, as linked to from the table in section "Branches" above, and unzip it.
  • This should result in a directory with a name like andreev-artem-moodle_mod_attforblock-175cd46. Rename it to attforblock.
  • Move the downloaded, unzipped, and renamed directory attforblock to your Moodle installation directory/mod, resulting in directory your Moodle installation directory/mod/attforblock.
    • On a Linux system, assuming you've installed Moodle in the standard location, that directory should be /var/www/html/moodle/mod/attforblock.
    • Note: if you are upgrading from an earlier version of the module, first delete the old version by opening the Moodle page in your browser, logging in as an administrator, going to Settings > Site administration > Plugins > Activity Modules > Manage Activities, then pressing the delete link next to the name "attforblock".
  • Change the ownership and read/write/execute privileges of the directory's files to match the rest of your Moodle installation's files.
    • On a Linux system, you can do this in the following way:
      • Check the owner and group of the other files by commanding ls -l /var/www/html/moodle.
      • Command sudo chown -R user:group /var/www/html/moodle/mod/attforblock, where user and group are the same as for the other files of the Moodle installation.

The block (optional)

  • Download the Attendance block zip file appropriate for your Moodle version, as given in the table in section "Branches" above, and unzip it.
  • This should result in a directory with a name like andreev-artem-moodle_mod_attforblock-175cd46. Rename it to attendance.
  • Move the downloaded, unzipped, and renamed directory attendance to your Moodle installation directory/blocks, resulting in directory your Moodle installation directory/blocks/attendance. (If you already have such a directory when starting the installation, delete it first, or rather, rename it to keep it around for safety.)
  • As with the module, change the ownership and read/write/execute privileges of the directory's files to match the rest of your Moodle installation's files.

Completing the 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 (and the block, too, if you followed the instructions above for installing it). If you don't see a notification to this effect immediately, go to Settings > Site administration > Notifications. You should now see a screen that indicates that you have installed a new plugin, and has an Update button. Click that button, and Moodle updates its database structure to complete the installation. After this, the Attendance module is ready for use.

Language files

The language files for localizing the module are .../attforblock/lang/language code/attforblock.php. In order to customize the strings, you can

  • either edit the language file(s) of the language(s) you're interested in, or
  • edit the string definitions through Moodle itself when logged in as an administrator, via Settings > Site administration > Language > Language customization. (Note: this method doesn't seem to work as of 4 Aug. 2012)

Note that the date format is controlled by the language file you install. As an example, assume that you're using the en_us language file, which defines the date format as m.d.y. In order to change the format to m/d/y, you could use the first method mentioned above, and edit the language definition file .../attforblock/lang/en_us/attforblock.php and change the string definitions into this:

$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

Another example: if you're using the en language file, and want to change the sting "Late" to "Tardy", you could use the second method mentioned above, namely: (Note: this method doesn't seem to work as of 4 Aug. 2012)

  • log in as an administrator;
  • click Settings > Site administration > Language > Language customization;
  • choose "English (en)" from the pull-down menu, which is shown if more than one language pack has been installed;
  • click on the Open language pack for editing button;
  • after the language pack has been loaded, click on the Continue button;
  • in the "Filter strings" screen's component list, scroll down to the bolded "mod" heading, and then click on the "attforblock.php" line under it;
    • (note: you could also reduce the number of strings shown, for example by writing "Late" in the "Only strings containing" filter input line)
  • click on the Show strings button;
  • scroll down until you find the string Lfull, whose definition is "Late";
  • write "Tardy" in the edit box to the right;
  • (you might also want to change the definition of the string Lacronym from "L" to "T";)
  • click on the Save changes to the language pack button on the bottom of the screen; and
  • in the confirmation screen, click on the Continue button.

Teacher's usage instructions

Adding an Attendance Activity instance

After the attendance module has been properly installed, the teacher must add Attendance as an activity to each course they wish to keep attendance for. 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; 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 module if you select No groups.

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

Adding an Attendance block to a course page

For a shortcut to attendance information for both teachers and students, it is recommended that you install the associated Attendance block (see the installation instructions above). If you have done so, you also need to add the Attendance block to your course page, like this:

  • Turn editing on.
  • Find the block entitled "Add a block."
  • In the drop-down menu in this block, select Attendance to add the Attendance block.
  • 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 see a bar of options, the last of which is "Settings." Select "Settings" 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 hit 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 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.

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 pull-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 module 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 whose 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.

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 to first 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)

Discuss the module

If you have an idea about new features, or need support on using the module, participate in the discussion on the Attendance module forum.

See also