Status Tracking

Status Tracking

by Barry Oosthuizen -
Number of replies: 20
In case any one finds this useful/interesting: I have further tweaked the attendance module for our own customization needs as follows:

  1. when taking attendance teachers can select statusses from dropdown menus for 'make up notes' & 'sick notes'. (We require students to hand in 'make up notes' & 'sick notes' for missed sessions)
  2. added tabs where students can view which items ('make up notes' & 'sick notes') are outstanding/due, submitted or cleared (similar to the 'Targets' feature of the ILP/PLP module). Originally I wanted to integrate the two modules (attenance and ILP) but I don't think it's really necessary.
  3. I've also cleared up some 'XHTML 1.0 Strict' validation issues by deleting some bits and adding CSS.
  4. started experimenting with a 'Scan' page for barcodes (very early stages)
Average of ratings: -
In reply to Barry Oosthuizen

Re: Status Tracking

by Barry Oosthuizen -
Another Screenshot
In reply to Barry Oosthuizen

Re: Status Tracking

by Barry Oosthuizen -
Here is the code so far if you want to try it on a test server (at your own risk).
In reply to Barry Oosthuizen

Re: Status Tracking

by Frederic Nevers -
Thanks for this Barry, these are very useful to our school smile Cheers, Fred
In reply to Frederic Nevers

Re: Status Tracking

by Barry Oosthuizen -
You're welcome, glad they're useful for someone else too
In reply to Barry Oosthuizen

Re: Status Tracking

by Frederic Nevers -

Hi Barry,

I have thought about a possible few improvements for this module and wondered if you had the same things in mind:

- In the report section (or maybe even create a new section?), would it be possible to quickly display only students who have a sick note/make up note due?, regardless of the session e.g. student 1 has a due note for session 1 on Monday and student 2 has a missing note for session 7 on Thursday

- Still in the report section, would it be possible to add more options in the drop down box (like days, semester...) and maybe even give users the option to select a different date range?

- I'm thinking of approaching my head of shool to suggest we use this module to keep track of our attendance (we do it on paper at the moment), and I am sure he'll ask me whether he can have a quick overview of the attendance situation at any given time (list of absent students for a particular period, sick notes overdue...). How difficult would it be to create such reporting tools (across several courses)?

Cheers,

Fred

In reply to Frederic Nevers

Re: Status Tracking

by Barry Oosthuizen -
Hi Fred,

To make the 'due', 'submitted' & 'cleared' reports I made so far I basically copied the existing reports, added my extra fields, and changed the SQL to filter on a specific status. It would be nice to have a custom reporting module of some sort. Do you have any ideas for an interface?



In reply to Barry Oosthuizen

Re: Status Tracking

by Frederic Nevers -

Hi Barry,

I've done a quick mockup of what the UI could look like. Basically, I think there should be a tab (viewable only by people with a special capability, like "attendance manager") at the top of a normal page which would give access to a new "advanced report" page (see attached image).

I believe that this would allow great flexibility in terms of which reports are produced.

What do you reckon?

Cheers,

Fred

In reply to Frederic Nevers

Re: Status Tracking

by Barry Oosthuizen -
Hi Fred,

I like your idea of being able to select the course/all courses. The date selector is a must as well.

On the attendance taking page you can already see who is absent, late etc for a given day. And these variables might be defined differently by each institution. I think it would make more sense to add 'filters' for each defined attendance status (in a drop down box).
I've added filters for makeup notes, sicknotes and students so it should be easy to add one for attendance status as well.

See my mockup of what I have so far. Still a bit of code and layout to sort out.

Cheers,

Barry

In reply to Barry Oosthuizen

Re: Status Tracking

by Frederic Nevers -

Hi Barry,

I agree with you, the idea of filters seems much more appropriate to the task of attendance taking. Would it be possible to make those filters available for "all courses" as well? That would give a great overview of what the attendance is like in an institution at any given time.

Cheers,

Fred

In reply to Frederic Nevers

Re: Status Tracking

by Barry Oosthuizen -
Hi Fred,

yes, I think it's possible. I think filters for teachers/subjects could be useful as well.
In reply to Frederic Nevers

Re: Status Tracking

by Barry Oosthuizen -

Hi Fred,

With 'all courses' did you mean the 'all courses' page?

I'm thinking to include a single line on my new 'advanced report' page to display the attendance summary for each course if 'all courses' are selected in the filter.  If one course is selected only the summary for that course should be displayed. 

Maybe I could add another filter option: Report Style (Show all, Summary Only, Detail Only).  Then the page is only as cluttered as you want it to be.

The 'this course' and 'all courses' pages seem to be more targeted to students and I think the current amount of info for students is probably sufficient. I could probably tweak the advanced report to give access to students so they could only see their own data.

Filtering on an attendance status proved a bit more complicated than anticipated since each course has it's own set of variables.  So the drop down can potentially get quite big if you have attendance module instances across multiple courses.

The latest code is here CONTRIB-1400

Anyway, here is a screenshot of what I managed to pull together for the UI so far.  The summary section in the report currently only shows the summary of the current course.

In reply to Barry Oosthuizen

Re: Status Tracking

by Frederic Nevers -
Hi Barry,

