Prism Information - In Depth

A lot of people have been having problems getting extensions to work with Prism. This is kind of an expected situation considering that the extensions that are being targeted are designed for use under Firefox, which has a different UI than Prism. This can cause a lot of headaches trying to figure out what’s wrong. There are ways around some of these problems, especially if the extension includes a xul overlay that is compatible with the browser xul for Prism. Or if you can load the chrome url to the main xul overlay in Prism’s input url (which of course requires that you already have the extension installed). Other extensions however, have no hope of working with Prism unless changes are made to the overlays.

I’ve also been running into a problem described by commenter Marcel, here. I’ve been getting a similar error under Windows for different extensions when I try to install them. Don’t know why, and what makes it worse is that these errors crop up in extensions that I’ve had no problems installing before on other computers (maybe I need to have Webrunner installed along side Prism?). I’ve also had problems with version 0.9 not installing and using the included icons for webapp files. I’m going to have to look into that one a bit further before I can comment more on it though.

At any rate, I’m going to list as much information in this post as I can find on Prism to refer back to, then I’m going to create a new post on how to install an extension for Prism manually. I’d also like to post a how-to on getting POW to work under Prism as well, but I don’t know whether or not I’ll get to that (maybe over Thanksgiving break). So, first some links.

LINKS:
Mozilla Labs’ Prism Page - A broad overview of the goals of the Mozilla Prism Project
Mozilla Developer Center’s Prism Page
MDC’s Prism Page on Extensions
Mozilla Labs’ Prism Forum
Mozilla Wiki Prism Page - Along with the Dev Center’s page, a good source for documentation on  Prism
Mark Finkle’s Blog (one of Prism’s developers - BTW - THANK YOU MARK!!!)
SVN for Prism’s source code
List of Prism Contributors on ohloh.net
Douglas Meyer’s Blog post on getting Google Gears to work with Prism
Commenter Manlo’s blog post on getting RTM working with Prism (does not appear to be working)
Wikipedia Entry

Next, here’s a list of all the files that Prism makes use of in the user’s profile directory on Windows and Mac OS X - Linux to come (I don’t have access to my Linux box at the moment).

Default Prisim Folders in User’s Home directory (Windows as of Prism v0.9):

Under C:\Documents and Settings\{user name}\Application Data\

Prism\
Prism\profiles.ini
Prism\Profiles\
Prism\Profiles\{random string}.default\
Prism\Profiles\{random string}.default\cert8.db
Prism\Profiles\{random string}.default\compatibility.ini
Prism\Profiles\{random string}.default\compreg.dat
Prism\Profiles\{random string}.default\cookies.sqlite
Prism\Profiles\{random string}.default\extensions
Prism\Profiles\{random string}.default\extensions.cache
Prism\Profiles\{random string}.default\extensions.ini
Prism\Profiles\{random string}.default\key3.db
Prism\Profiles\{random string}.default\localstore.rdf
Prism\Profiles\{random string}.default\mimeTypes.rdf
Prism\Profiles\{random string}.default\permissions.sqlite
Prism\Profiles\{random string}.default\places.sqlite
Prism\Profiles\{random string}.default\prefs.js
Prism\Profiles\{random string}.default\secmod.db
Prism\Profiles\{random string}.default\xpti.dat
Prism\Profiles\{random string}.default\extensions\

Under C:\Documents and Settings\{user name}\Local Settings\Application Data\

Prism\Prism\
Prism\Prism\updates\
Prism\Prism\updates\0\

For Each WebApp Prism creates (Windows as of Prism v0.9):

Under C:\Documents and Settings\{user name}\Application Data\Prism\

