RFC: Extension Developer Extension

Talk about add-ons and extension development.
Post Reply
flow79
Posts: 91
Joined: January 30th, 2004, 3:18 am

Post by flow79 »

Salva: that's odd, I'll need to look at the code and get back to you. It looks in the registry, but it has to look at strange keys to try to find zip programs, since most of them do not put an install dir in there.


I keep getting the error message for 7-zip. I checked the code. It finds 7-zip in the path alright but the problem appears to be that the extension is looking for a file '7-zip.bat' in it's installed directory which is not there. Any ideas?
Last edited by flow79 on April 4th, 2005, 10:46 pm, edited 1 time in total.
flow79
Posts: 91
Joined: January 30th, 2004, 3:18 am

Post by flow79 »

I keep getting the error message for 7-zip. I checked the code. It finds 7-zip in the path alright but the problem appears to be that the extension is looking for a file '7-zip.bat' in it's installed directory which is not there. Any ideas?

hmm... it does have 7-zip.bat... and i have hardcoded the path for 7-zip... still not working.. strange..
dprotzmann
Posts: 9
Joined: March 14th, 2005, 9:54 am
Location: Darmstadt, Germany
Contact:

Post by dprotzmann »

I tried using Extension Developer 0.2.0.20041209 this to create a XPI for TB. But the <a href="http://www.protzmann.net/OESS.XPI">created XPIs</a> have a wrong structure. This is my directory structure where Extension Developer creates XPIs from (oess is the package name):

Code: Select all

install.rdf
chrome/
  content/
    oess/
      contents.rdf
      oess.xul


The created XPI looks like this:

asqueella wrote:

Code: Select all

.xpi
  install.rdf
  chrome/
    content/         [this branch shouldn't exist]
      oess/
        contents.rdf
        oess.xul
    oess.jar
      chrome/       [wrong! "content" dir should be here]
        content/
           oess/
             contents.rdf
             oess.xul



I use Winzip 9.0 SR1 as packing tool, Thunderbird 1.0.2 and Win XP pro SP2.
Ted Mielczarek
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA
Contact:

Post by Ted Mielczarek »

dprotzmann: Sorry, extensiondev expects your directory structure to look like

Code: Select all

chrome/
   foo.jar
content/
 ...
locale/
 ...
install.rdf


Perhaps in the future I'll have smart detection of alternate directory structures, since it looks like quite a few people use the structure you're using.
dprotzmann
Posts: 9
Joined: March 14th, 2005, 9:54 am
Location: Darmstadt, Germany
Contact:

Post by dprotzmann »

Thanks for your quick reply. I think "my" structure is caused by learning by doing. I just extracted the *.jar where it was and got the structure this way :-(.

An info about correct structure at the extension builder window would be quite useful and "Clear Working Directory History", too. Another idea is a backup option, which saves a zip of your working directory everytime you build your extension.
asqueella
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post by asqueella »

I don't remember if I requested this already, but it would be nice feature to have: an ability to specify default text to appear in live XUL editor (I often wish that the <script><![CDATA[addEventListener("load", ...)]]></script>) and some scripts to be executed on JS Environment startup (I want to define a few helpers for my own use and "load()" - to load a script - which will probably be useful enough to be included in EDE itself).

I can probably implement this, if you like.
User avatar
HappyFunBall
Posts: 42
Joined: April 29th, 2005, 6:12 am

Post by HappyFunBall »

Re: the "Extra Files to add to XPI"; how do I get that pathname so I can read from various files I've put there?

I suppose I could use the "%profile%/chrome" path retrieved with :
var file = Components.classes["@mozilla.org/file/directory_service;1"].
getService(Components.interfaces.nsIProperties).
get("UChrm", Components.interfaces.nsIFile); // ProfD
then modify, substituting 'extensions' and using the GUID of my extension, but I'd like a more accepted method.
Tearfang
Posts: 1
Joined: April 27th, 2005, 8:01 pm

Does Firefox have to reload in order to update the extension

Post by Tearfang »

Cool extension.
It would be nice if Firefox didn't have to be reloaded in order to test an updated extension... Since I suspect this might not be possible it would also be nice if there was a checkbox next to install extension which said auto restart which if checked would automatically restart Firefox for you after the install. This would save a little bit of time every time I test my extension.
asqueella
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post by asqueella »

You don't need to reinstall the extenion. You can just edit the JAR in your profile or other techniques described in the knowledge base.
Ted Mielczarek
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA
Contact:

Post by Ted Mielczarek »

asqueella wrote:I don't remember if I requested this already, but it would be nice feature to have: an ability to specify default text to appear in live XUL editor (I often wish that the <script><![CDATA[addEventListener("load", ...)]]></script>) and some scripts to be executed on JS Environment startup (I want to define a few helpers for my own use and "load()" - to load a script - which will probably be useful enough to be included in EDE itself).

I can probably implement this, if you like.


Patches are certainly welcome. I'll probably get back into developing extensiondev soon, when work slows down a bit.
asqueella
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post by asqueella »

Hm, so do you want to use Jesse's code verbatim or the only reason everything is in (cross-browser!) HTML is lazyness? ;)
Ted Mielczarek
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA
Contact:

Post by Ted Mielczarek »

asqueella wrote:Hm, so do you want to use Jesse's code verbatim or the only reason everything is in (cross-browser!) HTML is lazyness? ;)


A bit of laziness, yes, but also so when he updates the tools (as with JS Shell 1.3) I can just copy the new files into the extension. I have made some changes to JSEnv, I'm not sure that they're all for the best. My JSShell changes are localized to js files that I include, Jesse has kindly left the script tags in the JSShell html file, which is nice. If you can make your changes work that way, that would be best.
Ted Mielczarek
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA
Contact:

Post by Ted Mielczarek »

Okay, I've uploaded a new build: 0.2.1.20050504. The only major change is that I updated the Javascript Shell to 1.3. I also fixed a few of the bugs mentioned in this thread. (finally!)

There's a lot of code that I wrote (and is still in there, albeit commented out) that I'm going to scrap in light of the new extension manager changes. I'll probably have to rework the extension builder to be 1.1 EM friendly also. Hopefully I'll have time and motivation to do this soon.

Please let me know of any bugs you find in this version.
User avatar
mrtech
Posts: 2007
Joined: May 15th, 2003, 7:46 am
Location: New York
Contact:

Post by mrtech »

Just a heads up, I'm sure you know this, but for 1.1 you can automatically include chrome.manifest as part of the extension builder package files. Thanks and keep the updates flowing :)
Ted Mielczarek
Posts: 1269
Joined: November 5th, 2002, 7:32 am
Location: PA
Contact:

Post by Ted Mielczarek »

Image

That was easier than I thought.

Cinco de Mayo Edition: 0.2.2.20050505

Now with Javascript Injector!
Post Reply