Is the Planner module required for running Course Selection module? We don’t need Planner module but we have enabled it in case Course Selection needs it
The current school year is 2019-2020
The timetable for school year 2019-2020 is created
Edit the added entry of “Manage Course Blocks” and under “Manage Courses” choose the courses
Add entry for Learn > Course Selection > “Manage Course Offerings”. Set “Max Selections” to 100. The “100” was a guess and please let me know if this is the cause of the problem
Set the School Year and the Year Group under “Manage Enrolment Restrictions”
Set “Max Selections” to 100 under Manage Blocks. The “100” was also a guess and please let me know if this is the cause of the problem
The Administrator will login and go to Learn > Course Selection > “Approve Requests by Offering”, choose “2019-2020” from the Offering dropdown and clicking the Submit button
The Student’s submitted Course Selection will be displayed. I think I did something (or many things) wrong already because it’s saying “1 of 0 courses selected” instead of “0 of 1 courses selected”
When the checkbox for the course is ticked, the description is still saying “1 of 0 courses selected” and no message was displayed
I also clicked the “Approve All” check icon in case it’s needed. Do I need to click the “Approve All” button?
Choosing Learn > Course Selection > “Timetabling Engine” will display the message “There are no approved course selections for this school year.”
Looks like you’re off to a great start and in many ways your post could serve as documentation for how to setup the course selection. I can’t spot anything at first glance that seems missing, aside from perhaps the Minimum Students, Target Students and Maximum Students settings. Also, as a note the Max Selections is per student, so 100 may be a bit too high? Also, with a minimum selection of 0, then this is why you’re seeing 1 of 0, because the selections are expecting at least 0 items. Perhaps try setting that as at least 1 or a different minimum.
Thank you @sandra for the reply. I changed the minimum selection to 1 but the message is now “1 of 1 courses selected” even when the checkbox is not yet ticked
When the checkbox is ticked there’s no message that appears
This is from the error log. I forgot to check this earlier
[Fri Mar 31 15:04:04.631728 2023] [php:error] [pid 978] [client <CLENT_IP_ADDRESS>:54468] PHP Fatal error: Uncaught League\Container\Exception\NotFoundException: Alias (Gibbon\Module\CourseSelection\Domain\SelectionsGateway) is not being managed by the container or delegates in <GIBBON_PATH>/vendor/league/container/src/Container.php:188\nStack trace:\n#0 <GIBBON_PATH>/modules/Course Selection/approval_approveAjax.php(26): League\Container\Container->get()\n#1 {main}\n thrown in <GIBBON_PATH>/vendor/league/container/src/Container.php on line 188, referer: http://<SERVER_IP_ADDRESS>/index.php?q=%2Fmodules%2FCourse+Selection%2Fapproval_byOffering.php&gibbonSchoolYearID=025&sidebar=false&courseSelectionOfferingID=00000001
I just noticed that in your screenshot 11 the year you were working with was the 2019 and 2020 school year, but the start date and end dates are in 2023. Also, screenshot 18 shows a student registering in 2023 for courses three to four years ago. I suspect your difficulty is related to the date issues working with previous years.
Thank you @GlennS for the reply. I changed the school year to 2022-2023 but the issue remains.
The current school year is 2022-2023
The timetable for school year 2022-2023 is created
Under Learn > Course Selection > “Course Selection Settings” set the “Course Selection School Year” to “2022-2023”. The “Minimum Students per Class” is set to 1
Under Learn > Course Selection > “Course Selection Access” set the “School Year” to “2022-2023”
Under Learn > Course Selection > “Manage Course Blocks” set the “School Year” to “2022-2023”
The Student will not encounter any problem when choosing a course, just like before
The Administrator will login and go to Learn > Course Selection > “Approve Requests by Offering”, choose “2022-2023” from the Offering dropdown and clicking the Submit button
12 .The Student’s submitted Course Selection will be displayed. Just like before, the message is saying “1 of 1 courses selected” instead of “0 of 1 courses selected”
When the checkbox for the course is ticked, the description is still saying “1 of 1 courses selected” and no message was displayed
This last step will also cause the same error log entry as before
[Tue Apr 04 15:21:55.387314 2023] [php:error] [pid 36144] [client <CLIENT_IP_ADDRESS>:55419] PHP Fatal error: Uncaught League\Container\Exception\NotFoundException: Alias (Gibbon\Module\CourseSelection\Domain\SelectionsGateway) is not being managed by the container or delegates in <GIBBON_PATH>/vendor/league/container/src/Container.php:188\nStack trace:\n#0 <GIBBON_PATH>/modules/Course Selection/approval_approveAjax.php(26): League\Container\Container->get()\n#1 {main}\n thrown in <GIBBON_PATH>/vendor/league/container/src/Container.php on line 188, referer: http://<SERVER_IP_ADDRESS>/index.php?q=%2Fmodules%2FCourse+Selection%2Fapproval_byOffering.php&gibbonSchoolYearID=029&sidebar=false&courseSelectionOfferingID=00000001
Selections and approvals are different. It is showing 1 of 1 selected because this indicates that the student has selected the ideal number of courses (eg, some schools may be looking for each student to select 8 courses, so a student with 5 of 8 would indicate they haven’t completed their selections). The checkbox is for approvals, done by admin to check that student selections have been done correctly. The approvals can be turned off in settings if you’d prefer not to approve selections.
A fatal error is indeed cause for concern. Looks like it’s related to the namespace not autoloading. I’ve made a potential fix, which can be found below, if you update your module hopefully this does the trick. I don’t have data to test it with at the moment, but I have a feeling it should address the issue:
Thank you @sandra for the explanations and the update. The update fixed the error but I’m stuck on the next steps. Can you please let me know what I’m doing wrong?
Under Learn > Course Selection > “Approve Requests by Offering”, clicking the checkbox to approve the requested course will no longer generate an error log entry
Opening Learn > Course Selection > “Timetabling Engine” will generate five error log entries
[Tue Apr 18 11:31:35.097370 2023] [php:notice] [pid 1470] [client <CLIENT_IP>:52760] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: http://<SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fselection.php
[Tue Apr 18 11:31:35.097458 2023] [php:notice] [pid 1470] [client <CLIENT_IP>:52760] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: http://<SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fselection.php
[Tue Apr 18 11:31:35.097512 2023] [php:notice] [pid 1470] [client <CLIENT_IP>:52760] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: http://<SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fselection.php
[Tue Apr 18 11:31:35.097547 2023] [php:notice] [pid 1470] [client <CLIENT_IP>:52760] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 152, referer: http://<SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fselection.php
[Tue Apr 18 11:31:35.097599 2023] [php:notice] [pid 1470] [client <CLIENT_IP>:52760] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 152, referer: http://<SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fselection.php
The Timetabling Engine will not display any error message. Will not change the default values
Clicking the Run button will generate the same five error log entries that were mentioned in item 2 above
[Tue Apr 18 11:41:13.598242 2023] [php:notice] [pid 1885] [client <CLIENT_IP>:52888] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Ftt_engine.php
[Tue Apr 18 11:41:13.598306 2023] [php:notice] [pid 1885] [client <CLIENT_IP>:52888] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Ftt_engine.php
[Tue Apr 18 11:41:13.598342 2023] [php:notice] [pid 1885] [client <CLIENT_IP>:52888] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Ftt_engine.php
[Tue Apr 18 11:41:13.598365 2023] [php:notice] [pid 1885] [client <CLIENT_IP>:52888] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 152, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Ftt_engine.php
[Tue Apr 18 11:41:13.598400 2023] [php:notice] [pid 1885] [client <CLIENT_IP>:52888] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 152, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Ftt_engine.php
The webpage will remain under Timetabling Engine, with (i think) no changes:
Hmmmm. The errors in line 151 and 152 seem to be related to a setting that is missing. Can you check in System Admin > Manage Modules to see that an updates have been run for the module so that the database is up to date?
It also looks like the target and max are still blank, have you entered values for those settings? In Course Selection Settings.
Thanks @sandra for the reply. I have now entered values for the target and max but the same error happens. I checked and (I think) Gibbon and the Course Selection module are up to date. Please see my settings below:
Module “Course Selection” version is the potential fix v.1.2.04
Opening Learn > Course Selection > “Timetabling Engine” will show that “Target Students per Class” is 30 and “Maximum Students per Class” is 35. “Class Enrolment Goal” is set to “Fill to maximum” but everything else is left in the default
When “Timetabling Engine” (above) is opened, the same five error log entries will be generated:
[Fri Apr 28 09:43:50.743947 2023] [php:notice] [pid 984] [client <CLIENT_IP>:51928] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fapproval_byOffering.php&gibbonSchoolYearID=029&sidebar=false&courseSelectionOfferingID=00000001
[Fri Apr 28 09:43:50.744018 2023] [php:notice] [pid 984] [client <CLIENT_IP>:51928] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fapproval_byOffering.php&gibbonSchoolYearID=029&sidebar=false&courseSelectionOfferingID=00000001
[Fri Apr 28 09:43:50.744044 2023] [php:notice] [pid 984] [client <CLIENT_IP>:51928] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 151, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fapproval_byOffering.php&gibbonSchoolYearID=029&sidebar=false&courseSelectionOfferingID=00000001
[Fri Apr 28 09:43:50.744059 2023] [php:notice] [pid 984] [client <CLIENT_IP>:51928] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 152, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fapproval_byOffering.php&gibbonSchoolYearID=029&sidebar=false&courseSelectionOfferingID=00000001
[Fri Apr 28 09:43:50.744082 2023] [php:notice] [pid 984] [client <CLIENT_IP>:51928] Warning: Trying to access array offset on value of type bool in <GIBBON_PATH>/modules/Course Selection/tt_engine.php on line 152, referer: <SERVER_IP>/index.php?q=%2Fmodules%2FCourse+Selection%2Fapproval_byOffering.php&gibbonSchoolYearID=029&sidebar=false&courseSelectionOfferingID=00000001
In case useful, these are the ten modules that are disabled:
Activities
Attendance
Behavior
Crowd Assessment
Formal Assessment
Individual Needs
Library
Markbook
Rubrics
Tracking
Interesting, sorry for the wait in responding, it’s been very busy at school here.
These are just warnings rather than errors, so they shouldn’t actually prevent the timetabling engine from running. Have you tried clicking the button? Does it generate results?
Looks like a setting is missing, which is the source of the error. Can you run the following SQL command on your database, which should fix it:
Thanks @sandra for the reply. The error message are no longer appearing after applying the SQL but the timetabling engine does not seem to be assigning the requested course. Please see screenshots and settings below:
Correctly displays student with not yet approved course selection request
As before, changed “Class Enrolment Goal” to “Fill to maximum” but left everything else in the default values
After clicking “Run”, the Timetabling Engine page will be refreshed. The “Class Enrolment Goal” will return to the default value of “Balance each class”
This is incredibly strange Richard, my apologies it has taken so much time and back and forth, and still no answer. It is working for several schools I work with, so there is something unusual going on. Did you say this was a test install with test data? If so, would you mind exporting your database and sending a copy to support@gibbonedu.org, I think the next step would be for me to try and look at it and replicate the issue. Thanks!