ATTENDANCE TRACKING SYSTEM - Dec 29th, 2018


A client of mine needed to create an attendance tracking system for a group of 2 lectures in a series. They needed to be
able to have their attendees log in on site using a tablet, have welcome emails sent to first time attendees with an
express sign in ID (record number) and generate email lists based on either attendees to the lecture series, attendees
to a specific lecture on a specific date, or everyone who ever attended a lecture.

The solution uses 3 editors.

A multi-record editor called “Attendance Listings”, with the following fields.

First Name (text field)
Last Name (text field)
Email Address (text field)
Lecture Name (list field values pulled from the Lecture Names database)
Attended (text field populated with the month, year and lecture code of the last attended lecture)

A multi-record editor called Lecture Names with only one field. (In my case there are 4 records; Lecture 1 (record # 1),
Lecture 2 (record # 2), Category 1 (record # 3), and Category 2 (record # 4)

And a single record editor called “Attendee Messages”, with text fields called welcome_email_message_1 and
welcome_email_message_2

THEORY
When an attendee fills out and submits the sign in form with either their Attendee ID number (record number) for express
sign in, or their first name, last name and a valid email address, the “Attendance Listings” database is checked for
a matching ID number or a matching email address.

If neither match is found, a new record is created with first_name, last_name and email_address field values, the
“Lecture 1" check box is checked in the lecture_name field and the current month, year and lecture code are inserted
into the “Attended” field. In addition, a welcome email is sent to the attendee with their Attendee ID number, which
can be used for future “Express” sign ins.

If a matching Attendee ID number is found the record is updated by appending the current month, year and lecture code to
the “Attended” field and, if required, the appropriate additional lecture name check box is checked.

If a matching email address is found and there are no other errors, the record is updated by updating their first and
last name where necessary, and appending the current month, year and lecture code to the “Attended” field. If
required, the appropriate additional lecture name check box is checked..

The report viewer allows series administrators to generate email lists for all those who attended a particular lecture
series, those who attended a particular lecture, or those who belong to a specific category (media, etc.). The lecture
date queries are automatically generated, so that their format is consistent.

For simplicity, I decided to create a separate sign in form for each lecture series (one set is attached as an example)

You can download the sign in form for the Lecture 1 series, the report viewer, and the php.ini files for the 3 editors
involved from:

http://www.thecmsbcookbook.com/downloads/attendance.zip

I’ve sanitized the viewers and .ini files to be more generic, so if you come across any issues, email me with what you
find and I’ll see if I can resolve them.

GOING FURTHER
There are still 2 issues to resolve:

1) Modifying the code so that any number of lectures can be automatically added and tracked. (I don’t mind generating
a separate viewer for each new lecture, but I’d like to do that automatically as well).

2) Generating the welcome email in a more dependable way (right now I’m getting around the fact that a new record
needs to be generated before its record number can be captured, by delaying the code for .5 seconds with a
usleep(500000); command).

Any help would be appreciated.



The materials on this web site have been created for use with CMS Builder content management software. CMS Builder software is published and licensed for use by InteractiveTools.com. Please contact Interactive Tools for information on the downloading of the software or the purchasing of licenses.


Terms of Service