Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2

# Déclaration chrome pour développement

Envoyé par : syl

Date : 27/05/2006 12:12

Bonjour,

Je cherche a y voir clair dans les déclarations chrome.

D'apres le tuto Extensions/Enregistrement Chrome, On peut enregistrer "manuellement" une appli dans le chrome a l'aide du fichier installed-chrome.txt.

Je travaille avec Firefox 1.5.0.3 et impossible de trouver ce fichier. J'ai donc créer ce fichier mais rien ne se passe; je fais probablement fausse route. Il y a bien un fichier chromelist.txt mais je ne sais pas comment le completer si du moins il a un role équivalent.

Bon, mon objectif est de créeer une appli standalone donc d'utiliser Xulrunner a terme. Y-a-t-il alors un moyen de declarer une appli manuellement (sans XPI) pour développer directement dans xulrunner.

Merci par avance pour vos réponse...

# Re: Déclaration chrome pour développement

Envoyé par : chBok

Date : 27/05/2006 13:09

Le tuto est fait pour créer un paquetage pour une extension. Pour développer, je te conseille de lire l'article comment configurer Mozilla pour développer.

# Re: Déclaration chrome pour développement

Envoyé par : syl

Date : 27/05/2006 14:49

Bon, c'est fait pour la creation du profil, ca semble fonctionner, par contre, j'ai beau lire le tuto sur l'enregistrement chrome, je m'embrouille les pinceaux et ne sais plus comment je dois déclarer mon appli sous firefox 1.5 et pour pouvoir développer (sans extension)

J'ai mon appli (aase) qui est là : C:\syl\aase\ Avec content, locale et skin...

Ce que je ne comprend pas c'est quelles sont les opérations minimales pour arriver à mes fins.

J'ai essayer de créer un aase.manifest enregistré sous :

C:\Program Files\Mozilla Firefox\chrome
content aase C:\syl\aase\content
locale aase C:\syl\aase\locale
skin aase C:\syl\aase\skin
overlay chrome://aase/content/aase.xul  chrome://aase/content/aa_ovl_MainMenu.xul
overlay chrome://aase/content/aase.xul   chrome://aase/content/aa_ovl_MainToolbar.xul
overlay chrome://aase/content/aase.xul chrome://aase/content/aa_ovl_MainRecherche.xul
overlay chrome://aase/content/aase.xul chrome://aase/content/aa_ovl_MainStatusBar.xul
overlay chrome://aase/content/aase.xul  chrome://aase/content/aa_ovl_MainTable.xul

Que faut-il faire apres ? Je nage un peu et ce que j'ai essayé ne marche pas (c'est la console javascript qui me dit que mon chrome aase n'est pas déclaré)

Merci

# Re: Déclaration chrome pour développement

Envoyé par : syl

Date : 28/05/2006 12:15

Ca y est !! Apres maintes consultations de pages sur l'enregistrement chrome, j'ai enfin reussi à déclarer mon appli en chrome Je suis toujours sous FF 1.5 et je ne veux pas creer d'XPI. Voici comment j'ai procéder, si ça peut servir à quelques Xulien débutant comme moi.

Mon dossier de projet est ficelé comme ça :

c:\syl\
    chrome.manifest
    install.rdf
    chrome\
        aase\
          content\
                 aase.xul
          locale\
          skin\

Mon fichier chrome.manifest est le suivant :

content aase chrome\aase\content\
locale aase chrome\aase\locale\
skin aase chrome\aase\skin\

Mon fichier install.rdf est le suivant :

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:em="http://www.mozilla.org/2004/em-rdf#">

 <Description about="urn:mozilla:install-manifest">
   <em:id>id@aase.com</em:id>
   <em:version>1.0</em:version>
   <em:type>2</em:type>
  
   <!-- Target Application this extension can install into, 
        with minimum and maximum supported versions. --> 
   <em:targetApplication>
     <Description>
       <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
       <em:minVersion>1.0+</em:minVersion>
       <em:maxVersion>1.5.0.*</em:maxVersion>
     </Description>
   </em:targetApplication>
  
   <!-- Front End MetaData -->
   <em:name>Sample!</em:name>
   <em:description>A test extension</em:description>
   <em:creator>Your Name Here</em:creator>
   <em:homepageURL>http://www.foo.com/</em:homepageURL>
 </Description>      
</RDF>

J'ai créé un profil de développement qui se trouve dans mon répertoire de profil. Dans le répertoire extensions il y a mon fichier de redirection que j'ai appelé id@aase.com (identifiant de mon appli) et qui contient :

C:\syl\

Il me semble que ça devrait fonctionner Alors j'ouvre FF a l'aide du fichier bat ci-dessous :

