ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzakx_5.4.0.1/rzakxsmpjvreg.htm

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">&lt;vendor&gt;.&lt;component&gt;</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>