-
Bug
-
Resolution: Fixed
-
Minor
-
3.5.2
-
-
MOODLE_35_STABLE
-
MOODLE_36_STABLE
-
MOBILE-2800_master
When doing some testing of the Moodle app with our plugins installed, we found that there were occasions where opening a course using our course format plugin was displaying the course page using the default course format instead. Tracking this down, it appears to be the case that if the web service request for the handler's init function is still in progress, the user can still open the course, but it wont use the correct format. We've seen this frequently on our test environments, but also saw it on a live environment during a period of degraded server performance, so it's definitely a real-world scenario.
This is a big problem for us; since our custom format is signifiantly different from the core format, if users are able to view our courses using the default format it will be confusing and may expose content the users aren't meant to see.
Given that the app knows the course's format at this stage (from core_course_get_courses), and that there is a custom handler for this format (from tool_mobile_get_plugins_supporting_mobile), we would like to prevent the user being able to access the course until the format has been initialised.
Steps to reproduce:
- Install the attached format_topics2 course format plugin. This has a very basic mobile delegate that displays "This is a course in Topics 2 format!" in place of the course page. It also has an init function that is artifically delayed to simulate degraded performance.
- Create a course in topics2 format, and enrol a user
- Log in to the app as the user
- As soon as the course list is loaded, click on the course
- You will see the default course format
- has been marked as being related by
-
MOBILE-2928 Content links and push clicks doesn't use the openCourse function
- Closed