To add your application to z/OSMF, create a property
file that defines the parameters required for z/OSMF to configure
your application, and use the z/OSMF Import Manager task to import
the property file.
About this task
A property file is a flat file, such
as a text file, that contains a set of attributes for one or more
instances of an object. The attributes are specified as name and value
pairs, and must be enumerated for each instance of the object. z/OSMF supports property
files that are encoded using the platform default encoding, which
by default is EBCDIC 1047, or ASCII.
When
you use a property file to import a plug-in into
z/OSMF,
z/OSMF core:
- Validates the structure of the property file, and verifies that
a value is provided for the required properties.
- Creates symbolic links to the client-side code
for your application so that any updates to that code is reflected
in z/OSMF.
- Stores the symbolic links in the plug-in context root subdirectory,
which is specified in the plug-in property file.
- Adds a task defined in the property file to the z/OSMF navigation area
if a URL is specified for its taskNavigationURL property.
Procedure
To use a property file to add a new plug-in to z/OSMF, complete the
steps that follow:
- Create a property file in the z/OS® UNIX System
Services (z/OS UNIX) file system, and set 644 as its permissions.
For example, you can create a text file called plugin.properties.
- Type importType=plugin at the beginning of the file.
Doing so informs z/OSMF that
the property file contains a plug-in definition. You cannot define
other types of objects, such as event types or handlers, in a property
file for a plug-in.
- Define only one plug-in to be added to z/OSMF. To do so, specify
the following properties for the new plug-in:
izu.externalapp.file.version=plugin-version
izu.externalapp.local.context.root=plugin-context-root
izu.externalapp.code.root=plugin-code-root
pluginId=plugin-Id
pluginDefaultName=plugin-name
pluginDescription=plugin-description
aboutPanelPath=about-panel-path
izu.externalapp.help.root=help-root
izu.externalapp.helpdoc=help-plugin-name
- plugin-version
- Specify the version of the plug-in.
- plugin-context-root
- Specify the name of the symbolic link directory under
the USERDIR/data/externalapps directory to use
for your applications. The USERDIR setting, which identifies the mount
point of the z/OSMF user
file system, is set when your installation configures z/OSMF. By default,
the mount point is /var/zosmf/.
If you specify myapp as
the plug-in context root, a symbolic link named myapp will
be created in the path of USERDIR/data/externalapps/myapp,
and it will point to the source code path /usr/lpp/myapp/ui.
z/OSMF uses the context
root to build the navigation URL and the bundle URL.
The plug-in
context root is required, and the directory name must comply with
the z/OS UNIX naming guidelines.
- plugin-code-root
- Specify the path to the z/OS UNIX directory that contains the
source code for the tasks included in the plug-in. If the plug-in
property file and the source code directory reside in the same directory,
you can specify a relative path, for example, ui.
Otherwise, you must specify the absolute path, for example, /usr/lpp/myapp/ui.
The plug-in code root is required.
- plugin-ID
- Specify a unique identifier for the plug-in. The ID is required,
must be unique, and can contain a maximum of 64 characters.
- plugin-name
- Specify the name of the plug-in. The plug-in name is required,
and can contain a maximum of 64 characters.
- plugin-description
- Provide a description of the plug-in. The description is required,
and can contain a maximum of 256 characters.
- about-panel-path
- Specify the absolute path of the flat file
that contains the plug-in version information to display on the z/OSMF About page.
For example, /zosmf/IzuUICommon/externalfiles/myapp/myappVersion.txt.
The path is required.
Tip: If the file resides in the
same directory as the plug-in property file, you can specify the filename
with no path information. For example, myappVersion.txt.
- help-root
- Specify the path to the z/OS UNIX directory that contains the
help files for the tasks included in the plug-in. If the plug-in property
file and the help root directory reside in the same directory, you
can specify a relative path, for example, helps.
Otherwise, you must specify the absolute path, for example, /usr/lpp/myapp/helps. The plug-in help root is optional.
- help-plugin-name
- Specify the name of the directory that contains the help files
for the tasks in your application. For example, com.ibm.zosmfmyapp.task1.help.doc.
The directory name is required only if you are including help files
in your plug-in. The directory name must comply with the z/OS UNIX naming
guidelines.
Each help plug-in must be enumerated and must be listed
in numeric order because z/OSMF expects the
first help plug-in to be enumerated as izu.externalapp.help.root.1,
the second as izu.externalapp.help.root.2, and so on. The first
time the enumeration does not match the position of the help plug-in
in the file, z/OSMF stops
looking for help plug-ins.
- Include one to 32 task definitions in the plug-in property
file. Each task definition must be enumerated and must be listed in
numeric order because z/OSMF expects
the first task definition to be enumerated as one, the second definition
as two, and so on. The first time the enumeration does not match the
position of the task definition in the file, z/OSMF stops reading
the file. That is, the remaining task definitions will not processed.
The following attributes are supported for tasks:
taskId=task-ID
taskVersion=task-version
taskCategoryId=category-ID
taskDispName=task-name
taskDispDesc=task-description
taskSAFResourceName=task-SAF-resource-name
taskMultiSysplexScope=task-multi-sysplex-scope
taskHandlerEligible=task-handler-eligible
taskAuthenticatedGuestEligible=task-authenticated-guest-eligible
taskNavigationURL=task-navigation-URL
taskBundleUrl=bundle-URL
taskBundleFileName=bundle-file-name
taskMinZOS=minimum-z/OS-level
taskMinZOSMF=minimum-z/OSMF-level
- task-ID
- Specify a unique identifier for the task. The ID is required,
must be unique, and can contain a maximum of 64 characters.
- task-version
- Specify the version of the task.
- category-ID
- Specify where the task is to be displayed in the z/OSMF navigation area.
You can assign the task to any valid category, or you can opt not
to categorize the task. If assigned to a category, the task is sorted
alphabetically with the other tasks and links in that category. Otherwise,
the task is placed after the Welcome task in the navigation area,
sorted alphabetically with any other uncategorized tasks and links.
To
indicate the placement of the task, specify one of the following values:
- 1 - z/OSMF Administration
- 2 - Problem
Determination
- 3 - Links
- 4 - Configuration
- 5 - Software
- 7 - z/OS Classic Interfaces
- 9 - Performance
- 10 - z/OSMF Settings
- 11 - Uncategorized
- 12 - Commands and
Logs
- 13 - Jobs and
Resources
The category ID is required.
- task-name
- Specify the task name to be displayed in the z/OSMF navigation area.
The task name is required, and can contain a maximum of 30 characters.
- task-description
- Provide a description of the task. The description is required,
and can contain a maximum of 200 characters.
- task-SAF-resource-name
- Specify a unique SAF resource name to be
used for managing user authorizations to the task. The resource name
must start with ZOSMF, and must conform to the
following structure to ensure uniqueness:
ZOSMF.<vendor>_<plugin-ID>.<task-ID>.<task-name>
where:
- vendor
- Name of your company.
- plugin-ID
- Unique identifier you assigned to the plug-in.
- task-ID
- Unique identifier you assigned to the task.
- task-name
- Name you assigned to the task.
For example, ZOSMF.IBM_TESTPLUGIN.COMMANDS.Commands.
If
the SAF resource name does not begin with ZOSMF, z/OSMF will add prefix
ZOSMF.IMPORT to the SAF resource name.
The resource name is
required, and can contain up to 231 alphanumeric characters (A-Z a-z
0-9) and the following special characters: underscore (_), dash (-),
period (.). The use of a period in a resource name is treated as a
qualifier. As such, the first character after a period must be A-Z
or a-z.
- task-multi-sysplex-scope
- z/OSMF provides
a multi-sysplex capability, which allows you to manage multiple z/OS sysplexes from a single z/OSMF instance. To
do so, a z/OSMF instance
must be running in each sysplex to be managed.
Set the task-multi-sysplex-scope property
to true to indicate that this task can be used to manage or
display data for multiple z/OS sysplexes.
Otherwise, omit this property or set it to false.
- task-handler-eligible
- z/OSMF provides
the application linking capability, which allows you to create context-sensitive
launch points between tasks or applications. The task or application
that initiates the launch request is referred to as the event requestor,
and the task or application that processes the request and displays
the appropriate context is referred to as the event handler.
Set
the task-handler-eligible property to true to indicate
that the task is eligible to be an event handler in the application
linking process. Doing so allows users to define the task as a handler
for one or more event types. To disallow the task to participate in
the application linking process as an event handler, omit this property
or set it to false.
- task-authenticated-guest-eligible
- Set this property to true to extend
task authorization to users who are logged into z/OSMF, but are not
defined to a z/OSMF SAF
security group. Otherwise, omit this property or set it to false.
Extending task authorization to users who are not logged into z/OSMF is not supported.
- task-navigation-URL
- Specify the relative or absolute path of the home page for the
task. For example, if the home page is named index.html and
resides in the myapp directory (context root),
you can specify index.html or /zosmf/IzuUICommon/externalfiles/myapp/index.html.
If
the plug-in contains more than one task, append the following to the
path: ?task=contextRoot.taskName, where contextRoot and taskName are
the values you specified for the izu.externalapp.local.context.root property
and the taskDispName property. For example, /zosmf/IzuUICommon/externalfiles/myapp/index.html?myapp.settings.task.
The
path can contain a maximum of 4000 characters, including alphanumeric
characters (A-Z a-z 0-9), blanks, mathematical symbols (+ - = | ~
( ) { } \), punctuation marks (? , . ! ; : ' " / [ ]), and the following
special characters: %, $, #, @, ^, *, and _. Any leading or trailing
white space is ignored.
The navigation URL is required if the
bundle URL is specified. Otherwise, omit the navigation URL.
- bundle-URL
- Specify the relative or absolute path of the language resource
bundle for the task. For example, if the bundle file resides in the /myapp/js directory,
you can specify /js or /zosmf/IzuUICommon/externalfiles/myapp/js.
The
path can contain a maximum of 256 characters, including alphanumeric
characters (A-Z a-z 0-9), blanks, mathematical symbols (+ - = | ~
( ) { } \), punctuation marks (? , . ! ; : ' " / [ ]), and the following
special characters: %, $, #, @, ^, *, and _. Any leading or trailing
white space is ignored.
The bundle URL is required if the navigation
URL is specified. Otherwise, omit the bundle URL.
- bundle-file-name
- Specify the name of the language resource bundle file. The file
name can contain a maximum of 256 characters. For example, bundle.js.
The file name is required if the bundle URL is specified.
- minimum-z/OS-level
- Specify the minimum z/OS operating
system level that the task requires. You can specify one of the following
values:
- 04.24.00: Indicates that the minimum z/OS level is V2R1.
- 03.23.00: Indicates that the minimum z/OS level is V1R13.
- minimum-z/OSMF-level
- Specify the minimum z/OSMF level that the
task requires. You can specify one of the following values:
- 04.24.00: Indicates that the minimum z/OSMF level is V2R1.
- 03.23.00: Indicates that the minimum z/OSMF level is V1R13.
Figure 1 provides a sample
property file that defines the myapp plug-in, which contains
a Commands task and a Settings task.
Figure 1. Sample plug-in property
fileimportType=plugin
izu.externalapp.file.version=1.0.0
izu.externalapp.local.context.root=myapp
izu.externalapp.code.root=ui
pluginId=com.ibm.zoszmf.myapp
pluginDefaultName=myapp
pluginDescription=Operate myapp.
aboutPanelPath=/zosmf/IzuUICommon/externalfiles/myapp/myappVersion.txt
izu.externalapp.help.root=helps
izu.externalapp.helpdoc.1=com.ibm.zosmfmyapp.commands.help.doc
izu.externalapp.helpdoc.2=com.ibm.zosmfmyapp.settings.help.doc
taskId1=COMMANDS
taskVersion1=1.0
taskCategoryId1=12
taskDispName1=Commands
taskDispDesc1=The Commands task lets you enter z/OS commands.
taskSAFResourceName1=ZOSMF.IBM_COMMANDS.COMMANDS.Commands
taskMultiSysplexScope1=true
taskHandlerEligible1=true
taskAuthenticatedGuestEligible1=true
taskNavigationURL1=/zosmf/IzuUICommon/externalfiles/myapp/index.html?task=myapp.commands
taskBundleUrl1=/zosmf/IzuUICommon/externalfiles/myapp/js/nls
taskBundleFileName1=bundle.js
taskMinZOS1=04.24.00
taskMinZOSMF1=04.24.00
taskId2=SETTINGS
taskVersion2=1.0
taskCategoryId2=10
taskDispName2=Settings
taskDispDesc2=The Settings task allows you to define task-specific settings.
taskSAFResourceName2=ZOSMF.IBM_SETTINGS.SETTINGS.Settings
taskHandlerEligible2=true
taskAuthenticatedGuestEligible2=true
taskNavigationURL2=/zosmf/IzuUICommon/externalfiles/myapp/index.html?task=myapp.settings
taskBundleUrl2=/zosmf/IzuUICommon/externalfiles/myapp/js/nls
taskBundleFileName2=bundle.js
taskMinZOS2=04.24.00
taskMinZOSMF2=04.24.00
Tip: To remove a plug-in and all of its tasks
from z/OSMF, type deletePlugin=true at
the end of the property file. Otherwise, omit this property.
- Save the property file.
- Import the property file. To do so, complete the following
steps:
- In the z/OSMF navigation
area, expand the z/OSMF Administration category
and select Import Manager.
- On the Import tab on the Import Manager page,
specify the full path and name of the property file you created, and
click Import.
Results
A message indicating
whether the plug-in was added is displayed. If the plug-in was added,
the tasks where you provided a URL for the taskNavigationURL property
are listed in the z/OSMF navigation
area under the specified category.
If z/OSMF finds any errors
in the property file, neither the plug-in nor any of its tasks will
be added to z/OSMF.
In which case, you must resolve the errors and import the property
file again.
What to do next
If the server-side code for your plug-in
does not reside on the z/OSMF server, you
must associate an application server with each task included in the
plug-in. Otherwise, the plug-in will not work correctly. For instructions,
see the topic about associating application servers with imported
tasks in the z/OSMF help
system.
Set up security for your plug-in. After
which, you must refresh the security management product on your system
and restart the z/OSMF server
to have your changes take affect. For more details, see the section
about securing your applications in Securing your applications.