this looks great, you have done a great job. I have been playing with it a little and here is my feedback (please do not pay attention to specific points if they already were on your TODO list wink):
  • I love how simple the UI is, those filters are much more efficient and user friendly than the UI I depicted in one on my previous posts
  • The 'Course:All" filter does exactly what I mentioned in my previous posts (I did not mean the 'all courses' page)
  • I agree with your idea of being able to choose the report type. Quite often teachers want to have a quick glance at a particular area of attendance (how many sick notes need cleared? What are the names of the students who were late today? etc...). I have thought of a few possible specific reports if you are interested.
  • Would it be possible to allow a teacher to change the status of sick notes/make-up notes straight in the "advanced report" page (basically reproduce the drop down box which is available when the attendance is being taken) - or if that is not possible to provide a link to that particular sick note/make up note? e.g. if a note is "due" then the word "due" appears as a link?
Once again, I think that what you have done is a great addition to this module. I cannot wait to replace those old paper registers!

Cheers,
Fred
In reply to Frederic Nevers

Re: Status Tracking

by Barry Oosthuizen -
Hi Fred,

  • You can now select detailed/summary/all as report type.
  • I've added a link to each session (as is done on the report.php page) where you can edit the fields for that specific session. I'll look into making it possible to edit them on the same page.
  • The course names are links now as well.
  • The view.php reports (due, submitted, cleared) are a little broken at the moment, but I'll fix them soon.

New code is here CONTRIB-1400.
In reply to Barry Oosthuizen

Re: Status Tracking

by Frederic Nevers -
Hi Barry,

those changes look good and greatly improve usability of the advanced report. Links are a move in the right direction IMHO, as teachers will probably use this as a one-stop shop (it is not unusual in some institutions to have to clear/submit several sick notes and make up notes during registration, and teachers hate it when it takes a lot of time...).

I have been thinking at how courses with large amounts of students could be dealt with and show without too much scrolling. Please have a look at the attached screenshot (sorry, I'm not very good at making mockups that look good smile) and please let me know what you think.

Once again, thanks a lot for sharing this with us, it is really great.

Cheers,
Fred


In reply to Frederic Nevers

Re: Status Tracking

by Barry Oosthuizen -
Hi Fred,

If you have lots of students or lots of courses it's probably inevitable that you would need to scroll a lot. Having the student/course names on the left rather than above will increase the width of the report which will also cause more scrolling (vertically if the columns are wrapped and horizontally if not wrapped).

I have followed the layout similar to the user report in the gradebook (Student name > Detail). This will also enable each student's records to easily be printed separately by using page breaks. Some people tend to want to print things... E.g. if you had lots of sessions, how would you print a page from the Reports tab? If you need to, it should be easy to change the layout, I've commented the code quite a bit if you want to have a look. It's just a case of putting the course/student name in a column rather than on it's own.

The key to making the lists shorter is to apply filters. I could make filters for 'Title' and 'Description' as well, maybe that would help.

Another idea for a quick overview is to add a count of make up notes / sick notes due in the summary section. Then if you view summary only you can see who has a high count. I could add this to the report.php page as well.




In reply to Barry Oosthuizen

Re: Status Tracking

by Frederic Nevers -
Hi Barry,

I'll give the students names and courses names in columns a try.

I'm going away for a month so won't be able to logon.

Once again, thanks a lot for sharing your work with the community.

Cheers,
Fred
In reply to Frederic Nevers

Re: Status Tracking with AJAX

by Barry Oosthuizen -
Hi Fred,

I've updated my code a bit. You can now edit the makeupnote, sicknote & remark fields with AJAX (i.e. as soon as you've selected a new option or typed new text and pressed enter your changes will be saved to the database). Users who can't use AJAX/Javascript can use the links to get to the normal screen for updating these fields - I don't have time to add a non-Ajax method to the advanced report screen.

I'm also making good progress on my barcode scanning module. The scanning bit is mostly ready, just the 'applying the rules' bit to still work on.

As soon as I've cleaned the rest of the code up a bit I'll post a link to it here.

Cheers,

Barry
In reply to Barry Oosthuizen

Re: Status Tracking with AJAX

by Barry Oosthuizen -
I've uploaded a new zip file (last one) at CONTRIB-1400 containing the latest changes:

  1. AJAX updating of status tracking
  2. Groups:
    1. Associate Groups with Sessions in Add/Update Session screens.
    2. Filter by Group on Advanced Report Screens. I intend to use this later with the scanning module.
    3. Note: You can see all groups across all courses so this is a bit like sitewide groups except it's the normal groups...
  3. Scanning Module:
  • At the moment you can use this only to record the comings and goings of students so not very useful yet - still in Development, and currently only available to admin view.
  1. Each student needs a Custom Profile field containing a passcode (numeric)
  2. The student scans in/out by swiping a barcode containing their username followed by their passcode (or by typing it in).
  3. If successful the scan is logged as in/out
  4. The idea is to run scanlib.php to update attendance_log table based on the scans stored in attendance_scan_logs.
In reply to Frederic Nevers

Re: Status Tracking with show/hide headers & columns

by Barry Oosthuizen -
Hi Fred,

Further to your idea of saving vertical space (& scrolling) I have added the option to remove the 'Grouped by Course & Students' headings.

You can also remove any field that you don't want to display and also remove the 'Report Filter area' for ease of viewing.

Also, by default if you select the 'Detailed' report type there are no 'Grouped by Course & Students' headings plus there is only one table heading for the entire report. So your result looks pretty much like a spreadsheet.

Here is a screenshot of the new options. It all works with Javascript so the results are instantaneous.


In reply to Barry Oosthuizen

Re: Status Tracking with show/hide headers & columns

by Frederic Nevers -
Hi Barry,

this looks great. I'll install the new version of your attendance today and give it a try.

Cheers,
Fred