Extension XML

Format of customized extension.xml files.

XML Overview

The extension manager allows for additional plugin features to be loaded into the application through .xml, scripts, and resources. The extension .xml structure consists of a single top file which references all of the required resources by relative path of the extension folder.

extension.xml Example

The following is an example of a extension.xml file:
<section name="Extension">

	<entry name="name"			value="Extension Capture Ribbon Demo" />
	<entry name="resources"			value="images" />
	<entry name="minProductVersion" value="2022.2" />
	<entry name="version"			value="1.0" />
	<entry name="extends"                   value="HyperWorksDesktop"/>
        <entry name="author"	   	        value="Altair" />
	<entry name="description"		value="HyperWorks extension demo showing you how to incorporate your custom content in the application ribbon.&#xD;&#xD;Contains captues image features for three different clients: HyperMesh, HyperView and HyperGraph." />
	<entry name="supportedClient"		value="HyperWorksDesktop" />
	<entry name="tclscript"			value="global-init.tcl" />
	
	<section name="profile" value="HyperMesh">
	<entry name="ribbonxml"		        value="hm/hm-ribbon.xml" />
	</section>

	<section name="profile" value="HyperView">
	<entry name="ribbonxml" 	        value="hv/hv-ribbon.xml" />
	</section>

	<section name="profile" value="HyperGraph">
	<entry name="ribbonxml" 	        value="hg/hg-ribbon.xml" />
	</section>

</section>

Tags

section

Base container for the extension.
Attributes
name
Children
entry

entry

Each individual reference entry for the add on specified by name value pairs.
Attributes
name, value
Children
None

Options

profile

The Altair HyperWorks products like HyperMesh, HyperView, HyperGraph, and so on can be used.

Using sub-profiles like OptiStruct, Radioss, LineChart, and BarChart can be used to access the extension entry points only when this sub-profile is used.

Product Profile
HyperMesh OptiStruct
Radioss
Feko
HyperForm
HyperXtrude
HyperMold
HyperWeld
Abaqus
ADVC
ANSYS
EXODUS
LS-DYNA
Nastran
PAM-CRASH
Permas
HyperView NA
HyperGraph LineChart
BarChart
ComplexChart
PolarChart
VectorChart
RadarChart
3DChart
MotionView NA
MediaView NA
TextView NA
TableView NA
HyperMesh CFD NA

name

Unique identifier for the extension

displayName

Name displayed in the extension manager

version

Version displayed in the extension manager

extends

Autoloads the extension when the application starts or is loaded with the environment variable HWX_PLUGINS.

To load all referenced product/profiles the value HyperWorksDesktop should be used.

Note: The extension can not be unloaded if loaded via the extends entry.

script

Relative path to the Python script invoked on load

resources

Relative path to the folder containing images and other resource files

Defaults to resources folder

workflowhelp

Relative path to the workflowhelp .xml file

minProductVersion

Minimum version required for the extension to be loaded

version

Version of the extension

removable

Disable the Remove button

supportedClient

Application for which the extension is supported (HyperWorks Desktop, Inspire, and so on)

documentation

Relative path to the help .html file which will be loaded using the description link

contexts

Relative path to the folder containing context scripts

Defaults to context folder

tclscript

Relative path to the .tcl script invoked on load

ribbonxml

Relative path to the ribbon .xml file

toolbars

Relative path to the directory which contains the toolbar.xml file

Example XML
<section name="Extension">

    <entry name="name" value="Postprocessing in HV, HG, MV" />
    <entry name="displayName" value="Postprocessing in HV, HG, MV" />
    <entry name="resources" value="images" />
    <entry name="extends" value="HyperWorksDesktop"/>
    <entry name="workflowhelp" value="contexts/workflowhelp.xml" />
    <entry name="minProductVersion" value="HWX Version 2022" />
    <entry name="version" value="2.0" />
    <entry name="supportedClient" value="HyperWorksDesktop" />
    <entry name="script" value="pyscript.py" />
    <entry name="documentation" value="documentation/index.html" />
    <entry name="removable" value="false"/>
    <entry name="tclscript" value="global-init.tcl" />

    <section name="profile" value="HyperMesh">
        <entry name="ribbonxml" value="hm/hm-ribbon.xml" />
        <entry name="tclscript" value="hm/hm-init.tcl" />
        <entry name="toolbars" value="hm/toolbars" />
        <entry name="contexts" value="hm/contexts" />
    </section>

    <section name="profile" value="HyperView">
        <entry name="ribbonxml" value="hv/hv-ribbon.xml" />
        <entry name="tclscript" value="hv/hv-init.tcl" />
    </section>

    <section name="profile" value="HyperGraph">
        <entry name="ribbonxml" value="hg/hg-ribbon.xml" />
        <entry name="tclscript" value="hg/hg-init.tcl" />
        <entry name="toolbars" value="hg/toolbars" />
    </section>

    <section name="profile" value="MotionView">