Closed brianjmiller closed 3 years ago
There's also no real way (or at least no real reason) to distinguish that from absolute URLs that point to a file in the package
Is the idea that a course which is packaged in a ZIP can be deployed to an LMS which is on network that does not have access to the internet? This might be a requirement for LMS in prisons or on military bases.
AU's might choose to use media (like Bootstrap, Font Awesome, etc) which is hosted on a CDN. These would require absolute links.
If AU's don't use relative links for their media they are less portable.
Outside of the course structure XML, It seems like it would be very hard to test for. If the requests are proxied you can see if there was more than one origin, but it would require a human to navigate through the AU.
However I think it should be left to vendors, there are genuine reasons for using media with absolute URL's (performance, bandwidth costs, storage costs, easier to change, etc).
Per the July 9th Meeting, the group agreed to the following wording to address the issue:
14.1 Course Packages in ZIP Format
The two ZIP file formats MUST follow the specification defined at https://www.pkware.com/support/zip-app-note. When the ZIP file is used to package a course, it MUST contain the course structure XML file at its root directory and it MAY contain media associated with the course AUs.
- Any entry point for an AU included in a ZIP course package SHOULD be referenced by a relative URL in the Course Structure XML.
- Any entry point for an AU not included in a ZIP course package MUST be referenced by a fully qualified URL in the Course Structure XML.
- A ZIP course package MAY contain a mix of fully qualified and relative URLs, provided the rules above are followed.
Pull request applied #738
I think this isn't really an implementable requirement:
I suspect I get the idea, and maybe it is a holdover from more "manifest" like packaging, but there could be media in the package that wouldn't even be necessarily referenced in the course structure because it really only includes the initial launch paths. IOW, think the launch url might be
index.html
which might reference images, stylesheets, other pages, etc. that aren't initial launch points. Those additional files won't be listed in the course structure which means there is no way to distinguish media that is reference by a launchable item and media that should itself be launch links. There's also no real way (or at least no real reason) to distinguish that from absolute URLs that point to a file in the package. It would be rare (and probably a bad practice), but it would be possible to construct a package that used an absolute URL to the location of where the content is stored for an LMS and have it work.