Fichier plugin.xml
Une description de plug-in est disponible dans un fichier manifeste XML appelé plugin.xml et qui fait partie des fichiers de déploiement de plug-in. Le fichier manifeste donne à l'environnement d'exécution de l'application de portail les informations nécessaires afin d'enregistrer et d'activer le plug-in. Il sert essentiellement de contrat entre le composant pouvant recevoir des plug-in et l'environnement d'exécution de l'application de portail. Bien que le WebSphere® Application Server plugin.xml suive de près celui fourni pour le plan de travail Eclipse , il diverge du plan de travail Eclipse à plusieurs endroits.
Emplacement
:NONE.plugin.xmlLe fichier doit résider dans le répertoire WEB-INF dans le contexte de la hiérarchie des répertoires existant pour une application Web ou lorsqu'il est inclus dans le fichier archive de l'application Web. :NONE.plugin.xmlLe fichier doit résider dans le répertoire racine lorsque leplugin.xmlest placé dans un fichier d'archive JavaBeans Java™ (JAR) d'entreprise ou dans un fichier JAR de bibliothèque partagée. Le service de registre d'extension inclut leplugin.xmlau fur et à mesure que les composants participants sont chargés et démarrés sur le serveur d'applications.
Remarques relatives à l'utilisation
- Ce fichier est-il en lecture seule ?
Non
- Ce fichier est-il mis à jour par un composant produit ?
???
- Auquel cas, qu'est-ce qui déclenche sa mise à jour ?
Rational Application Developer met à jourweb.xmllorsque vous assemblez des composants Web dans un module Web, ou lorsque vous modifiez les propriétés des composants Web ou du module Web.
- Comment et quand le contenu de ce fichier est-il utilisé ?
Les fonctions de WebSphere Application Server utilisent les informations de ce fichier lors des phases de configuration et de déploiement du développement de l'application Web.
- Les définitions des marques du manifeste utilisent divers jetons et identificateurs de noms. Pour supprimer toute ambiguïté, voici les règles de production qui s'appliquent à ces conventions de dénomination. En général, tous les identificateurs distinguent les majuscules des minuscules.
SimpleToken := sequence of characters from ('a-z','A-Z','0-9') ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken) PlugInId := ComposedToken PlugInPrereq := PlugInId ExtensionId := SimpleToken ExtensionPointId := SimpleToken ExtensionPointReference := ExtensionPointId | (PlugInId '.' ExtensionPointId)
Exemple de fichier
La DTD (définition de type de document) du manifeste des plug-in est ici présentée dans sa totalité. Le schéma XML n'est pas utilisé pour définir le manifeste car les outils Eclipse actuels pour les plug-in nécessitent une DTD. La règle de construction DTD XML element* signifie qu'il y a zéro occurrence ou plus de l'élément ; element? signifie qu'il y a zéro ou une occurrence de l'élément ; et element+ signifie qu'il y a une occurrence ou plus de l'élément.
<?xml encoding="US-ASCII"?>
<!ELEMENT plugin (requires?, extension-point*, extension*)>
<!ATTLIST plugin
name CDATA #IMPLIED
id CDATA #REQUIRED
version CDATA #REQUIRED
provider-name CDATA #IMPLIED
>
<!ELEMENT requires (import+)>
<!ELEMENT import EMPTY>
<!ATTLIST import
plugin CDATA #REQUIRED
version CDATA #IMPLIED
match (exact | compatible | greaterOrEqual) #IMPLIED
>
<!ELEMENT extension-point EMPTY>
<!ATTLIST extension-point
name CDATA #IMPLIED
id CDATA #REQUIRED
schema CDATA #IMPLIED
>
<!ELEMENT extension ANY>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
Différences dans WebSphere Application Server
- :NONE.pluginélément
- L'élément plugin fourni dans ce manifeste ne contient pas d'attribut classe. L'attribut classe est inutile car le mécanisme de plug-in ne nécessite pas que le développeur du plug-in étende ou utilise des classes spécifiques comme c'est le cas pour le plan de travail Eclipse. En outre, l'élément plugin ne contient pas d'élément runtime car les normes telles que J2EE définissent déjà l'emplacement des bibliothèques d'exécution pour les applications.
- :NONE.importélément
- Pour une meilleure gérabilité, l'élément requis ne contient pas d'attribut export afin d'encourager l'autonomie des modules J2EE. En outre, l'attribut match dispose d'une option greaterOrEqual de correspondance des versions (supérieur ou égal).
- :NONE.extension-pointélément
- Le nom d'attribut de l'élément extension-point est facultatif en raison de son inutilité dans cette implémentation J2EE.
Pour plus de détails sur le manifeste de plug-in, reportez-vous à la documentation Eclipse, sous Guide du développeur des plug-in de la plateforme>Autres informations de référence>Manifeste de plug-in.
<?xml version="1.0"?>
<!--the plugin id is derived from the vendor domain name -->
<plugin
id="com.ibm.ws.console.core"
version="1.0.0"
provider-name="IBM WebSphere">
<!--declaration of prerequisite plugins-->
<requires>
<import plugin="com.ibm.data" version="2.0.1" match="compatible"/>
<import plugin="com.ibm.resources" version="3.0" match="exact"/>
</requires>
<!--declaration of link extension point -->
<extension-point
id="linkExtensionPoint"
schema="/schemas/linkSchema.xsd"/>
<!--declaration of an extension to the link extension point -->
<extension
point="com.ibm.ws.console.core.linkExtensionPoint"
id="linkExtension">
<link
label="Example.displayName"
actionView="com.ibm.ws.console.servermanagement.forwardCmd.do?
forwardName=example.config.view&
lastPage=ApplicationServer.config.view">
</link>
</extension>
</plugin>