Envoyé par : Nap
Date : 02/12/2006 19:54
Bonjour à tous,
je souhaite, comme une ou deux personnes de ce forum, intégrer à une application xulrunner les composants LDAP de Thunderbird. Cependant, j'ai été incapables de les trouver dans l'arborescence de TB (version windows). J'ai trouvé des DLL du style nsldap32v50.dll, mais est-ce suffisant ? J'avoue que j'ai du mal à comprende la totalité du fonctionnement des composants XPCOM dans mozilla. Par exemple, je ne sais pas quels sont les fichiers nécessaires à un composant XPCOM.
Quelqu'un pourrait-il m'aider ?
Merci beaucoup !
Envoyé par : Nap
Date : 02/12/2006 20:09
Par exemple, je ne trouve pas de fichier .xpt pour le composant LDAP dans l'arborescence de TB (j'ai extrait tous les .jar que j'ai trouvés)
Envoyé par : laurentj
Date : 04/12/2006 15:41
J'ai trouvé des DLL du style nsldap32v50.dll, mais est-ce suffisant ?
Je ne sais pas, faudrait voir dans les sources de mozilla, dans quel lib il place les composants ldap. Je pense que cette dll en fait parti.
Pour info, les xpt ne se trouvent pas dans les jar, mais dans le repertoire components.
Envoyé par : Nap
Date : 04/12/2006 17:10
Salut Laurent, et merci pour ta réponse. Dans Thunderbird il n'y a pas beaucoup de .xpt, je n'ai trouvé que mail.xpt de parlant. Mais le placer dans mon propre projet n'a pas fonctionné.
En attendant, comme c'était le week end, j'ai recompilé XULRunner avec le support LDAP. Du coup, l'API LDAP est fonctionnelle :)
Comme je suis des fois sous Windows et des fois sous linux, je l'ai fait pour les deux systèmes, et comme compiler Mozilla sous Windows est assez complexe (si je peux me permettre), et que l'organisation de la documentation officielle n'est pas faite pour montrer en une seule page tout ce qu'il faut faire, je l'ai documenté ici : http://techblog.beretti.org/post/2006/12(..)
C'est en anglais, mais si ça intéresse quelqu'un, je peux le mettre quelque part ici, en français.
Au passage voici les fichiers produits :
La version pour linux a été faite avec Ubuntu Dapper Drake, je ne sais pas si ça marchera sur d'autres distributions.
La compilation de XULRunner a créé mozldap.dll et mozldap.xpt, tous les deux dans components. Ces deux fichiers ne sont nulle part dans Thunderbird. Il y a peut-être un équivalent de la compilation statique pour XPCom ou je ne sais quoi, qui fait qu'ils n'apparaissent pas.
Ce soir, je regarderai si je peux les utiliser dans un projet avec le XULRunner d'origine.
Envoyé par : Nap
Date : 04/12/2006 18:52
A ce propos, je me demande comment ça se passe pour avoir un projet multiplateforme. Il faut fournir les différents composants compilés pour chas plateforme ? On peut faire des sous répertoires ?
Est-il possible de faire une extension pour XULRunner, à installer séparément et à télécharger en fonction de sa plateforme ?
Envoyé par : Nap
Date : 04/12/2006 19:46
Bon, ça ne marche toujours pas avec le xulrunner d'origine, pourtant j'ai placé mozldap.dll, mozldap.xpt, et les 2 nsldap*.dll dans le répertoire components du projet, supprimé les répertoires concernant mon projet dans mon profil windows (dans Application Data et Local System\Application Data), et relancé le tout, mais l'API LDAP est toujours indisponible...
J'ai également ouvert mozldap.dll avec le dependency walker, toutes les dll requises par mozldap.dll et nsldap*.dll sont présentes dans le répertoire racine du xulrunner d'oirigine. Est-ce qu'il faut les copier dans le répertoire components du projet ? Est-ce que les nsldap*.dll doivent aller à la racine du projet ?
Envoyé par : Nap
Date : 05/12/2006 07:59
Suite à une discussion avec bsmedberg sur #xulrunner, le problème vient du fait que mozldap.dll dépend des nsldap*.dll et que le système ne peut pas les trouver, car elles ne sont ni dans le répertoire de l'exécutable xulrunner, ni dans les répertoires des bibliothèques système. Il faut donc utiliser un "stub", comme décrit sur cette page du mdc : Using Dependent Libraries In Extension Components
j'essaierai de faire ça aujourd'hui et je vous raconterai tout
Envoyé par : Nap
Date : 05/12/2006 14:17
Bon ben voilà, tout marche (tout du moins les interfaces sont disponibles et les composants sont instanciables), j'ai tout documenté ici : Using LDAP XPCom with standard XULRunner
De même que dit précédemment, c'est en anglais, mais si ça peut être utile je peux l'écrire en français sur ce site (j'ose pas ).
J'avais lu un post d'un certain MedhiB qui avait du recompiler firefox avec la prise en charge de l'API LDAP, du coup il n'aurait plus besoin grâce à ça.
Par contre, autant je sais charger un XPCOM avec XULRunner, autant je ne sais pas faire avec FireFox, c'est peut-être plus compliqué (il y a des machins à déclarer je crois).
Envoyé par : Nap
Date : 05/12/2006 14:21
J'en profite pour faire une petite remarque, après cette petite aventure : il serait très pratique de pouvoir déclarer quelque part dans le composant XPCOM les différentes bibliothèques devant être chargées par le composant, avec leur chemin relatif. Ca ferait le boulot du stub sans avoir à le coder. En gros, ce serait bien d'intégrer le stub au framework XPCOM.
Envoyé par : chris
Date : 09/12/2006 03:12
Nap a écrit:
mais si ça peut être utile je peux l'écrire en
français sur ce site (j'ose pas ).
Ben voyons ! Faut pas te gêner
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.