Relative URLs, media players and Hot Potatoes

Definitions

URL
  the address of an internet resource, such as a webpage, image or sound file.
absolute URL
  a URL that begins with "http://" is called an absolute URL. Wherever it is used, it always refers to the same target resource.
relative URL
  a URL that does not begin with "http://" is called a relative URL. It can be combined with the absolute URL of a "base" page, to get the absolute URL of the target resource.

Relative URLs in Hot Potatoes quizzes

Relative URLs are a convenient way to specify images, sounds and videos in a Hot Potatoes quiz, because they allow the quiz to be viewed and tested on a local PC, before being uploaded to a Moodle site. When the quiz is uploaded to the Moodle site, the multimedia files must also be uploaded, so that they are available when the quiz is administered via Moodle.

For security reasons, Moodle does not allow direct access to course files. All requests for files in a given course go through a guardian script which verfies that the person requesting the file is enrolled in the course. However, this mechanism can break relative links used in the quiz, because the normal rules for deriving an absolute URL from a relative URL do not work.

The solution is simple enough: all relative URLs must be converted to absolute URLs by the time the quiz reaches the browser. In the case of Hot Potatoes quizzes, the URLs will be converted by Moodle, so content creators do not have to bother with this tedious and error-prone task.

Media players in Hot Potatoes quizzes

Some media players will not accept the media file if it comes via the script which guards the course files. In this situation, it is necessary to replace the media player with one that is known to be compatible with Moodle. You can do this yourself by modifying the reference to the media player in the quiz, or you can force Moodle to do it by setting the "Force media plugins" option on the quiz's settings page to "Yes".