BEA Systems, Inc.

WebLogic Server 8.1 API Reference

Package weblogic.management.console.extensibility

This package supports the deployment of console extensions which augment the functionality of the standard WebLogic Console.

See:
          Description

Interface Summary
Catalog Interface to a read-only set of named text entries.
NavTreeExtension Interface to be implemented by Extensions which provide additional nodes in the navigation tree.
SecurityExtension The SecurityExtension interface should be implemented by developers who want to create a console extension to configure and manage a custom security provider.
 

Class Summary
Catalog.Factory Use this class to retrieve instances of Catalog which are correctly localized for the given page context.
Extension An abstract base class to be implemented by extension authors.
 

Package weblogic.management.console.extensibility Description

This package supports the deployment of console extensions which augment the functionality of the standard WebLogic Console.

Please note that this package is still under development and is subject to change during Silversword development.

Overview

A console extension is simply a web application. In order to provide features in the console, it must do both of the following:

Achieving first goal is pretty straightforward: typically, the extension .war will contain JSPs and other resources which expose application-specific MBeans or other sorts of new functionality. These pages are usually served to the end-users browser directly from the extension webapp.

The second goal is accomplished by means of a jsp tag callback mechanism. Some of the console's tags broadcast notifications as they are processed; extensions may register a listener which can examine these notifications and opt to provide the tag with additional content to be displayed. For details on this, see weblogic.management.console.extensibility.

Tag Libraries

Extension authors are encouraged to utilize the console's library of tags when composing new pages to be displayed in the console. This reduces development time while promoting a consistent look-and-feel in the interface.

In order to use the custom tags, your extension war file must include the tag library descriptor appended to the bottom of this document. This includes detailed documentation about the tags and tag attributes that are currently supported for console extensions. You will only need to copy this file into the /WEB-INF directory of your own extension .war file and use it like any other tag library. The Tag implementation classes are available in the server classpath, so you do not need to do anything else.

Security

The extension webapp's deployment descriptor should provide the same authentication restrictions as the console. Currently, the console simply requires the user to login as 'system', but this will probably change in the future.

Internationalization

Extensions may make use of the console's internationalization feature via the weblogic.management.console.extensibility.Catalog interface. Given a textual ID, this interface will provide access to text that is localized as appropriate for a given http request.

The localized text returned via the catalog must be stored in xml 'catalog' files located under /WEB-INF/catalogs directory. One catalog file should be created for each language to be supported. The precise format of these files is described by the DTD listing in Appendix B.

The catalogs directory must also include an index.xml which describes which of the catalog files should be used by which languages; the format for this file in the DTD listing in Appendix C.

Deployment

A console extension is deployed like any other web application, but to be recognized as a console extension, its descriptor (web.xml) must include a context param which specifies the Extension that should be instantiated when the extension is deployed. The name of the parameter is weblogic.console.extension.class and the value is simply the fully-specified name of a class which extends Extension, e.g.:

<context-param>
  <param-name>
               weblogic.console.extension.class
  </param-name>
  <param-value>
               com.mycompany.MyWebLogicConsoleExtension
  </param-value>
</context-param>

This Extension's .class file should be packaged in the extension .war like any other class. Once the extension web application has been deployed and it's Extension class successfully instantiated, the extension will be able to modify the console's behavior.


Appendix A - TLD for Console Extension Custom Tags

The taglib is now maintained in a separate file, console_extension_taglib.tld.


Appendix B - DTD for Catalog Files


<!ELEMENT catalog (text?,textlist?)*>

<!--
  The text element places a single entry in the catalog; the id for the text in 
  the catalog is specified via the id attribute, and the text is taken from
  the body of the text element.  This is typically used for larger text entries.
-->

<!ELEMENT text (#PCDATA)>
<!ATTLIST text
    id            CDATA                #REQUIRED
>

<!--
  The textlist is a more convenient way to enter a large number of smaller text 
  entries.  The body of the element is parsed much like a java.util.Properties file -
  each line is taken to be a single catalog entry, where the id and catalog text are
  delimited by the first equals sign ('=') on each line.  Leading and trailing whitespace
  is trimmed from both key and text.
-->

<!ELEMENT textlist (#PCDATA)>

<hr>
<a name='index_dtd'/>


Appendix C - DTD for Catalog Index Files

<!-- 
  Defines a document which contains a list of available catalogs.
-->

<!ELEMENT index (catalog*)>
<!ATTLIST index
    defaultcatalog      CDATA                #IMPLIED
>


<!-- 

This document specifies some meta-information about each of the catalog.
Note that provide it here primarily so that we don't have to parse
each of the catalogs to get it.


name:         Unique identifier for the catalog; key for CatalogManager.getCatalog()

file:         Path to catalog file, relative to index file.

encoding:     Type used for InputStreamReader used to read the catalog file.

charset:      Not currently used.

contenttype:  If specified, this value is set on the ServletResponse for pages 
              which output text from this catalog.

locales:      Comma-separated list of locales (as provided in the 'Locale' HTTP
              request header) for which the given catalog should be used.
-->

<!ELEMENT catalog (locale*)>
<!ATTLIST catalog
    name            CDATA                #REQUIRED
    file            CDATA                #REQUIRED    
    encoding        CDATA                #IMPLIED
    charset         CDATA                #IMPLIED
>


<!--

country as specified at

  http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt

langauge as specifed at

  http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html

-->

<!ELEMENT locale EMPTY>
<!ATTLIST locale
    country         CDATA                #REQUIRED    
    language        CDATA                #REQUIRED
>

Author:
Copyright © 2002 BEA Systems, Inc. All Rights Reserved.

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs81b