RFC: Extension Developer Extension
- Philip Chee
- Posts: 6475
- Joined: March 1st, 2005, 3:03 pm
- Contact:
-
- Posts: 1269
- Joined: November 5th, 2002, 7:32 am
- Location: PA
- Contact:
I hoped to get a version released today before I left for the weekend, but I got distracted writing an article for MDC (this one). I really have been neglecting EDE, turns out extensionbuilder doesn't work because of the updated windows registry API. I'll have that fixed by next week, and I'm working on support for new chrome.manifest extensions as well.
Phil: don't worry, I won't drop SeaMonkey support.
-Ted
Phil: don't worry, I won't drop SeaMonkey support.
-Ted
-
- Posts: 4019
- Joined: November 16th, 2003, 3:05 am
- Location: Russia, Moscow
I'd really like it if the default XUL document was a bit more sophisticated (with <script><CDATA></script> and <html></html>). I have to type those quite often.
Another time-saver would be a (hideable?) menu item "Open JS Shell for the current browser window". (Also "Inspect this browser window in DOMi".)
Last, but not least, it should be possible to access the document in the live XUL editor via a chrome URL. This should make it easier to rapidly test something that involves popups and, more importantly, make it possible to create XUL testcases with inline XBL (you can't do this with current xul editor, since it relies on data: URIs that don't allow use the fragment ids (data:....#id))
Another time-saver would be a (hideable?) menu item "Open JS Shell for the current browser window". (Also "Inspect this browser window in DOMi".)
Last, but not least, it should be possible to access the document in the live XUL editor via a chrome URL. This should make it easier to rapidly test something that involves popups and, more importantly, make it possible to create XUL testcases with inline XBL (you can't do this with current xul editor, since it relies on data: URIs that don't allow use the fragment ids (data:....#id))
-
- Posts: 1269
- Joined: November 5th, 2002, 7:32 am
- Location: PA
- Contact:
asqueeella: I dug up your old submission for setting the default contents of the jsenv and xul editor, and I intend to include that for the next version. An "Open JS Shell for this window" is interesting. Maybe it should default its context to the current HTML window when you open it? Also, that already exists for DOMi, use Ctrl + Shift + I. Your final suggestion is interesting. I think I know a way to do it, I'll just have to do some testing.
Edit:
I think I'm also going to include that JRX realtime regex tester someone linked a while ago, as well as an interactive XPath tester. Are there any other tools anyone would like to see rolled into a new version of extensiondev?
-Ted
Edit:
I think I'm also going to include that JRX realtime regex tester someone linked a while ago, as well as an interactive XPath tester. Are there any other tools anyone would like to see rolled into a new version of extensiondev?
-Ted
- Philip Chee
- Posts: 6475
- Joined: March 1st, 2005, 3:03 pm
- Contact:
-
- Posts: 1269
- Joined: November 5th, 2002, 7:32 am
- Location: PA
- Contact:
Ok, so a few tidbits and updates:
Done:
Done:
- Updated JS Shell and JS Environment to latest versions
- JS Environment, Live XUL Editor, Live HTML Editor all have Load and Save buttons now
- JS Environment has a scope selector
- Added JRX - JavaScript Real-Time RegEx Evaluator
- Added Interactive XPath Tester
- Added window icons for all tools so you can distinguish their windows
- Finish work on extension builder
- Add prefs for default contents for XUL Editor/JS Environment
-
- Posts: 1269
- Joined: November 5th, 2002, 7:32 am
- Location: PA
- Contact:
I released it: http://forums.mozillazine.org/viewtopic.php?p=2404541
We can close this super-long discussion now, I guess.
We can close this super-long discussion now, I guess.
- satovey
- Posts: 6
- Joined: November 2nd, 2007, 7:22 am
Suggestion for Additional Features
Hi Ted,
I like your extension.
How about feature requests for the next version?
I would like to see the following: a project file created for a given extension "myextension.xml" that would be stored in the "myextension" directory.
What I have found is that the builder creates a build subdirectory in the myextension directory and below that is the chrome directory and so on.
You could implement version control easily by adding the version number to end of the build directory name, "build1.0". The project file for a given build would be given the same name "build1.0.xml" and placed within "myextension" directory.
The xml file would contain all of the parameters for the given build such as the build directory and those parameters would be placed in their given variables when the project is opened.
This would allow one to use the builder to edit the extension project and make additions.
An additional feature which would be a change from your reload all chromes button would be to load the extension in a tab to test it for proper functionality. This would allow for better debugging.
I have built a status-bar overlay but it does not load. To properly test this, I would need to uninstall all of the extensions that modify the status bar and then see if my extension loads. Or install an unmodified version of firefox in a second directory for development. I currently do not have room for this as I am running firefox on a public computer. Mines in storage otherwise this would not be an issue.
By running project extensions in a tab, you could load a virtual object such as the status-bar object or other object of firefox and at the same time not load any of the added extensions.
At the same time, loading the developer inside a tab as opposed to an external window would enable you to build a javascript GUI interface with buttons to change from one wizard to the other thereby allowing one to make changes to the extension.
There could also be code insert buttons like they have in the fancy html text editor to help developers start the given overlay or object.
This might be a bit huge in development so you might want to have a few developers help you out with it.
Right now, I'm just learning how to do extensions and the one I built does not work. That however may be due to the multi-status-bar extension I have installed.
Take care,
Scott
Ted Mielczarek wrote:I released it: http://forums.mozillazine.org/viewtopic.php?p=2404541
We can close this super-long discussion now, I guess.
I like your extension.
How about feature requests for the next version?
I would like to see the following: a project file created for a given extension "myextension.xml" that would be stored in the "myextension" directory.
What I have found is that the builder creates a build subdirectory in the myextension directory and below that is the chrome directory and so on.
You could implement version control easily by adding the version number to end of the build directory name, "build1.0". The project file for a given build would be given the same name "build1.0.xml" and placed within "myextension" directory.
The xml file would contain all of the parameters for the given build such as the build directory and those parameters would be placed in their given variables when the project is opened.
This would allow one to use the builder to edit the extension project and make additions.
An additional feature which would be a change from your reload all chromes button would be to load the extension in a tab to test it for proper functionality. This would allow for better debugging.
I have built a status-bar overlay but it does not load. To properly test this, I would need to uninstall all of the extensions that modify the status bar and then see if my extension loads. Or install an unmodified version of firefox in a second directory for development. I currently do not have room for this as I am running firefox on a public computer. Mines in storage otherwise this would not be an issue.
By running project extensions in a tab, you could load a virtual object such as the status-bar object or other object of firefox and at the same time not load any of the added extensions.
At the same time, loading the developer inside a tab as opposed to an external window would enable you to build a javascript GUI interface with buttons to change from one wizard to the other thereby allowing one to make changes to the extension.
There could also be code insert buttons like they have in the fancy html text editor to help developers start the given overlay or object.
This might be a bit huge in development so you might want to have a few developers help you out with it.
Right now, I'm just learning how to do extensions and the one I built does not work. That however may be due to the multi-status-bar extension I have installed.
Take care,
Scott
Scott
- Shadoefax
- Posts: 465
- Joined: April 29th, 2005, 2:59 pm
- Location: Glendale, AZ
- Contact:
Extension Developer v0.3.0.20060726 crashes in Fx 3.0b1
Ted,
I was trying to play with the new ZipWriter component with your JavaScript Shell 1.4, but it blew up on me. I entered the following code:
and Fx crashed. Is this a problem with the nsIZipWriter component, or with the JavaScript Shell?
BTW, Extension Developer wouldn't install on Fx 3.0b1 until I hacked the updateURL in install.rdf to point to a secure url.
I was trying to play with the new ZipWriter component with your JavaScript Shell 1.4, but it blew up on me. I entered the following code:
Code: Select all
var zip = Components.classes["@mozilla.org/zipwriter;1"]
.createInstance(Components.interfaces.nsIZipWriter);
props(zip)
BTW, Extension Developer wouldn't install on Fx 3.0b1 until I hacked the updateURL in install.rdf to point to a secure url.
Code: Select all
<em>https://ted.mielczarek.org/code/mozilla/extensiondev/extensiondev.rdf</em>
All my signatures are stolen from other people. Including this one.
Homepage
Homepage
-
- Posts: 14
- Joined: January 10th, 2007, 9:03 am
Hello,
I have installed Extension Developer Extension in SeaMonkey 2.0a1pre simply by adding
<em>
<Description>
<em>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em> <SeaMonkey>
<em>1.0</em>
<em>2.0</em>
</Description>
</em>
to install.rdf, and it installed fine. There is already a seamonkeyOverlay, the extension installed in the "Tools" menu.
I am not able to test whether all the functionalities work as they should in SeaMonkey, because I'm only using a few of them, but maybe someone more skilled will be able to test that.
Ted, would it be possible to make EDE fully compatible with SM2.0a1pre, in any case?
Thanks!
I have installed Extension Developer Extension in SeaMonkey 2.0a1pre simply by adding
<em>
<Description>
<em>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em> <SeaMonkey>
<em>1.0</em>
<em>2.0</em>
</Description>
</em>
to install.rdf, and it installed fine. There is already a seamonkeyOverlay, the extension installed in the "Tools" menu.
I am not able to test whether all the functionalities work as they should in SeaMonkey, because I'm only using a few of them, but maybe someone more skilled will be able to test that.
Ted, would it be possible to make EDE fully compatible with SM2.0a1pre, in any case?
Thanks!
-
- Posts: 14
- Joined: January 10th, 2007, 9:03 am
-
- Posts: 387
- Joined: September 6th, 2006, 1:39 pm
- Contact:
Thanks for this extension.
I did use it a little while ago and I was pleased that packaging my extension now it was easier, but when I tried to do it again it failed, it didn't include the chrome.manifest and install.rdf into the xpi
After debugging I found that previously I had installed winrar, but now I was using 7zip in windows, and after a lot more debugging I finally found a fix, changing the 7zip.bat file:
in line 16 change from
set FILES=%FILES% %1\*
to
set FILES=%FILES% %1
and now the xpi is generated properly (or so it seems), and the output size is better than the version generated by winrar.
Regards
I did use it a little while ago and I was pleased that packaging my extension now it was easier, but when I tried to do it again it failed, it didn't include the chrome.manifest and install.rdf into the xpi
After debugging I found that previously I had installed winrar, but now I was using 7zip in windows, and after a lot more debugging I finally found a fix, changing the 7zip.bat file:
in line 16 change from
set FILES=%FILES% %1\*
to
set FILES=%FILES% %1
and now the xpi is generated properly (or so it seems), and the output size is better than the version generated by winrar.
Regards
-
- Posts: 1
- Joined: November 26th, 2008, 5:56 pm
Re: RFC: Extension Developer Extension
The install for development feature isn't working for me - I'm not sure if it's because of FF3 changes or not...
The error happens when I switch directories, which is the same time the install/uninstall buttons should be enabled disabled... but they always remain disabled.
Error Console wrote:Error: it is null
Source File: chrome://extensiondev/content/extensionbuilder.js
Line: 583
Code: Select all
function isInstalled(id)
{
if('@mozilla.org/extensions/manager;1' in Components.classes) {
// Firefox 1.5+
var em = Components.classes['@mozilla.org/extensions/manager;1']
.getService(Components.interfaces.nsIExtensionManager);
var it = em.getItemForID(id);
if(it.type != 0) <---- Line 583
return true;
}
return false;
}
The error happens when I switch directories, which is the same time the install/uninstall buttons should be enabled disabled... but they always remain disabled.
- LIMPET235
- Moderator
- Posts: 39961
- Joined: October 19th, 2007, 1:53 am
- Location: The South Coast of N.S.W. Oz.
Re: RFC: Extension Developer Extension
Brad12...
Please remove that "Smiley" link you added to your last 3 posts.
No commercials here please.
Thank you.
Please remove that "Smiley" link you added to your last 3 posts.
No commercials here please.
Thank you.
[Ancient Amateur Astronomer.]
Win-10-H/64 bit/500G SSD/16 Gig Ram/450Watt PSU/350WattUPS/Firefox-115.0.2/T-bird-115.3.2./SnagIt-v10.0.1/MWP-7.12.125.
(Always choose the "Custom" Install.)
Win-10-H/64 bit/500G SSD/16 Gig Ram/450Watt PSU/350WattUPS/Firefox-115.0.2/T-bird-115.3.2./SnagIt-v10.0.1/MWP-7.12.125.
(Always choose the "Custom" Install.)