Details
Description
The first part of the conditional activities system is completion tracking.
This has three parts:
1) Letting users to manually indicate that they have completed an activity.
2) Letting activities automatically indicate that a user has completed them (e.g. when a grade is assigned).
3) Providing a way for teachers to view the progress (either kind) of their students.
So this system is a complete feature in its own right. We will also be using the completion information to trigger conditional availability of activities, later.
Here is my patch that implements the completion system.
This does not include support for more module types. I intend to add support for the 'view' completion condition to most modules. That will be done after the patch is checked in. Similarly, I think there are some missing help files, I will add these.
The patch does not include binaries; there are some new icons (as described in the design) which I will check in. At present the icons are produced by me, I hope to replace them with graphic-designed ones if appropriate.
As requested I have added unit testing and modified the system so that it is object-oriented (sort of) and therefore easier to test. I have also added a manual test procedure (.txt file) that can be carried out by QA staff.
The unit test completes successfully. At present, the manual test procedure cannot be completed because there is a bug in quiz that prevents you submitting a quiz. If you skip the quiz-related parts, it works.
I realise this patch is very long (168KB) - precisely for that reason I'd like to check it in asap (perhaps even if there are minor problems) as keeping it merged may be a challenge.