I have an extension that do the same on Firefox and Chrome that I would like to deploy / be able to update in Enterprise environment for Firefox and Chrome.
I am not wanting to use the stores and I could not find informations on how I would be able to deploy/update this extension on 200+ computers without having to do it manually.
If someone have some informations about how to do this.
I've gone over the Mozilla Developer Network "Getting Started (jpm)" guide to getting started with Firefox add-on development.
This guide suggests that to see the effects of changes that I make to my add-on's code I need to:
Close Firefox
Rebuild the add-on.
Run it in Firefox again.
Do I really have to rebuild my package and run it a new instance of Firefox to see my changes?
Is there an alternative way to refresh the add-on code from within the browser?
You can combine jpm with the Extension Auto Installer add-on like this:
jpm post --post-url http://localhost:8888/
Or using watchpost to automate the process:
jpm watchpost --post-url http://localhost:8888/
I am developing a Firefox addon for making fullpage screenshots of web pages. I know that several good addons that do this are already available, but we have some specific needs so I thought I would try to make my own.
I read that I can do screenshot --fullpage in the Firefox Developer Toolbar. This seems to works well. Can I also call this command from within my addon? If so, how would I go about that?
I've just finished porting a Firefox XUL extension to Firefox SDK, in response to changes coming in a future version of Firefox that would completely break our legacy code. So far, however, I haven't managed to find any guides or documentation for how to migrate users from the older system to the newer one.
Pointing update.rdf to an xpi file generated by the Firefox SDK hasn't produced the desired affect, and simply dragging the xpi into the addon window creates a side-by-side installation.
Any tips on how to gracefully update users to the new architecture?
Looks like this is not only possible, it's very simple: just copy the ID from the install.rdf of the XUL addin and paste it into the ID field of package.json in the SDK addon folder. From reading the docs, I was under the impression the format of the SDK addon ID mattered, looks like I was mistaken.
I am setting up Selenium testing for Safari 5 on Mac. I need to install our Safari extension before hand, and it needs to happen silently and without any user prompting. From previous posts, I've found this works in that it loads the browser with the extension:
open -a Safari okta.safariextz
But it leaves the browser opened with a prompt to the user: "Are you sure you want to install the extension?"
Selenium doesn't have access to this prompt and can't click install. I need to configure Safari such that it does not prompt the user to install, but just allows the extension to be installed.
Is there any way to do this?
Any pointers appreciated.
-Denali
Edit: Possible new method: The answer here might suggest (it's somewhat unclear) that, with a possible risk of messing up your future safari upgrades, you might be able to manually install an extension, skipping the confirmation prompt, via a file move and a plist hack. I haven't tried it, but it looks as if it might work:
If you're just doing this for in-house deployment and don't mind if it breaks on a Safari upgrade, then you can quit Safari, install the extension into ~/Library/Safari/Extensions and update ~/Library/Safari/Extensions/Extensions.plist (the format is rather obvious; /usr/libexec/PlistBuddy is useful for such things).
You can't do what you're after--at least, not with any commandline switch or plist hack that I know of. Extension install confirmation is a core part of Safari's security model, and is not easily circumvented.
Instead, I'd consider using automator (if you're not familiar with it, think Selenium but for desktop apps, and more) to send a click on the appropriate button, and then distributing an automator app that launches safari with the appropriate parameters, sends the click when the extension dialog appears, and then goes on to run Selenium-based (rather than automator-based) automations. To get started, I'd check out the following links:
Automating via applescript rather than the "duplo legos" automation builder: http://www.mactech.com/articles/mactech/Vol.21/21.06/UserInterfaceScripting/index.html
Very brief overview of macro recording (you hit record, send the click you want, hit save, and you can re-execute your recorded actions): http://automator.us/leopard/features/virtual-user.html
My favorite intro to automator tutorial: http://cjrtools.org/mac/tutorials/autohowto.html
I don't believe there is any way to do a silent extension install as it would be a security hole. You may want to try incorporating an AppleScript to do the extension install before running your Selenium tests.
Here is another question on StackOverflow with AppleScript details for Safari extension reloading that can be used for your purposes:
How to reload a Safari Extension from the command line?