A plug-in is described in an XML manifest file, called plugin.xml, which is part of the plug-in deployment files. The manifest file tells the portal application’s runtime what it needs to know to register and activate the plug-in. The manifest file essentially serves as the contract between the pluggable component and the portal application’s runtime. Although the WebSphere Application Server plugin.xml closely follows the one provided for the Eclipse workbench, it does diverge from the Eclipse workbench in several places as outlined below.
The plugin.xml file must reside in the WEB-INF directory under the context of the hierarchy of directories that exist for a Web application or when included in the Web application archive file.. The plugin.xml file must reside in the root directory when theplugin.xml file is placed in an Enterprise JavaBeans Java archive (JAR) file or shared library JAR file. The extension registry service includes the plugin.xml file as the participating components are loaded and started on the application server.
No
???
The Application Server Toolkit updates the web.xml file when you assemble Web components into a Web module, or when you modify the properties of the Web components or the Web module.
WebSphere Application Server functions use information in this file during the configuration and deployment phases of Web application development.
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)
The entire plug-in manifest DTD is as follows. XML Schema is not used to define the manifest since the current Eclipse tooling for plug-in’s requires a DTD. The XML DTD construction rule element* means zero or more occurrences of the element; element? means zero or one occurrence of the element; and element+ means one or more occurrences of the element.
<?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 >
you can find details regarding the plug-in manifest in the Eclipse documentation, under Platform Plug-In Developer Guide>Other reference information>Plug-in manifest.
<?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>