{webapp name}\
{webapp name}\profiles.ini
{webapp name}\Profiles\
{webapp name}\Profiles\{random string}.default\
{webapp name}\Profiles\{random string}.default\cert8.db
{webapp name}\Profiles\{random string}.default\compatibility.ini
{webapp name}\Profiles\{random string}.default\compreg.dat
{webapp name}\Profiles\{random string}.default\cookies.sqlite
{webapp name}\Profiles\{random string}.default\extensions
{webapp name}\Profiles\{random string}.default\extensions.cache
{webapp name}\Profiles\{random string}.default\extensions.ini
{webapp name}\Profiles\{random string}.default\extensions.rdf
{webapp name}\Profiles\{random string}.default\key3.db
{webapp name}\Profiles\{random string}.default\localstore.rdf
{webapp name}\Profiles\{random string}.default\mimeTypes.rdf
{webapp name}\Profiles\{random string}.default\permissions.sqlite
{webapp name}\Profiles\{random string}.default\places.sqlite
{webapp name}\Profiles\{random string}.default\pluginreg.dat
{webapp name}\Profiles\{random string}.default\prefs.js
{webapp name}\Profiles\{random string}.default\secmod.db
{webapp name}\Profiles\{random string}.default\signons3.txt
{webapp name}\Profiles\{random string}.default\xpti.dat
{webapp name}\Profiles\{random string}.default\extensions\

Under C:\Documents and Settings\{user name}\Application Data\WebApps\

{webapp name}@{webappaddr}\
{webapp name}@{webappaddr}\localstore.json
{webapp name}@{webappaddr}\override.ini
{webapp name}@{webappaddr}\webapp.ini
{webapp name}@{webappaddr}\webapp.js
{webapp name}@{webappaddr}\icons\
{webapp name}@{webappaddr}\icons\default\
{webapp name}@{webappaddr}\icons\default\{icons included in webapp bundle}

Under C:\Documents and Settings\{user name}\Local Settings\Application Data\Prism\

{webapp name}\
{webapp name}\Prism\
{webapp name}\Prism\updates\
{webapp name}\Prism\updates\0\
{webapp name}\Profiles\
{webapp name}\Profiles\l05apnbh.default\
{webapp name}\Profiles\l05apnbh.default\XPC.mfl
{webapp name}\Profiles\l05apnbh.default\XUL.mfl
{webapp name}\Profiles\l05apnbh.default\Cache\
{webapp name}\Profiles\l05apnbh.default\Cache\_CACHE_001_
{webapp name}\Profiles\l05apnbh.default\Cache\_CACHE_002_
{webapp name}\Profiles\l05apnbh.default\Cache\_CACHE_003_
{webapp name}\Profiles\l05apnbh.default\Cache\_CACHE_MAP_
{webapp name}\Profiles\l05apnbh.default\Cache\{other cache files}

Default Prisim Folders in User’s Home directory (Mac OS X as of Prism v0.9):
Under /Users/{user name}/Library/Application Support/Prism/

Profiles/
Profiles/profiles.ini
Profiles/{random string}.default/
Profiles/{random string}.default/cert8.db
Profiles/{random string}.default/compatibility.ini
Profiles/{random string}.default/compreg.dat
Profiles/{random string}.default/cookies.sqlite
Profiles/{random string}.default/extensions.cache
Profiles/{random string}.default/extensions.ini
Profiles/{random string}.default/key3.db
Profiles/{random string}.default/localstore.rdf
Profiles/{random string}.default/mimeTypes.rdf
Profiles/{random string}.default/permissions.sqlite
Profiles/{random string}.default/places.sqlite
Profiles/{random string}.default/pluginreg.dat
Profiles/{random string}.default/prefs.js
Profiles/{random string}.default/secmod.db
Profiles/{random string}.default/xpti.dat
Profiles/{random string}.default/extensions/

For Each WebApp Prism creates (Mac OS X as of Prism v0.9):

Under /Users/{user name}/Library/Application Support/{webapp name}/