cd /d "C:\Program Files\Mozilla Firefox"
set MOZ_NO_REMOTE=1
start firefox.exe -P aasedev

Puis dans la barre d'adresse, je colle :

chrome://aase/content/aase.xul

Bonne journée

# Re: Déclaration chrome pour développement

Envoyé par : delaballe

Date : 28/05/2006 17:53

Salut

Bon alors voilà je débute avec le developpement d'applis XUL

et là je dois dire que y a un truc que je comprend pas !!!

voilà je tente de faire une extension. En suivant les nombreuses doc sur le web (c'est le gros bordel!!! pas une doc qui marche du premier coup avec toutes ces versions différentes !! mais bon c un autre problème)

et donc voilà mon dossier :

test

   chrome
         content
                test.xul

chrome.manifest install.rdf

donc je fais la procédure d'enregistrement comme expliqué (GUID)

lorsque je démare firefox mon extension est bien visible mais firefox me dit qu'elle n'est pas compatible avec la version utilisée.

Mais là mystère il suffit que je crée n'importe quel fichier dans le dossier de mon extension je redémarre firefox et la magie opère, mon extension marche !!!!!!!!.

Une idée ???

        

# Re: Déclaration chrome pour développement

Envoyé par : gorby69

Date : 02/08/2006 16:24

Salut Syl,

Grace à toi ça marche enfin chez moi....

Un grand merci :)

# Re: Déclaration chrome pour développement

Envoyé par : jreeman

Date : 16/08/2006 23:45

Je comprends rien ca marche pas du tout chez moi...

# Re: Déclaration chrome pour développement

Envoyé par : jreeman

Date : 17/08/2006 01:15

Bon vraiment je pige quedalle, j'explique mon truc.

Tout d'abord, j'ai pris une ancienne arborescence qui marche quand elle est dans un XPI (voir l'arborescences en fin de message dans le PS), mon extension s'apelle pagesback, alors c'est parti, voila l'arboresence :

c:\pagesback\sources contient :

- install.rdf
- chrome.manifest
+ xul 
   + content
        + pagesback <- ??
             - pagesback.xul
             - content.rdf
    + skin
        + classic
             + pagesback <- ??
                    - content.rdf
                    - pagesback.css
     + locale
         + en-US
             + pagesback<- ??
                    - content.rdf
                    - pagesback.dtd

Me demandez pas pourquoi à la fin de l'arborescence, j'ai le nom de mon extention pagesback, j'ai repris une arborescence (trouvé surement ici y'a pas mal de temps) et qui fonctionne.

Tout ce que je sais c'est que lorsque je package mon xpi final en gardant cette structure et les content.rdf, ca fonctionne très bien, je tape chrome://pagesback/content/pagesback.xul et j'ai ma page, même si je trouve bizarre, comme déjà dit, d'avoir un répertoire pagesback à chaque fois en bout de content, skin et locale, ca a le mérite de fonctionner.

Bon bref, j'ai essayé de configurer mon firefox 1.5 pour le dev, j'ai créé mon profil etc etc..., j'ai mis MOZ_NO_REMOTE à 1, j'ai mis dans le répertoire extentions de mon profil le fichier pagesback@pagesback.com contenant le chemin d'accès à ma structure soit :

c:\pagesback\sources

Ok et donc ensuite dans c:/pagesback/sources, j'ai mis le fichier chrome.manifest et install.rdf contenant donc logiquement :

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:em="http://www.mozilla.org/2004/em-rdf#">

 <Description about="urn:mozilla:install-manifest">
   <em:id>__pagesback@pagesback.com__</em:id>
   <em:version>0.1</em:version>
   <em:type>2</em:type>

   <!-- Target Application this extension can install into,
       with minimum and maximum supported versions. -->
   <em:targetApplication>
     <Description>
       <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
       <em:minVersion>1.0+</em:minVersion>
       <em:maxVersion>1.5.0.+</em:maxVersion>
     </Description>
   </em:targetApplication>

   <!-- Front End MetaData -->
   <em:name>PAGESBACK</em:name>
   <em:description>My extension</em:description>
   <em:creator>pagesback.com</em:creator>
   <em:homepageURL>http://www.pagesback.com</em:homepageURL>
   <em:updateURL></em:updateURL>
  </Description>
</RDF>

Et surtout surtout, maintenant le plus intéressant, le chrome.manifest...

1ère tentative, j'y met :

content pagesback xul\content
locale pagesback en-US xul\locale
skin pagesback global xul\skin

Mais là rien du tout, je saisis dans firefox chrome://pagesback/content/pagesback.xul mais j'ai un message d'erreur de firefox me disant que la page est introuvable, j'ai mis aussi chrome://pagesback/content/pagesback/pagesback.xul mais ca ne marche pas non plus. Par contre, l'extension manager "voit" mon extension (??).

