Archivo plugin.xml

Un plug-in se describe en un archivo de manifiesto, denominado plugin.xml que forma parte de los archivos de despliegue del plug-in. El archivo de manifiesto indica al tiempo de ejecución de la aplicación del portal lo que necesita saber para registrar y activar el plug-in. El archivo de manifiesto sirve esencialmente de contacto entre el componente conectable y el tiempo de ejecución de la aplicación del portal. Aunque el WebSphere® Application Server plugin.xml sigue de cerca el proporcionado para el entorno de trabajo de Eclipse , difiere del entorno de trabajo de Eclipse en varios lugares.

Ubicación

Los 2plugin.xmlel archivo debe residir en el directorio WEB-INF bajo el contexto de la jerarquía de directorios que existe para una aplicación web o cuando se incluye en el archivo de archivado de aplicación web. Los 2plugin.xmlel archivo debe residir en el directorio raíz cuandoplugin.xmlEl archivo se coloca en un archivo JAR (Java™ Archive) de Enterprise JavaBeans o en un archivo JAR de biblioteca compartida. El servicio de registro de extensión incluye elplugin.xmla medida que los componentes participantes se cargan e inician en el servidor de aplicaciones.

Notas de uso

  • ¿Es este un archivo de sólo lectura?

    Nee

  • ¿Este archivo lo actualiza un componente del producto?

    ???

  • Si es así, ¿qué activa su actualización?

    Rational Application Developer actualiza elweb.xmlal ensamblar componentes web en un módulo web, o al modificar las propiedades de los componentes web o del módulo web.

  • ¿Cómo y cuándo se utiliza el contenido de este archivo?

    Las funciones de WebSphere Application Server utilizan la información de este archivo durante las fases de configuración y despliegue del desarrollo de aplicaciones web.

  • Las definiciones de marcación de manifiesto utilizan diversos identificadores y señales de denominación. Para eliminar la ambigüedad, las siguientes son las reglas de producción para estos convenios de denominación. En general, todos los identificadores son sensibles a las mayúsculas y minúsculas.
    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)
    

Entrada de archivo de ejemplo

La DTD completa del manifiesto del plug-in es la siguiente. El esquema XML no se utiliza para definir el manifiesto ya que las herramientas Eclipse actuales para los plugins requieren una DTD. Según la regla de construcción de la DTD de XML un elemento con un asterisco significa que el elemento aparecer cero o más veces. Si el elemento tiene un signo de interrogación significa que aparece cero o una vez y si el elemento tiene un signo más significa que aparecer una o más veces.

<?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
>

Diferencias de WebSphere Application Server

Los 2plugin.xmlsigue de cerca el archivoplugin.xmlarchivo proporcionado para el entorno de trabajo de Eclipse . No obstante, se diferencia en los elementos siguientes.
Los 2pluginelemento
El elemento plugin suministrado en este manifiesto no contiene atributos de clase. El atributo de clase no es necesario ya que el mecanismo del plug-in no requiere que el desarrollador del plug-in amplíe o utilice ninguna clase específica como es necesario en el área de trabajo de Eclipse. Asimismo, el elemento plugin no contiene un elemento de tiempo de ejecución ya que los estándares como, por ejemplo, J2EE ya definen la ubicación de las bibliotecas de tiempo de ejecución para las aplicaciones.
Los 2importelemento
El elemento requires no contiene el atributo export ya que se recomienda que los módulos J2EE sean autocontenidos para que resulten más gestionables. Además de eliminar el atributo export, el atributo match tiene una opción para el valor de mayor que o igual para la coincidencia de versiones (greaterOrEqual).
Los 2extension-pointelemento
El elemento extension-point tiene el atributo de nombre como opcional ya que no tiene un uso real en esta implementación J2EE.

Puede encontrar información detallada relacionada con el archivo de manifiesto de plug-in en la documentación de Eclipse, en Platform Plug-In Developer Guide>Other reference information>Plug-in manifest.

El siguiente es un ejemplo de cómo se añade un enlace a una página existente mediante un punto de extensión. El archivo de manifiesto de plug-in de este plug-in declara un punto de extensión (linkExtensionPoint) y una extensión para este punto de extensión (linkExtension). El plug-in que declara el punto de extensión no necesita ser el plug-in que implementa el punto de extensión. Otro plug-in también puede definir una extensión con el punto de extensión de enlaces en su manifiesto de plug-in incluyendo el contenido de los códigos <extension> y </extension> en su manifiesto.
<?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>