michael-milette / moodle-filter_filtercodes

FilterCodes filter for Moodle enables content creators to easily customize and personalize course and site content using plain text tags (no HTML). For premium support, contact us at https://www.tngconsulting.ca/contact
https://moodle.org/plugins/filter_filtercodes
GNU General Public License v3.0
32 stars 43 forks source link

Feature Request: Attendance date filtercode #235

Open behanw opened 1 year ago

behanw commented 1 year ago

Prerequisites

Feature Request - The User Story

Currently, there is the requirement of entering dates in many places in Moodle. One of the great features of filtercodes is that you can use things like coursestartdate to have a timezone corrected version of the course start date added where ever you want, without having to manually enter them in multiple places.

However, when it comes to a Moodle course which occurs over multiple weeks, one can use an activity like Attendance to schedule classes in the Moodle calendar. However at the moment, if you want to advertise the dates in one of the sections of a class, you have to manually enter them where ever a student might need to be reminded of those dates and times (though not in their native timezone when students can be anywhere in the world). This leads to many manual errors, and issues when copying a course for a new cohort.

Having a filter code, which would selectively show the date/time for each entry in Attendance, would allow one to put the date/time (using the student's timezone) in the section header for the class without needing to type it in again (with a fixed timezone).

I propose something like "{attendance weeknumber dateTimeFormat}" for the date and time of the second entry in Attendance. Even if one class is moved from a series of consecutive set of weeks to another day at the end, the date order of the classes in the Attendance would still be the one you'd want as far as weeknumber is concerned.

The assumption in this proposal is that there is only one Attendance activity. If, for whatever reason, more than one attendance activity would need to be supported, I'd suggest "{attendance ID:weeknumber dateTimeFormat} where ID is the optional ID number of the attendance activity. The colon would be the separator between ID and weeknumber, when an ID is specified.

Screenshots / Mock-ups

{attendance 2 strftimedaydatetime} to show the full date of the second entry in the Attendance activity. {attendance ActivityB:3 strftimedaydatetime} to show the full date of the third entry in the Attendance activity with ID "ActivityB".

Alterative you have considered

The only other alternative we've found is manually entering a date in UTC, or the native timezone of our school which is error prone.

Additional information

No response

Planning on submitting a solution in a pull request (PR)?

No

Code of Conduct

michael-milette commented 1 year ago

Hi @behanw ,

Creating a FilterCodes tag just for the Attendance plugin is not really interesting to me. It should really be developped as its own plugin. Let me know if such premium development would of interest to you by contacting me through my website at https://www.tngconsulting.ca/contact

That said, I have a more generic alternative idea for FilterCodes. Would you be interested in something like a {time} tag? You would give it the time you want in Moodle local time (your school in your situation) and it would display the time to a user in his or her timezone as set in their profile. The drawback is that it would not be connected to Attendance in any way.

Share your thoughts.

Michael Milette

behanw commented 1 year ago

Certainly, a time tag would solve some of the problem.

michael-milette commented 1 year ago

Hi @behanw , thank you for your reply. I will keep you informed as progress is made.

Best regards,

Michael Milette

behanw commented 1 year ago

I also sent you a message using the contact link on the TNG Consulting website. I'd certainly like to talk to you further.