2ème tentative, je rajoute le chemin jusqu'à mes fichiers donc :

content pagesback xul\content\pagesback
locale pagesback en-US xul\locale\en-US\pagesback
skin pagesback global xul\skin\global\pagesback

Et là, avec chrome://pagesback/content/pagesback.xul rien du tout.

Mais avec chrome://pagesback/content/pagesback/pagesback.xul, miracle, j'ai une erreur :

Erreur d'analyse XML : entité non définie
Emplacement : chrome://pagesback/content/pagesback/pagesback.xul
Numéro de ligne 7, Colonne 1 :<window id="pagesback_main" 
centerscreen="true" title="&menu.title;"
^

Ceci juste pour dire qu'il arrive bien à trouver ma page (il trouve juste pas la dtd).

Pour information et dans un dernier élan, je viens de changer la structure en essayant de faire comme vous l'avez fait dans ce forum, à savoir dans c:/pagesback/sources/ :

+ chrome
    - install.rdf
    - chrome.manifest
    + pagesback
          + content
               + pagesback <- ??
                     - pagesback.xul
                     - content.rdf
etc...

Dans le chrome.manifest :

content pagesback chrome\pagesback\content
locale pagesback en-US chrome\pagesback\locale
skin pagesback global chrome\pagesback\skin

et dans pagesback@pagesback.com toujours :

c:\pagesback\sources

Mais là encore rien, ca ne marche pas...

Par rapport à ça, j'ai encore fait un test en enlevant le pagesback en fin d'arborescence (mais sans changer les content.rdf), mais choux blanc encore une fois, rien du tout ca veut pas marcher...

Donc je sais plus quoi tenter, pourriez-vous m'expliquer pourquoi ca ne marche pas, et ce que vous me conseillez de faire ?

Notamment :

  • pourquoi ma structure est "bonne" pour le xpi mais pas pour le mode developpement ?
  • faut-il mettre oui ou non, le nom de l'extension en bout d'arborescence ?
  • si j'enleve le répertoire en bout d'extention, faut-il modifier les content.rdf ?

Merci d'avance de vos éléments de réponses et conseils.

PS : mon xpi qui fonctionne bien à la structure suivante :

pagesback.xpi contient :
- install.rdf
+ chrome
     + pagesback.jar
           + content
                + pagesback
                      - pagesback.xul
                      - content.rdf
etc...

Et voici un exemple du content.rdf :

<?xml version="1.0"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:chrome="http://www.mozilla.org/rdf/chrome#">

 <!-- list all the packages being supplied by this jar -->
 <RDF:Seq about="urn:mozilla:package:root">
   <RDF:li resource="urn:mozilla:package:pagesback"/>
 </RDF:Seq>

 <!-- package information -->
 <RDF:Description about="urn:mozilla:package:pagesback"
       chrome:displayName="PAGESBACK"
       chrome:author="pagesback.com"
       chrome:name="pagesback"
       chrome:extension="true">
 </RDF:Description>

 <!-- overlay information -->
  <RDF:Seq RDF:about="urn:mozilla:overlays">
  	<RDF:li RDF:resource="chrome://browser/content/browser.xul"/>
  	<RDF:li RDF:resource="chrome://navigator/content/navigator.xul"/>
  </RDF:Seq>
  
  <RDF:Seq RDF:about="chrome://browser/content/browser.xul">
  <RDF:li>chrome://pagesback/content/pagesbackOverlay.xul</RDF:li>
  </RDF:Seq>
  
  <RDF:Seq about="chrome://navigator/content/navigator.xul">
  <RDF:li>chrome://pagesback/content/pagesbackOverlay.xul</RDF:li>
  </RDF:Seq>

</RDF:RDF>

Pensant que c'était les "overlay information", j'ai aussi fait un test en enleveant les lignes correspondantes.

# Re: Déclaration chrome pour développement

Envoyé par : jreeman

Date : 17/08/2006 17:33

J'ai trouvé, tout cela pour un pauvre slash.

C'était qu'il faut mettre :

 content	pagesback	chrome/content/

et non :

 content	pagesback	chrome/content

# Re: Déclaration chrome pour développement

Envoyé par : jreeman

Date : 17/08/2006 17:36

Tiens ca m'a appris un truc par contre si ca peut servir à qq'un, pour faire du développement XPCOM, il suffit de mettre un répertoire components (contenant le xpt, les dll ou les .js pour le dev XPCOM en javascript) au niveau du chrome.manifest.

Voili voilou.

Aller à la page :  1 2

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.