WebApp bundle
In addition to passing simple command line parameters, Prism can use a zipped bundle package to install a webapp. The bundle can hold additional resources currently limited to:
- Application INI settings
- Application icon
- Script for the application chrome, not the web content
Installing a bundle
When Prism opens a webapp bundle it will unpack it into the WebApps/{webapp-id}
folder. This folder is located in the Application Data folder of the user's home directory on Windows, in the ~/.webapps directory on Linux and under ~/Library on OS X. Since this folder maybe be located in a directory that requires elevated privileges, the web application should not write data to it. The application profile directory can be used instead for this purpose.
When Prism is launched with a "-webapp [bundle]"
command line, the bundle must first be unpacked before the web application is launched. This can slow the overall launch time and the unpacking is redundant if the bundle has been launched previously. This is why the preferred method of launching is to use the "-webapp [webapp-id]"
command line, which looks for the previously installed (unpacked) web application in the Prism WebApps/{webapp-id}
folder. The web application is then launched without the unpacking overhead.
A bundle can also be installed from Firefox via the Prism extension for Firefox. The extension looks for <link>
tags in the webpage that point to a webapp bundle:
<link rel="webapp" href="prismdemo.webapp" title="Prism Demo">
When the extension finds such a <link>
tag, it will notify the user. The user can then decide to install the webapp.
How-to
Here is a simple way to build a basic web application bundle:
- Create file called
webapp.ini
that contains something like:
[Parameters] id=unique-app-id@unique-author-id.whatever name=webapp name uri=http://[the-url-what-you-want-to-connect-to]/ status=yes location=no sidebar=no navigation=no
- Zip the file to [whatever].webapp
- Double-click the webapp bundle or use prism -webapp [path-to-webapp]
Structure
A bundle can contain the following files. Any other files in the .webapp file will be ignored. After the .webapp file is executed the first time, these files will be unzipped and "cached" to a local directory structure.
/ webapp.ini webapp.js webapp.css winnt/ webapp.css darwin/ webapp.css linux/ webapp.css [icon].ico [icon].png [icon].icns