Ticket #1258 (closed enhancement: wontfix)
enhancement: support browsing HTML content within bundles instead of unzipping them
| Reported by: | skierpage | Owned by: | erikos |
|---|---|---|---|
| Priority: | Unspecified by Maintainer | Milestone: | 0.90 |
| Component: | Browse | Version: | Unspecified |
| Severity: | Unspecified | Keywords: | |
| Cc: | godiard | Distribution/OS: | OLPC |
| Bug Status: | Unconfirmed |
Description
Using the jar: protocol, Browse (or anything that uses XULRunner) can directly access files in a ZIP file.
So instead of unpacking .xol files, just launch Browse and point it at the bundle in the datastore.
jar:file:///path/to/datastore/UUID_of_XOL!/activity_start_path
This saves a copy and on uncompressed file systems a lot of storage space.
I've tried this on my XO-1 running 8.2 with several collections and the Help.xo activity; once Rainbow is disabled or permissions changed, it works fine, seemingly no content or performance issues.
I think the way to do this the content developer may add a line in the bundle's .info file indicating do_not_unzip. Then sugar-toolkit's contentbundle.py would notice this, not unzip during install, and fabricate a jar: URL to launch the content.
Two caveats:
1. Rainbow security disallows Browse access to ~/.sugar in OLPC releases. To workaround this, chmod .sugar or move /etc/olpc-security out of the way.
2. Non-ASCII characters in the .xo filename or the filenames within it cause problems.
I'll try it on a SoaS to see how it works in later Sugar.
