WebRunner now Prism, Whatever - Here’s How To Make An Extension Compatible With At Least One…
UPDATE AGAIN! 080611
I’ve made a new post on this subject cause it’s easier to update by adding new posts instead of updating this one. Enjoy!
Update!!
Had to add a comment to the replacement code below in order for this to work.
080404 Update!!
Yet again, code changes for new versions and what not.
Looks like Mozilla has added WebRunner to it’s Mozilla Labs line up and changed the name to Prism. From what they say, it’s going to be a cross between an open version of Adobe Air and Microsoft Silverlight and a localized lancher for web applications. Which, by my definition, is what utility computing is supposed to be like. Prism is currently for Windows only (they’d better hurry up with a Linux version), but it runs the same webapp files and also has added style sheet support - among other things - so you can style your webapps your way.
Anyway, I’ve been kind of discouraged by the lack of extension availability for WebRunner (and XulRunner for that matter). You’ll find in another of my posts a webapp for accessing the WebRunner extensions panel. Using this webapp, you can add new extensions (by installing or dropping them onto the panel), but at this point, adding extensions will fail because the version checking mechanism for WebRunner/XulRunner. To get around that, you need to change the extension’s compatibility information. These instructions will not work for every extension and your results will vary…
I recommend you find a smaller extension, download it and make the following changes:
- Open the extension package (you can open it with 7-zip, ALzip, Winzip or any other archive program that works with zip files.
- Extract and open the install.rdf with a text editor, I’d recommend Wordpad if your using windows.
- Locate and change the following or something that looks like the following (this will vary by extension, but look for the Firefox description section - and you may find that you have to remove all references to all other Mozilla programs that the extension is compatible with for this to work):
<!--Firefox-->
<RDF:Description RDF:about="rdf:#$djS7s"
em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
em:minVersion="0.8"
em:maxVersion="2.0.0.*" />
To:
<!--Webrunner-->
<RDF:Description RDF:about="webrunner"
em:id="webrunner@webapps.org"
em:minVersion="0.1"
em:maxVersion="10.0" />
or (again it will depend on which way the developer implemented the Firefox description):
<em:targetApplication>
<!--Webrunner-->
<Description>
<em:id>webrunner@webapps.org</em:id>
<em:minVersion>0.1</em:minVersion>
<em:maxVersion>10.0</em:maxVersion>
</Description>
</em:targetApplication>
If you’re using Prism, change to the following:
<RDF:Description RDF:about="prism"
em:id="prism@developer.mozilla.org"
em:minVersion="0.1"
em:maxVersion="10.0" />
or
<em:targetApplication>
<Description>
<!--Prism-->
<em:id>prism@developer.mozilla.org</em:id>
<em:minVersion>0.1</em:minVersion>
<em:maxVersion>10.0</em:maxVersion>
</Description>
</em:targetApplication>
4. Then save the rdf file and add it back into the xpi archive.
5. You should be ready to install the extension using the Extensions.webapp
I found this parts of this bit of magic on Alex Sirota’s website along with the tip to check in the applicaiton.ini file for any XulRunner application’s ID. If you run into errors, then something is probably malformed in the rdf file so check that first. I won’t be much help in trouble shooting, and I’m not about to offer support for other peoples extensions on an unsupported application, but if you have problems, post a comment and I’ll give editing the rdf a go myself.







November 1st, 2007 00:07
Has anyone gotten GreaseMonkey to work using the tips in this post?
November 1st, 2007 10:09
Hmm…
I’ve had problems doing this with some extensions. After experimenting with the Greasemonkey extension a bit I found this works:
Replace:
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.5</em:minVersion>
<em:maxVersion>2.0.0.*</em:maxVersion>
</Description>
</em:targetApplication>
with:
<em:targetApplication>
<!
--WebRunner--><Description>
<em:id>webrunner@developer.mozilla.org</em:id>
<em:minVersion>0.1</em:minVersion>
<em:maxVersion>10.0</em:maxVersion>
</Description>
</em:targetApplication>
I’m not sure what the problem was, but I just can’t think that it was the commented “WebRunner” that fixed it. I’ll do some more experimenting and if I find what exactly the problem was I’ll edit the post. Till then, if anyone has a problem with the instructions in the post, just use the above code as the replacement…
December 17th, 2007 10:12
Hey, thanks for the info, i got adblock to work in prism (not adblock plus) with the filterset.g updater.
its actually pretty simple to expose the plugin/theme/extension interface within prism, you can do this by opening the DOM inspector, then in the address bar go to this URI:
chrome://mozapps/content/extensions/extensions.xul
February 18th, 2008 04:09
Or use this command-line:
“prism.exe” -uri “chrome://mozapps/content/extensions/extensions.xul”
February 18th, 2008 08:20
Thanks for the tip hleen, you can also do something similar for webrunner and prism for the about:config page or any chrome element you know the chrome address for:
“PATH\TO\WEBRUNNER\webrunner.exe” -uri about:config
“PATH\TO\PRISM\prism.exe” -uri about:config
April 4th, 2008 18:53
Unless I am missing something very obvious, none of these tricks seem to be working with Prism v0.9
I can’t seem to get Better GCal or Better Gmail 2 to load correctly. Any hints/ideas?
Thanks so much.
April 4th, 2008 19:27
Ah HA! Caught with my pants down! I haven’t been upgrading enough and it looks like I may have over looked updating this how to. Thanks for catching me!
OK, if you’re an extension, the way you tell whatever your being used in (be it Firefox, Thunderbird, Prism, etc) about what you’re intended to be used with is by setting:
<em:targetApplication RDF:resource="rdf:#$djS7s"/>So, you need to look for that in the install.rdf between the first RDF tags for both extensions and change it to:
<em:targetApplication RDF:resource="prism"/>Then under the second RDF section you’ll see:
<!--Firefox--><RDF:Description RDF:about="rdf:#$djS7s"em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"em:minVersion="0.8"em:maxVersion="2.0.0.*" /></RDF:RDF>Which should be changed to:
<!--Prism--><RDF:Description RDF:about="prism"em:id="prism@developer.mozilla.org"em:minVersion="0.1"em:maxVersion="10.0" /></RDF:Description>Hope that helps! Guess I’ll have to update the post soon…
April 4th, 2008 20:04
[...] are no official Prism-accepted extensions—but a few handy hackers have figured out how to make some Firefox add-ons work in Prism. The trick involves modifying a configuration file and seems to work mostly with smaller, [...]
April 6th, 2008 16:53
Your posting on April 4th got me set.
I didn’t replace firefox however, I added a new entry on the latest install.rdf for Adblock Plus among the other entries for Flock, Sunbird, etc.
<!– Flock –>
<em>
<em>{a463f10c-3994-11da-9945-000d60ca027b}</em>
<em>0.5</em>
<em>1.0+</em>
</em>
<!– Prism –>
<em>
<em>prism@developer.mozilla.org</em>
<em>0.1</em>
<em>10.0</em>
</em>
<!– Songbird –>
<em>
<em>songbird@songbirdnest.com</em>
<em>0.2</em>
<em>0.3</em>
</em>
April 6th, 2008 16:55
Wow that worked spectacularly badly.
<!– Prism –>
<em:targetApplication>
<Description>
<em:id>prism@developer.mozilla.org</em:id>
<em:minVersion>0.1</em:minVersion>
<em:maxVersion>10.0</em:maxVersion>
</Description>
</em:targetApplication>
April 6th, 2008 21:47
It seems that addons that harvest keystrokes, such as Greasemonkey, won’t perform this function in Prism currently, I’ve managed to get Stylish and Greasemonkey installed and running with little problem on Prism 0.9 (running nightlies of xulrunner), but things like the Modified Gmail Macros scripts won’t work at all in Prism, even though page modification scripts work fine, anyone have any interesting tidbits on this?
April 7th, 2008 07:45
I’d have to wholeheartedly agree, sorry ’bout that. Wordpress isn’t the greatest when it comes to handling “in-post” code…
Fixed it though!
April 7th, 2008 08:03
tehmiller,
The only thing I can think of with regard to Greasemonkey scripts and keystrokes is try installing/defining the webapp with option of enabling navigation keys. The Prism team have future plans on enabling more Greasemonkey-like custom scripting support in the future, and they also want to make per/app css support a priority - so it makes sense that styling would work out of the box.
For now, you could always try working custom scripts into the webapp.js file included in the webapp bundle (http://wiki.mozilla.org/Prism/Scripting)
April 26th, 2008 09:32
I’m trying to install the Remember the Milk plugin add-on for gmail into Prism. When using the following code, I get the error: Signing could not be verified.
<em>rtmgmail@rememberthemilk.com</em><em>Remember The Milk for Gmail</em><em>1.0.1</em><em>Remember The Milk Pty Ltd</em><em>Task management goodness.</em><em>http://www.rememberthemilk.com/services/gmail/</em><em>https://www.rememberthemilk.com/services/gmail/update.rtm?uid=%ITEM_ID%&version=%ITEM_VERSION%&application=%APP_ID%&appversion=%APP_VERSION%&dist=rtmgmail </em><em>chrome://rtmgmail/content/logo.png</em><em><!--Prism--><em>prism@developer.mozilla.org</em><em>0.1</em><em>10.0</em></em>April 26th, 2008 09:37
Sorry, I don’t know how to properly put code into the comment.
April 26th, 2008 09:47
I got around the last error, by removing the META-INF file, but now it says it’s not compatible with Prism 0.8. Is that the end of the line?
Thanks.
April 26th, 2008 18:36
Dov,
Try changing this (from the original rtm install.rdf file):
<em:targetApplication><Description><em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id><!-- firefox --><em:minVersion>2.0</em:minVersion><em:maxVersion>3.0</em:maxVersion></Description></em:targetApplication>To:
<em:targetApplication><Description><!--Prism--><em:id>prism@developer.mozilla.org</em:id><em:minVersion>0.1</em:minVersion><em:maxVersion>1.0</em:maxVersion></Description></em:targetApplication>May 20th, 2008 00:19
I got greasemonkey to install on Prism .9, but how do I install scripts?
June 4th, 2008 09:10
xau: maybe try to install them manually ? by installing them with firefox, and then copy the files that were added / changed. I remember the greasemonkey way of storing scripts is quite easy to understand…
June 11th, 2008 22:43
I’ve added a new post on this subject, just cause it’s easier to update like that:
http://www.luckydisasters.com/2008/06/10/heres-how-to-make-an-extension-compatible-with-prism-two-ish/