GSOC 2019 Project - Attendance improvements.

GSOC 2019 Project - Attendance improvements.

by Dan Marsden -
Number of replies: 10
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Congratulations to Mohammed Rahman for being successful in his Google Summer of Code application for improving the Attendance plugin!

Mohammed is going to work on a number of improvements to the attendance plugin, including the improvement of the QR code handling and adding an expiry/rotation process.

Mohammed will be posting regular updates here in the forum, sharing information about his progress and the improvements he is adding.

As part of his GSOC application, Mohammed has already contributed some bug fixes towards the attendance plugin which are now included in the main release.

Please join me in welcoming Mohammed! smile

Average of ratings: Useful (2)
In reply to Dan Marsden

Re: GSOC 2019 Project - Attendance improvements.

by Mohammed R -
Thank you for the introduction, Dan. Super excited to be selected for GSoC and have already got started on the work. My initial goals have been to analyse what changes need to be made to the database and the backend code and action them.
Average of ratings: Useful (2)
In reply to Mohammed R

Re:

by Mohammed R -
Here is an update on the current progress of the project:
- Made changes to the database structure to accommodate for the random password generation
- Wrote a function to generate the random passwords
- Made changes to the setting pages
- Added function to return passwords in JSON (for frontend
- Added function to check QR code and cookies password, error messages.
Average of ratings: Useful (3)
In reply to Mohammed R

Re: GSOC 2019 Project - Attendance improvements.

by Mohammed R -
Here is an update on the current project:
- Added function that outputs JS to handle the rendering/rotation of QR
- Added library to render the QR code
- Wrote code to rotate and generate QR code
- Wrote code to autofill the student password for users that authenticate using the QR code
Average of ratings: Useful (2)
In reply to Mohammed R

Re: GSOC 2019 Project - Attendance improvements.

by Eoin Campbell -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Can you point me at a Git repository of the changes you are making? It would be useful to be able to check how you have implemented certain features.
Regarding the issue of rotating QR codes, is this a feature that can be turned on or off in the activity settings, or in the module settings?
In reply to Eoin Campbell

Re: GSOC 2019 Project - Attendance improvements.

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Eoin,
You can see Mohammeds work in progress in his github account here:
https://github.com/danmarsden/moodle-mod_attendance/compare/master...maksudr:qr-rotation-dev

Yes there are some settings that will allow you to control this behaviour.

One of the key components of this work is to try and offload some of the work from the Moodle server - so that it's not creating qr codes on the fly and causing more work for the Moodle server while 200 (or more) students all try to record their attendance at the same time, causing the server load to go through the roof! smile
Average of ratings: Useful (1)
In reply to Mohammed R

Re: GSOC 2019 Project - Attendance improvements.

by Roland Sherwood -
Hi Mohammed. Re. the automatic rotation of QR codes: please can I ask if this will apply to passwords also? Our teachers display both the session QR code *and* password to students (the QR code for students on appropriate mobile devices, and the password for laptops or anything else), so if the password didn't rotate also there would be a disparity between the two in terms of security. Also, please can I ask if you plan to add any visual indication of when the QR code/password is set to expire e.g.a visual countdown of some sort?

Many thanks for your work on this project - really looking forward to seeing the results!
In reply to Roland Sherwood

Re: GSOC 2019 Project - Attendance improvements.

by Mohammed R -
Hi Roland,

Great questions! I do plan on developing functionality so that users can type a password instead, addressing the needs of your teachers.

Regarding a timer, I hadn't considered adding this timer but can be done if the demand is there and @Dan Marsden agrees. There is also a functionality that will still accept an expired QR Code/password within a small timeframe in case the connection is slow.

Cheers!
Average of ratings: Useful (1)
In reply to Mohammed R

Re: GSOC 2019 Project - Attendance improvements.

by Roland Sherwood -
Hi Mohammed,

Great answers! smile Really happy to hear that the password functionality is something you're already working on, and this will definitely help keep our teachers happy.

Re. the timer: this was just an idea, really - the use case being that it might enable students to understand better when the code/password will expire, and thus help them to avoid scanning a code that would expire during the scanning process. However, it sounds like you've already got this covered if the server will be able to accept requests a few seconds late.

Thanks again for the update and addressing these queries. Again, we're really looking forward to rolling these new features out!
In reply to Mohammed R

回复: Re: GSOC 2019 Project - Attendance improvements.

by Han XIN -
Hi Mohammerd R,

Thank you very much for your sharing first! 

With Moodle version 3.7.3 and latest attendance version 3.8.1 installed. We've found out that the Student password and QR code displays fine on Firefox/Chrome/Edge, but does not show on IE11 with some error messsages attached in the picture.

Would you help on checking this? Many many thanks!

Attachment Snipaste_2019-12-06_11-04-31_QRcode-IE11.png
In reply to Mohammed R

Re: GSOC 2019 Project - Attendance improvements.

by Roland Sherwood -
Congratulations on your participation in GSoC, Mohammed. As an institution that relies heavily on the Attendance plugin we're really looking forward to seeing what you come up with!
Average of ratings: Useful (1)