MozillaZine

RFC: Extension Developer Extension

Talk about add-ons and extension development.
Philip Chee

User avatar
 
Posts: 6475
Joined: March 1st, 2005, 3:03 pm

Post Posted July 26th, 2006, 8:59 am

If you could look at the ExecuteJS extension to see if you can use any of the code to improve your injector.xul, or just simply Borg it into the EDE. Also could you please not remove SeaMonkey compatibility? Thanks muchly.

Phil

Ted Mielczarek
 
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA

Post Posted July 27th, 2006, 7:46 am

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

asqueella
 
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post Posted July 29th, 2006, 10:14 am

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))

Ted Mielczarek
 
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA

Post Posted July 29th, 2006, 1:16 pm

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

Philip Chee

User avatar
 
Posts: 6475
Joined: March 1st, 2005, 3:03 pm

Post Posted July 29th, 2006, 6:02 pm

This may be out of scope but in another thread some one was suggesting that php.dll/libphp.so/etc be packaged into an extension so that local .PHP files are routed through the php interpreter and the results rendered.

Phil

asqueella
 
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post Posted July 30th, 2006, 2:28 pm

Ted Mielczarek wrote:Also, that already exists for DOMi, use Ctrl + Shift + I.

Not really, that opens the content document in the DOMi, while I'm interested in the browser window itself.

Ted Mielczarek
 
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA

Post Posted July 31st, 2006, 5:54 am

Ok, so a few tidbits and updates:
Image
Image
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
To-Do:
  • Finish work on extension builder
  • Add prefs for default contents for XUL Editor/JS Environment

Ted Mielczarek
 
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA

Post Posted August 1st, 2006, 7:58 am

I released it: http://forums.mozillazine.org/viewtopic.php?p=2404541

We can close this super-long discussion now, I guess. :)

satovey

User avatar
 
Posts: 6
Joined: November 2nd, 2007, 7:22 am

Post Posted November 8th, 2007, 9:58 am

Hi Ted,

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

User avatar
 
Posts: 453
Joined: April 29th, 2005, 2:59 pm
Location: Glendale, AZ

Post Posted December 18th, 2007, 3:52 pm

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:
Code: Select all
var zip = Components.classes["@mozilla.org/zipwriter;1"]
         .createInstance(Components.interfaces.nsIZipWriter);
             
props(zip)
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.

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

dew_veil
 
Posts: 14
Joined: January 10th, 2007, 9:03 am

Post Posted February 17th, 2008, 5:51 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!

dew_veil
 
Posts: 14
Joined: January 10th, 2007, 9:03 am

Post Posted February 17th, 2008, 6:04 am

Oops. Tags don't go through correctly.

[code]
<em:targetApplication>
<Description>
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <!-- SeaMonkey -->
<em:minVersion>1.0</em:minVersion>
<em:maxVersion>2.0</em:maxVersion>
</Description>
</em:targetApplication>
[/code]

AlfonsoML
 
Posts: 387
Joined: September 6th, 2006, 1:39 pm

Post Posted March 19th, 2008, 4:12 pm

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

nanidin
 
Posts: 1
Joined: November 26th, 2008, 5:56 pm

Post Posted November 26th, 2008, 6:00 pm

The install for development feature isn't working for me - I'm not sure if it's because of FF3 changes or not...

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

User avatar
 
Posts: 39051
Joined: October 19th, 2007, 1:53 am
Location: The South Coast of N.S.W. Oz.

Post Posted August 2nd, 2011, 4:48 am

Brad12...
Please remove that "Smiley" link you added to your last 3 posts.
No commercials here please.
Thank you.
Ancient Amateur Astronomer
Win-7-HP/Intel® DualCore-2.0GHz/500G HDD/4 Gig Ram/550Watt PSU/350WattUPS/Firefox-20.0-62.0-70.0/T-bird-2.0.0.24/SnagIt-v10.0.1/MWP-7.12.
(Always choose the "Custom" Install.)

Return to Extension Development


Who is online

Users browsing this forum: No registered users and 1 guest