374 lines
20 KiB
HTML
374 lines
20 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html lang="en-us" xml:lang="en-us">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
|
|
<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
|
|
<meta name="security" content="public" />
|
|
<meta name="Robots" content="index,follow" />
|
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
|
<meta name="DC.Type" content="concept" />
|
|
<meta name="DC.Title" content="Sample Java registry file" />
|
|
<meta name="abstract" content="Each of the sample plug-ins written in Java provides its own registry file." />
|
|
<meta name="description" content="Each of the sample plug-ins written in Java provides its own registry file." />
|
|
<meta name="DC.Relation" scheme="URI" content="rzakxcreateplugin.htm" />
|
|
<meta name="DC.Format" content="XHTML" />
|
|
<meta name="DC.Identifier" content="rzakxsmpjvreg" />
|
|
<meta name="DC.Language" content="en-us" />
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
|
<title>Sample Java registry file</title>
|
|
</head>
|
|
<body id="rzakxsmpjvreg"><a name="rzakxsmpjvreg"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<h1 class="topictitle1">Sample Java registry file</h1>
|
|
<div><p>Each of the sample plug-ins written in Java™ provides its own registry file.</p>
|
|
<p>The following sections describe the important parts of the registry file
|
|
and illustrate how to create appropriate entries for your own plug-ins. The
|
|
examples are taken from the appropriate sample which illustrates the function
|
|
described.</p>
|
|
<p><strong>Programmatic Identifier (ProgID)</strong></p>
|
|
<p>Your plug-in is uniquely identified to iSeries™ Navigator by means of a text
|
|
string of the form <samp class="codeph"><vendor>.<component></samp>, where <samp class="codeph">vendor</samp> identifies
|
|
the vendor who developed the plug-in, and <samp class="codeph">component</samp> describes
|
|
the function being provided. In the examples below, the string <samp class="codeph">IBM.MsgQueueSample3</samp> identifies IBM<sup>®</sup> as
|
|
the vendor, and "MsgQueueSample3" as the description of the function provided
|
|
by the plug-in. This string is known as the <var class="varname">programmatic identifier</var>,
|
|
or ProgID. It's used throughout the registry file when specifying the function
|
|
your plug-in provides, and it also names the directory where your plug-in
|
|
will reside on both the iSeries server and the client workstation.</p>
|
|
<p><strong>Globally unique identifiers (GUIDs)</strong></p>
|
|
<p>Microsoft<sup>®</sup>'s
|
|
Component Object Model uses 16-byte hex integers to uniquely identify ActiveX
|
|
implementation classes and interfaces. These integers are known as <em>Globally
|
|
Unique Identifiers</em>, or <em>GUIDs</em>. GUIDs that identify implementation
|
|
classes are called CLSIDs (pronounced "class IDs").</p>
|
|
<p>For iSeries Navigator
|
|
components written in Java, you should not define new GUIDs. All Java plug-ins
|
|
use a set of standard GUIDs that specify the built-in ActiveX server component
|
|
which manages Java plug-ins. The standard CLSIDs to use are provided
|
|
in the examples below.</p>
|
|
<div class="section"><h4 class="sectiontitle">Defining your plug-in's primary attributes</h4><pre>;--------------------------------------------------------------------
|
|
; Define the primary registry key for Message Queue Sample 3.
|
|
|
|
[HKEY_CLASSES_ROOT\IBM.AS400.Network\3RD PARTY EXTENSIONS\IBM.MsgQueueSample3]
|
|
"Type"="PLUGIN"
|
|
"NLS"="MessageQueuesMRI.dll"
|
|
"NameID"=dword:00000001
|
|
"DescriptionID"=dword:00000002
|
|
"MinimumIMPIRelease"="NONE"
|
|
"MinimumRISCRelease"="ANY"
|
|
"ProductID"="NONE"
|
|
"ServerEntryPoint"="NONE"
|
|
"JavaPath"="MsgQueueSample3.jar"
|
|
"JavaMRI"="MsgQueueSample3MRI.jar"</pre>
|
|
<dl><dt class="dlterm">Type</dt>
|
|
<dd><strong>If the plug-in adds new folders to the iSeries Navigator hierarchy, the value
|
|
of this field should be PLUGIN. Otherwise, it should be EXT.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">NLS</dt>
|
|
<dd><strong>Identifies the name of the resource DLL that contains locale-dependent
|
|
resources for the plug-in. In the development version of the registry file,
|
|
this may be a fully-qualified pathname.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm"><strong>NameID</strong></dt>
|
|
<dd><strong>A double word containing the resource identifier of the text string
|
|
in the resource DLL which will be used to identify the plug-in in the iSeries Navigator
|
|
user interface.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">DescriptionID</dt>
|
|
<dd><strong>A double word that contains the resource identifier of the text string
|
|
in the resource DLL. This resource DLL is used to describe the function of
|
|
the plug-in in the iSeries Navigator user interface.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">MinimumIMPIRelease </dt>
|
|
<dd><strong>A 6-character string that identifies the minimum release of i5/OS<sup>®</sup> running
|
|
on IMPI hardware that the plug-in requires. The string should be of the form <samp class="codeph">vvrrmm</samp>,
|
|
where vv is the i5/OS Version,
|
|
rr is the Release, and mm is the Modification Level. For example, if the plug-in
|
|
requires Version 3 Release 2 Modification Level 0, the value of this field
|
|
should be "030200."</strong></dd>
|
|
</dl>
|
|
<p>If the plug-in does not support any i5/OS release that runs on IMPI hardware
|
|
(releases prior to Version 3 Release 6), the value of this field should be
|
|
"NONE." If the plug-in can support any release that runs on IMPI hardware,
|
|
the value of this field should be "ANY."</p>
|
|
<dl><dt class="dlterm">MinimumRISCRelease</dt>
|
|
<dd>A 6-character string that identifies the minimum release of i5/OS running
|
|
on RISC hardware that the plug-in requires. The string should be of the form <samp class="codeph">vvrrmm</samp>,
|
|
where vv is the i5/OS Version,
|
|
rr is the Release, and mm is the Modification Level. For example, if the plug-in
|
|
requires Version 3 Release 7 Modification Level 1, the value of this field
|
|
should be "030701."<p>If the plug-in does not support any i5/OS release
|
|
that runs on RISC hardware (Version 3 Release 6 and above), the value of this
|
|
field should be "NONE." If the plug-in can support any release that runs on
|
|
RISC hardware, the value of this field should be "ANY."</p>
|
|
</dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">ProductID</dt>
|
|
<dd>A 7-character string that specifies the product ID of a prerequisite iSeries server
|
|
licensed program that is required by the plug-in. If the plug-in does not
|
|
require that a particular licensed program be installed on the iSeries server,
|
|
the value of this field should be "NONE."<p>Multiple comma-separated product
|
|
IDs may be specified if multiple IDs exist for the same product.</p>
|
|
</dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">ServerEntryPoint</dt>
|
|
<dd>The name of the code DLL that implements the server entry point. This
|
|
entry point is called by the iSeries Navigator when it needs to determine whether
|
|
the plug-in is supported on a particular iSeries server. If the plug-in does not
|
|
implement the entry point, the value of this field should be "NONE." In the
|
|
development version of the registry file, this may be a fully-qualified pathname.</dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">JavaPath</dt>
|
|
<dd><strong>The classpath string that identifies the location of your plug-in's Java classes.
|
|
During development of your plug-in, this field might contain the directory
|
|
paths for the directories where your class files reside. In the production
|
|
version of the registry file, it should identify your JAR files. The JAR file
|
|
names should not be qualified with any directory names - iSeries Navigator
|
|
will qualify them automatically when it constructs the classpath string to
|
|
be passed to the Java VM.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">JavaMRI</dt>
|
|
<dd>The base names of the JAR files that contain locale-dependent resources
|
|
for the plug-in. iSeries Navigator
|
|
will search for each JAR file after first suffixing the name with the appropriate Java language
|
|
and country identifiers. In the development version of the registry file this
|
|
field may contain an empty string, since the resources for the base locale
|
|
(usually US English) should reside in the code JAR.</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="section"><h4 class="sectiontitle">Defining new folders</h4><pre>;--------------------------------------------------------------------
|
|
; Register a new folder
|
|
|
|
[HKEY_CLASSES_ROOT\IBM.AS400.Network\3RD PARTY EXTENSIONS\IBM.MsgQueueSample3\folders\Sample3]
|
|
"Parent"="AS4"
|
|
"Attributes"=hex:00,01,00,a0
|
|
"CLSID"="{1827A856-9C20-11d1-96C3-00062912C9B2}"
|
|
"JavaClass"="com.ibm.as400.opnav.MsgQueueSample3.MqListManager"
|
|
"NameID"=dword:0000000b
|
|
"DescriptionID"=dword:0000000c
|
|
"DefaultIconIndex"=dword:00000001
|
|
"OpenIconIndex"=dword:00000000
|
|
"AdminItem"="QIBM_SAMPLE_SMPFLR"
|
|
"TaskpadNameID"=dword:00000003
|
|
"TaskpadDescriptionID"=dword:00000004</pre>
|
|
<dl><dt class="dlterm">Type</dt>
|
|
<dd><strong>Each new folder that your plug-in adds to the iSeries Navigator hierarchy has a unique
|
|
logical type. In the example above, the string <samp class="codeph">Sample3</samp> is
|
|
the type which will be used to identify the currently selected folder when
|
|
control is passed to your plug-in at runtime.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">Parent</dt>
|
|
<dd><strong>A three-character ID that identifies the parent of the folder to be
|
|
added. One of the following IDs may be specified:</strong>
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="void" border="0" rules="none"><tbody><tr><td valign="top" width="22.22222222222222%">ADF</td>
|
|
<td valign="top" width="77.77777777777779%">Application Development folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">AS4</td>
|
|
<td valign="top" width="77.77777777777779%">iSeries server
|
|
folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">BKF</td>
|
|
<td valign="top" width="77.77777777777779%">Backup folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">BOF</td>
|
|
<td valign="top" width="77.77777777777779%">Basic Operations folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">CFG</td>
|
|
<td valign="top" width="77.77777777777779%">Configuration and Service folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">DBF</td>
|
|
<td valign="top" width="77.77777777777779%">Database folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">FSF</td>
|
|
<td valign="top" width="77.77777777777779%">File Systems folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">MCN</td>
|
|
<td valign="top" width="77.77777777777779%">Management Central folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">MCS</td>
|
|
<td valign="top" width="77.77777777777779%">Management Central Configuration and Service folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">MDF</td>
|
|
<td valign="top" width="77.77777777777779%">Management Central Definitions folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">MMN</td>
|
|
<td valign="top" width="77.77777777777779%">Management Central Monitors</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">MST</td>
|
|
<td valign="top" width="77.77777777777779%">Management Central Scheduled Tasks</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">MTA</td>
|
|
<td valign="top" width="77.77777777777779%">Management Central Task Activity</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">MXS</td>
|
|
<td valign="top" width="77.77777777777779%">Management Central Extreme Support</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">NSR</td>
|
|
<td valign="top" width="77.77777777777779%">Network Servers folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">NWF</td>
|
|
<td valign="top" width="77.77777777777779%">Network folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">SCF</td>
|
|
<td valign="top" width="77.77777777777779%">Security folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">UGF</td>
|
|
<td valign="top" width="77.77777777777779%">Users and Groups folder</td>
|
|
</tr>
|
|
<tr><td valign="top" width="22.22222222222222%">WMF</td>
|
|
<td valign="top" width="77.77777777777779%">Work Management folder</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">Attributes </dt>
|
|
<dd><strong>A 4-byte binary field that contains the attributes for the folder,
|
|
with the indicator bytes in reverse order. See the folder attribute flags
|
|
defined for the IShellFolder::GetAttributesOf method in the Microsoft include
|
|
file SHLOBJ.H. To indicate that your folder has a taskpad, use 0x00000008.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">CLSID</dt>
|
|
<dd><strong>The CLSID of the IA4HierarchyFolder implementation that should be called
|
|
by iSeries Navigator
|
|
to obtain the contents of the folder. For Java plug-ins this CLSID should always be <samp class="codeph">{1827A856-9C20-11d1-96C3-00062912C9B2}</samp>.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">JavaClass</dt>
|
|
<dd>The fully-qualified Java class name of the <strong>ListManager</strong> implementation
|
|
that should be called by the iSeries Navigator to obtain the contents of the folder.</dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">NameID</dt>
|
|
<dd><strong>A double word that contains the resource ID of the string that should
|
|
appear as the name of the folder in the iSeries Navigator hierarchy.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">DescriptionID</dt>
|
|
<dd><strong>A double word that contains the resource ID of the string that should
|
|
appear as the description of the folder in the iSeries Navigator hierarchy.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">DefaultIconIndex</dt>
|
|
<dd><strong>A double word that contains the index into the NLS resource DLL of
|
|
the plug-in for the icon that should be displayed for the folder in the iSeries Navigator
|
|
hierarchy. This is a zero-based index into the resource DLL, not the resource
|
|
ID of the icon. For indexing to work properly, the icon resource IDs should
|
|
be assigned sequentially.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">OpenIconIndex</dt>
|
|
<dd><strong>A double word that contains the index into the NLS resource DLL of
|
|
the plug-in for the icon that should be displayed for the folder in the iSeries Navigator
|
|
hierarchy whenever it is selected by the user. This may be the same as the
|
|
default icon index.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">AdminItem</dt>
|
|
<dd><strong>A STRING that contains the Function ID of the Application Administration
|
|
function that controls access to the folder. If this field is omitted, no
|
|
Application Administration function controls access to the folder. If specified,
|
|
this must be the function ID of a Group or Administrable function. It cannot
|
|
be the function ID of a Product Function.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">TaskpadNameID</dt>
|
|
<dd><strong>A double word that contains the resource ID of the string that should
|
|
appear as the name of the taskpad in the iSeries Navigator hierarchy.</strong></dd>
|
|
</dl>
|
|
<dl><dt class="dlterm">TaskpadDescriptionID </dt>
|
|
<dd><strong>A double word that contains the resource identifier of the text string
|
|
in the resource DLL. This resource DLL is used to describe the function of
|
|
the taskpad in the iSeries Navigator user interface.</strong></dd>
|
|
</dl>
|
|
</div>
|
|
<div class="section"><h4 class="sectiontitle">Adding context menu items</h4><pre>;--------------------------------------------------------------------
|
|
; Register a context menu handler for the new folder and its objects
|
|
|
|
[HKEY_CLASSES_ROOT\IBM.AS400.Network\3RD PARTY EXTENSIONS\IBM.MsgQueueSample3\
|
|
shellex\Sample3\*\ContextMenuHandlers\{1827A857-9C20-11d1-96C3-00062912C9B2}]
|
|
"JavaClass"="com.ibm.as400.opnav.MsgQueueSample3.MqActionsManager"</pre>
|
|
<pre>;------------------------------------------------------------------------------
|
|
; Register a drag/drop context menu handler for the new folder and
|
|
its objects
|
|
|
|
[HKEY_CLASSES_ROOT\IBM.AS400.Network\3RD PARTY EXTENSIONS\IBM.MsgQueueSample3\
|
|
shellex\Sample3\*\DragDropHandlers\{1827A857-9C20-11d1-96C3-00062912C9B2}]
|
|
"JavaClass"="com.ibm.as400.opnav.MsgQueueSample3.MqActionsManager"</pre>
|
|
</div>
|
|
<div class="section"><h4 class="sectiontitle">Adding taskpad tasks</h4><pre>;--------------------------------------------------------------------
|
|
; Register a task handler for the new folder and its objects
|
|
|
|
[HKEY_CLASSES_ROOT\IBM.AS400.Network\3RD PARTY EXTENSIONS\IBM.MsgQueueSample5\
|
|
shellex\Sample5\*\TaskHandlers\{1827A857-9C20-11d1-96C3-00062912C9B2}]
|
|
"JavaClass"="com.ibm.as400.opnav.MsgQueueSample5.MqTasksManager"
|
|
"JavaClassType"="TasksManager"</pre>
|
|
</div>
|
|
<div class="section"><h4 class="sectiontitle">Supporting drag/drop</h4><pre>;--------------------------------------------------------------------
|
|
; Register a drop handler for the new folder and its objects
|
|
|
|
[HKEY_CLASSES_ROOT\IBM.AS400.Network\3RD PARTY EXTENSIONS\IBM.MsgQueueSample3\
|
|
shellex\Sample3\*\DropHandler]
|
|
@="{1827A857-9C20-11d1-96C3-00062912C9B2}"
|
|
"JavaClass"="com.ibm.as400.opnav.MsgQueueSample3.MqDropTargetManager"</pre>
|
|
<dl><dt class="dlterm">Specifying the objects to be managed</dt>
|
|
<dd></dd>
|
|
</dl>
|
|
<p>A pair of object type identifiers is required under the <samp class="codeph">shellex</samp> key.
|
|
The first identifier in the pair specifies the root folder for an iSeries Navigator
|
|
component. For new folders added by your plug-in, this identifier should match
|
|
the logical type of the folder you specified as your junction point. For existing
|
|
folders, this subkey should generally be the object type of the first-level
|
|
folder under an iSeries server
|
|
container object. These type strings are defined under <samp class="codeph">HKEY_CLASSES_ROOT\IBM.AS400.Network\TYPES</samp> in
|
|
the registry.</p>
|
|
<p>The second identifier in the pair identifies the specific
|
|
object type that the plug-in wants to affect. If "*" is specified, the plug-in
|
|
will be called the for the folder type identified in the first identifier,
|
|
plus all folders and objects which appear in the hierarchy under that folder.
|
|
Otherwise, a specific type identifier should be specified, and the plug-in
|
|
will only be called when the user performs an action on an object of that
|
|
type.</p>
|
|
<p>Remember that any number of plug-ins may register their intent
|
|
to add function to a given object type in the Navigator hierarchy. The plug-in
|
|
should never assume that it is the only server component which is providing
|
|
function for a given object type. This applies not only to existing object
|
|
types, but also to any new objects that a plug-in may choose to define. If
|
|
your plug-in is widely used, there is nothing to prevent another vendor from
|
|
extending object types that are defined by your plug-in.</p>
|
|
<dl><dt class="dlterm">CLSIDs</dt>
|
|
<dd>The CLSIDs shown in the above examples specify the built-in ActiveX server
|
|
component which manages Java plug-ins. For all non-folder related
|
|
function this CLSID should always be <samp class="codeph">{1827A857-9C20-11d1-96C3-00062912C9B2}</samp>.</dd>
|
|
<dt class="dlterm">JavaClass</dt>
|
|
<dd>The fully-qualified Java class name of the interface implementation
|
|
that should be called by the iSeries Navigator to support the designated function.</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="section"><h4 class="sectiontitle">SSL support</h4><p>If a plug-in's communications with the iSeries server
|
|
are performed by using the Sockets API or some other low-level communications
|
|
service, then it is the responsibility of the plug-in to support SSL if it
|
|
has been requested. If the plug-in doesn't provide this support, it should
|
|
indicate that it doesn't support SSL as described below. When this is done,
|
|
the plug-in's function will be disabled if the user has requested a secure
|
|
connection.</p>
|
|
<pre>;------------------------------------------------------------------------------
|
|
; Indicate that this plug-in supports SSL.
|
|
|
|
[HKEY_CLASSES_ROOT\IBM.AS400.Network\3RD PARTY EXTENSIONS\IBM.MsgQueueSample3\SSL]
|
|
"Support Level"=dword:00000001</pre>
|
|
<dl><dt class="dlterm">Support Level</dt>
|
|
<dd><strong>If the plug-in supports SSL, this value should be 1. Otherwise, it
|
|
should be 0.</strong></dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakxcreateplugin.htm" title="After modifying the sample plug-ins, you'll need to make some modifications to the registry files. This topic provides a walk-through of the registry files for each type of plug-in, and recommends some modifications.">Customize the plug-in registry files</a></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |