MozillaZine

RFC: Extension Developer Extension

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

Post Posted April 4th, 2005, 12:14 am

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 Posted April 4th, 2005, 10:45 pm

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

Post Posted April 13th, 2005, 8:05 am

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

Post Posted April 13th, 2005, 8:19 am

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

Post Posted April 13th, 2005, 12:42 pm

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 Posted April 13th, 2005, 1:12 pm

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.

HappyFunBall

User avatar
 
Posts: 42
Joined: April 29th, 2005, 6:12 am

Post Posted April 30th, 2005, 1:54 pm

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

Post Posted April 30th, 2005, 3:12 pm

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 Posted April 30th, 2005, 3:29 pm

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

Post Posted May 3rd, 2005, 10:19 am

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 Posted May 3rd, 2005, 1:06 pm

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

Post Posted May 4th, 2005, 5:59 am

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

Post Posted May 4th, 2005, 6:12 pm

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.

mrtech

User avatar
 
Posts: 2007
Joined: May 15th, 2003, 7:46 am
Location: New York

Post Posted May 5th, 2005, 12:15 am

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

Post Posted May 5th, 2005, 7:50 pm

Image

That was easier than I thought.

Cinco de Mayo Edition: 0.2.2.20050505

Now with Javascript Injector!

Return to Extension Development


Who is online

Users browsing this forum: No registered users and 2 guests