Profiles/
Profiles/profiles.ini
Profiles/{random string}.default/
Profiles/{random string}.default/cert8.db
Profiles/{random string}.default/compatibility.ini
Profiles/{random string}.default/compreg.dat
Profiles/{random string}.default/cookies.sqlite
Profiles/{random string}.default/extensions.cache
Profiles/{random string}.default/extensions.ini
Profiles/{random string}.default/key3.db
Profiles/{random string}.default/localstore.rdf
Profiles/{random string}.default/mimeTypes.rdf
Profiles/{random string}.default/permissions.sqlite
Profiles/{random string}.default/places.sqlite
Profiles/{random string}.default/pluginreg.dat
Profiles/{random string}.default/prefs.js
Profiles/{random string}.default/secmod.db
Profiles/{random string}.default/xpti.dat
Profiles/{random string}.default/extensions/

Under /Users/{user name}/Library/WebApps/{webapp name}@{webappaddr}/

{webapp name}@{webappaddr}/localstore.json
{webapp name}@{webappaddr}/override.ini
{webapp name}@{webappaddr}/webapp.ini
{webapp name}@{webappaddr}/webapp.js
{webapp name}@{webappaddr}/icons/
{webapp name}@{webappaddr}/icons/default/
{webapp name}@{webappaddr}/icons/default/{icons included in webapp bundle}

So, why they heck would I list all the files and directories here? Well, I want a reference to point at when I start explaining which files to make changes to in order to install an extension manually. Here’s some code:

Code Snippit for Prism Extensions’ install.rdf (from)

<em:targetApplication>
    <!– Prism –>
    <Description>
      <em:id&gt;prism@developer.mozilla.org&lt;/em:id>
      <em:minVersion>0.8</em:minVersion>
      <em:maxVersion>1.0.0.*</em:maxVersion>
    </Description>
  </em:targetApplication>

Code Snippit for Prism Extensions’ extension.rdf (information is required from the extension’s **install.rdf**)

<RDF:Description RDF:about="urn:mozilla:item:{**extension id from install.rdf**}"
                        NS1:installLocation="app-profile"
                        NS1:version="**from install.rdf**"
                        NS1:optionsURL="**from install.rdf**"
                        NS1:iconURL="**from install.rdf**"
                        NS1:name="**from install.rdf**"
                        NS1:description="**from install.rdf**"
                        NS1:creator="**from install.rdf**"
                        NS1:homepageURL="http://**from install.rdf**"
                        NS1:contributor="**from install.rdf**">

More to come…

The Hollow Economy

Another great post on Jon Taplin’s Blog that’s well worth the read. In it he points out some of the current administrations delusions of joblessness (look at the chart!), and other political stagnations that are affecting our current state of economic affairs.

One of the major points of his post is how our economy has shifted to a service base, which is largely non-exportable (at least to smaller, more locally oriented businesses). This also means we’re not manufacturing as much as we used to, and therefore don’t have the export power we’ve had in the past. In other words, as the dollar has fallen against the Euro and other currencies, we’ve not seen an increase in exported manufactured goods as you’d expect.

This is an extremely important point to take in. If the current administration can’t see that the single most important thing we need to do in order to help the economy is to save/rejuvenate manufacturing jobs (read as: jobs that create exportable products and services) in the US, then we’re really sunk.

I tend to think, however, that the market will correct for this. We’ve already heard of some manufacturers moving operations to the US from the EU as a means to cut manufacturing costs. This is a trend that will probably continue, but only if businesses wake up to the fact that the current downturn in the economy isn’t a short term anomaly. Rather, it’s a long term (think several years) condition.

Link

You Will Read This Blog:

You will go to Jon Taplin’s blog.

You will read his every word.

You will learn!

I’ve been reading Mr. Taplin’s blog now for a few weeks. Everything I’ve read on his blog has been incredibly well thought through, logical and currently relevant. He is in the know, and amongst those who are in the know. I’ve not seen any of the stupidity and short sightedness found in the position of pundits of either wing nut variety (right or left) in his writings, and that more than anything else is a tremendous tell.

In short if you don’t read his blog, well, you’re missing out…