Archive for the 'Linux' Category

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:

  1. Open the extension package (you can open it with 7-zip, ALzip, Winzip or any other archive program that works with zip files.
  2. Extract and open the install.rdf with a text editor, I’d recommend Wordpad if your using windows.
  3. 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.

Just when you think you know a thing or two…

Ever see something, some piece of cool, some bit of technology that makes your jaw drop? I had that happen twice this week. First have a look at David Kellogg’s website and his Plain Old Webserver (pow).

Plain Old Webserver (POW)

POW is either a really cool Firefox extension that turns Firefox into a web server or a lightweight xulRunner web server. Either way it serves up web pages using server side javascripting. Sweat! I still have to play with this a bit to get a feel for it because I’ve never used javascript on a server before, but considering this is portable to any system that xulRunner or Firefox will run on, it makes it a very versatile package right out of the box. While the fact that it doesn’t have a php module means I can’t do local development of my website on it (yet), POW does offer sqllite as a database. You can also download some extras for it like a Firefox database management or directory file listing.

You can also use the xulRunner “portably”. I quoted that because, while the POWUSB package includes both Windows and MAC xulrunner versions (no Linux yet either!), it isn’t exactly portable in the way that say, FirefoxPoratable is. In other words, if you run the included xulRunner on Windows, it will still leave files on your local file system. To make this truly portable, you’d need to refrain from leaving footprints on the system you’re using, therefore this really doesn’t qualify as a portableapp quite yet…


I thought I knew a thing ‘er two about javascript (I taught myself javascript, and after HTML it was the first interpreted language I learned, and so far I’ve had no formal training in with ECMA specific code), then I saw Dean Edwards website. This guy (and his commenters) must live on planet ECMAscript for crying out loud (if you don’t believe me take a stroll through Mr. Edwards’ website and take a look at his projects and comments on his work, just freakin’ fantastic – from a programming point of view). Anyway, what I really geeked out about was his MiniWeb application. MiniWeb

What can I say, other than – freakin’ sweat! Contained in just 14 files is a (partial) javascript based blog, file management (will kind of, read on), and a *nix-like terminal (again, kind of). The reason for all those caveats is this; pretty much the fact that is is a work in progress AND, the fact that nearly the entirety of the system is contained in the one file: miniweb.html. Any new blog posts, files (which can be text or I think some form of executable – through some javascript magic), etc. are all stored in the miniweb.html file.

As I mentioned, it’s a work in progress, so nothing is complete, the terminal, the blog, pretty much everything but file viewing and management is incomplete. At this point I’m still just toying with it, so it pretty much takes on the Arthur C. Clark idiom of being so far beyond my understanding that it appears to be magic. To wield some of this magic Dean appears to use a home grown javascript compressor. Just… wow…

To check out MiniWeb click here. To download it and play with it on your own, click here. When you open up the file or depending on what you click on in what ever browser you’re using, you’ll probably have to get passed some of your browser’s security to fully use the software. In IE I think you need to allow the software to function on the bar that appears at the top of the browser window, in Firefox, depending on what you’re trying to do you may have to allow the script to complete some actions (don’t forget that “remember this decision” checkbox). Too much fun to pass up…

Running Multiple Instances/Versions of Mozilla Firefox

I wanted to check out the latest nightly build of Mozilla’s Firefox browser (currently version 3 alpha), but I didn’t want to uninstall my current version or overwrite, or screw up my profile and all those extensions I have installed. So how do you run two builds of Firefox at once? Pretty easily actually (while the following instructions are for Windows, similar actions can be used with Linux or Mac)!

First create a new profile

This is actually really simple, you just need to do one of two things:

Select Case

Case 1

From a command prompt or Start menu > Run type:

“[path_to_firefox]\firefox.exe” -CreateProfile [profile_name]

For most of us running Windows this will look like:

“C:\Program Files\Mozilla Firefox\firefox.exe” -CreateProfile test

(“test” would be the profile name in this case)

Case 2properties_01

You can create a copy your Mozilla Firefox shortcut on your desktop, right click and select properties, then add the -CreateProfile [profile_name] in the “Target” field on the “Shortcut” tab of the properties dialog. Then click OK and double click the shortcut.

End Select

In either case, Firefox will create the new profile and not open any windows.

Now that you have a new profile you need to be able to open your new browser with the new profile (I’m assuming that you’ve downloaded a new browser and have extracted or installed it to your liking).

Create a new shortcut to you’re new browserproperties_02

You can either copy your shortcut (if you’ve installed it) or create a new shortcut to the new version of firefox.exe, then (just like in Case 2 above) right click on the shortcut and in the “Target” text box, add -P test (or whatever you’ve used as your new profile’s name) to the end of the quoted firefox.exe path. The click OK.

Now, if you simply double click this icon you’ll open a new instance of your new browser build and you can start to play.

Just in case you want to use both your old browser and your new browser side-by-side

properties_03So, you say you’re curious if that website looks the same in your old browser as it does in your new browser, and you need them both open to tell? Well that’s no problem either. Open up the shortcut properties to your new browser just like you did above and after the “-P test” add in “-no-remote”. Now you can open multiple profiles, which should allow you to open your old browser and new browser side-by-side.

Have fun!

Reference Links from mozillaZine knowledge base:
Profile Manager

Command line arguments