Emergency release
A regression has been found that was introduced in 2.9.1, 2.7.9, 2.6.26, and 2.5.33 by TL-6981.
This regression is of high impact and scale, as such an emergency release is now being prepared.
This release will contain ONLY the fix for this regression, all other scheduled fixes will be left until the minor release next week.
Details of the regression will follow.
We strongly recommend that any customer using one of these releases upgrades as soon as possible.
If you have not yet upgraded please skip the current 2.9.1, 2.7.9, 2.6.26 and 2.5.33 releases.
As soon as the 2.9.1.1, 2.7.9.1, 2.6.26.1, and 2.5.33.1 packages have been made available for download the old 2.9.1, 2.7.9, 2.6.26, and 2.5.33 packages will be removed to avoid accidental deployment of these releases.
Description of TL-8096:
In the following situation when the user completes the first activity in a course all other activities in the course will be incorrectly marked as complete.
The above occurs when:
- The course contains multiple activities.
- The course does NOT contain the course completion status block. (this condition was included originally in error - existence of the block does not prevent this issue)
- One or more activities are required for course completion.
- The user completes the first activity by completing all criteria.
It occurs if the completion criteria for the activity leads to a grade being written for the activity. If the activity requires the user view the activity or requires the user manual self completion then the issue will not be experienced.
Then all activities in the course will be incorrectly marked complete.
Due to the how course can require activity completion in order to be complete, and likewise how programs and certifications require courses to complete the effect of incorrectly completing all activities can affect course completion, program completion and certification completion:
- If the course requires one or more activities to be complete and does not have any other criteria then as all activities have now being marked complete the course will also be marked complete.
- If the course is part of a program or certification and the user who has now incorrectly complete there course was working on a course set in which this was the only course or all other courses in the course set had been completed then the course set would be considered complete.
- If this was the only course set in the program or certification or if this was the last course set in the program or certification that the user had to complete then the program or certification would be marked complete.
Solution:
The wrong variable was used in two places when fixing TL-6981. To fix the issue we substitute the current variable being used for the correct variable, the variable that was supposed to have been used.
To ensure this does not happen again unit tests have been extended to cover this case, improving our automated test coverage activity completion.
Using the wrong variable was leading the the user cache containing incorrect information.
For those affected:
- Incorrect activity completion and incorrect course completion can be reset by giving the user an RPL for the activity/course and then immediately removing the RPL.
- Browse to Course administration -> Reports -> Course completion
- Mark the activity or course complete by RPL
- Remove the RPL
- Refresh the page and the state will have corrected itself.
- Incorrect programs and certifications cannot currently be corrected. We are working on a tool that will be integrated to the affected stable branches that will allow the admin to manipulate the completion state for a user. If you have affected programs/certifications please let us know so that we can advise you when the tool has been released and so that we are aware of the scope of this problem.
Affected versions:
2.9.1. 2.7.9. 2.6.26. 2.5.33 released 16th November 2015.
Fixed versions:
2.9.1.1, 2.7.9.1, 2.6.26.1, 2.5.33.1 released 8th December 2015.
Patch:
- TL-8096_totara_2-9-1.patch
- TL-8096_totara_2-7-9.patch
- TL-8096_totara_2-6-26.patch
- TL-8096_totara_2-5-33.patch
Kind regards
Sam Hemelryk
(Edited by Simon Coggins (CTO) - original submission Wednesday, 9 December 2015, 4:19 AM)