Firefox has always been my favorite web browser, more for ethic reasons than performance (take a look to "The Mozilla Manifesto"). But some features of Firefox are not very user-friendly or good looking, so I wanted to improve some aspects using the new WebExtensions. But I found some workflow issues in the last steps of the development.
Developing a Firefox WebExtension is a quite straight forward work. Every developer with knowledge of web technologies can easily write a Firefox Addon. There is a lot of documentation about the JS APIs and how to create a WebExtension Addon from scratch. There's just a little problem.
During the addon's development you can use Firefox as working platform, but you can run you addon just temporarily. Everytime time you close Firefox, it will be removed and next time you open Firefox you will have to reload your addon from scratch. It's a bit frustrating if you addon need a little setup on the first run.
Can I install my addon permanently?
No, you can't. You have to sign your Addon by Mozilla to install.
Can I self-sign my addon?
No, you can't (again). Only Mozilla's Addon Platform can sign your addon after a review
Wait a minute! I just need to run my addon for testing purpose, I'm not ready for a review!
And here it is the solution, because this aspect is not very clear on the Mozilla's documentation,but fortunately Mozilla has a great community which helped me to understand the right way to achieve this goal:
You can install the Firefox Developer Edition and disable the addon sign control, then generate a XPI from your WebExtension and install it like any other addon. From this moment you can test your addon without reloading it from scratch.
Step by step instructions
- Install Firefox Developer Edition
- Open Firefox Dev. Edition and goto to about:config
- Search for: xpinstall.signatures.required
- Double click on the resulting row to set its value to false
- Create a .xpi from your WebExtension, to do it just compress your project folder and rename its extension from ".zip" to ".xpi" more details here
- Install the .xpi file: menu > addons > settings (gear menu) > install addon from files
Note: Without signing you xpi, you will need a uniqueID for your project, in order to achieve this you can create a fake ID adding the "application" key to the manifest (more details)