Documente Academic
Documente Profesional
Documente Cultură
ANSYS, Inc.
Southpointe
275 Technology Drive
Canonsburg, PA 15317
ansysinfo@ansys.com
http://www.ansys.com
(T) 724-746-3304
(F) 724-514-9494
Release 15.0
November 2013
ANSYS, Inc. is
certified to ISO
9001:2008.
Disclaimer Notice
THIS ANSYS SOFTWARE PRODUCT AND PROGRAM DOCUMENTATION INCLUDE TRADE SECRETS AND ARE CONFIDENTIAL AND PROPRIETARY PRODUCTS OF ANSYS, INC., ITS SUBSIDIARIES, OR LICENSORS. The software products
and documentation are furnished by ANSYS, Inc., its subsidiaries, or affiliates under a software license agreement
that contains provisions concerning non-disclosure, copying, length and nature of use, compliance with exporting
laws, warranties, disclaimers, limitations of liability, and remedies, and other provisions. The software products
and documentation may be used, disclosed, transferred, or copied only in accordance with the terms and conditions
of that software license agreement.
ANSYS, Inc. is certified to ISO 9001:2008.
Third-Party Software
See the legal information in the product help files for the complete Legal Notice for ANSYS proprietary software
and third-party software. If you are unable to access the Legal Notice, please contact ANSYS, Inc.
Published in the U.S.A.
Table of Contents
1. Using This Guide ..................................................................................................................................... 1
2. Overview of Servers and Workspaces ..................................................................................................... 3
2.1. Distributed Servers and Caching ....................................................................................................... 4
2.1.1. Cache Architecture ................................................................................................................... 5
2.1.2. Cache Configuration ................................................................................................................ 5
3. Setting Up Users and Groups .................................................................................................................. 7
3.1. Introduction to Users and Groups ..................................................................................................... 7
3.2. Adding and Modifying Users ............................................................................................................. 8
3.2.1. Adding a New User .................................................................................................................. 8
3.2.2. Editing a Users Profile ............................................................................................................ 11
3.3. Forcing the Logout of a User ........................................................................................................... 11
3.4. Adding and Modifying Groups ........................................................................................................ 11
3.4.1. Adding a New Group .............................................................................................................. 11
3.4.2. Editing Group Membership .................................................................................................... 12
4. Creating and Managing Workspaces From the Administration Interface ............................................ 15
4.1. Logging In and Out of the EKM Server Administration ..................................................................... 15
4.2. Changing the Superuser Password .................................................................................................. 17
4.3. Resetting a Lost Superuser Password ............................................................................................... 17
4.4. Cleaning Up Unused Files ................................................................................................................ 18
4.5. Creating a New, Empty Workspace ................................................................................................... 19
4.6. Creating a New Workspace from an Exported Workspace ................................................................. 21
4.7. Renaming Workspaces .................................................................................................................... 23
4.8. Deleting Workspaces ...................................................................................................................... 23
4.8.1. Deleting Workspaces from Evaluation Servers ......................................................................... 24
4.8.2. Deleting Workspaces for Production Servers ........................................................................... 26
4.9. Migrating Workspaces ..................................................................................................................... 27
5. Restricted and Unrestricted Configuration of Workspaces .................................................................. 31
5.1. Restricted Configuration ................................................................................................................. 31
5.1.1. Starting Restricted Configuration ........................................................................................... 32
5.1.2. Applying the Configuration .................................................................................................... 33
5.1.3. Reverting to a Previous Configuration ..................................................................................... 34
5.1.4. Accepting the Configuration .................................................................................................. 34
5.2. Unrestricted Configuration .............................................................................................................. 36
5.3. Configuring Workspace Settings ...................................................................................................... 37
5.3.1. Schema Definition .................................................................................................................. 38
5.3.2. Configuration Settings in WorkspaceConfig.xml ...................................................................... 38
6. Configuring EKM Server Settings ......................................................................................................... 45
6.1. Schema Definition for an EKM Server ............................................................................................... 45
6.2. General Server Settings ................................................................................................................... 46
6.3. Optional Settings ............................................................................................................................ 59
7. Defining Custom Types ......................................................................................................................... 63
7.1. Overview of Custom Types .............................................................................................................. 63
7.1.1. About Built-in Types ............................................................................................................... 64
7.2. Suggested Steps for Defining Custom Types .................................................................................... 65
7.3. Defining Custom Types Directly in EKM ........................................................................................... 66
7.3.1. Defining a New Custom Type .................................................................................................. 66
7.3.1.1. Defining Properties for a Custom Type ........................................................................... 68
7.3.1.2. Defining Children for a Custom Type .............................................................................. 70
7.3.1.3. Defining Mixins for a Custom Type ................................................................................. 71
7.3.1.4. Defining Type Attributes for a Custom Type .................................................................... 72
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
iii
Administration Guide
7.3.1.5. Defining Actions for a Custom Type ................................................................................ 80
7.3.2. Editing a Custom Type ............................................................................................................ 83
7.4. Defining Custom Types Using XML .................................................................................................. 83
7.4.1. Schema Definition for Custom Types ....................................................................................... 84
7.4.2. Defining Properties Using XML ............................................................................................... 85
7.4.3. Defining Actions Using XML ................................................................................................... 89
7.5. Custom Type Examples ................................................................................................................... 91
7.5.1. Custom Folder Structures ....................................................................................................... 91
7.5.2. Custom Analysis Projects ........................................................................................................ 93
7.5.3. Custom File Formats ............................................................................................................... 94
7.5.3.1. Extracting Metadata from Custom File Formats .............................................................. 96
7.5.3.2. Extracting Reports from Custom File Formats ................................................................. 97
7.6. Extending Built-in Types .................................................................................................................. 99
7.6.1. Migrating Built-in extensions or Custom Types ........................................................................ 99
8. Defining EKM Servers, Queues, and External Applications ................................................................ 101
8.1. Adding EKM Servers ...................................................................................................................... 102
8.2. Defining EKM Cache Servers .......................................................................................................... 102
8.2.1. Creating a New EKM Cache Server ........................................................................................ 102
8.2.2. Editing an Existing EKM Cache Server .................................................................................... 103
8.2.3. Types of Queues ................................................................................................................... 104
8.2.4. Managing Queues ................................................................................................................ 105
8.2.4.1. Synchronizing Job Submission Queues ........................................................................ 106
8.2.4.2. Defining Job Submission Queue Settings ..................................................................... 107
8.3. Defining External Applications ...................................................................................................... 110
8.3.1. Predefined External Applications .......................................................................................... 110
8.3.2. Defining External Applications Directly in EKM ...................................................................... 112
8.3.2.1. Creating a New External Application ............................................................................ 112
8.3.2.2. Editing an External Application Definition .................................................................... 114
8.3.2.3. Editing an External Application Using XML ................................................................... 115
8.3.3. Defining External Applications Using XML ............................................................................ 116
8.3.3.1. Schema Definition for Applications .............................................................................. 116
8.3.3.2. Defining External Applications Using XML .................................................................... 118
8.4. Running Batch Jobs in EKM ........................................................................................................... 118
8.4.1. Running RSM Jobs in EKM .................................................................................................... 119
8.4.2. Using Other Batch Systems with RSM .................................................................................... 120
8.5. Installing and Configuring RSM ..................................................................................................... 120
8.5.1. Windows RSM Installation/Configuration .............................................................................. 121
8.5.2. Linux RSM Installation/Configuration .................................................................................... 122
8.6. Running Interactive Jobs in EKM .................................................................................................... 124
8.6.1. Running Remote Desktop Sessions ....................................................................................... 125
9. Configuring EKM Mobile ..................................................................................................................... 127
9.1. Running the Mobile Connector on the Same Host as the EKM Server .............................................. 127
9.2. Running the Mobile Connector on a Host Other than the EKM Server ............................................. 128
10. Defining and Configuring Lifecycles ................................................................................................. 131
10.1. Introduction to Lifecycles ............................................................................................................ 131
10.2. Lifecycle Terminology .................................................................................................................. 132
10.3. Basic Steps for Creating, Configuring, and Managing Lifecycles ..................................................... 133
10.4. Launching EKM Studio ................................................................................................................ 133
10.5. Defining Lifecycles in EKM Studio ................................................................................................ 134
10.5.1. Steps for Defining New Lifecycles ....................................................................................... 135
10.5.2. Defining and Editing Lifecycle Stages .................................................................................. 136
10.5.2.1. Inserting New Stages ................................................................................................. 136
iv
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Administration Guide
10.5.2.2. Editing Stages ............................................................................................................ 137
10.5.2.3. Renaming Stages ....................................................................................................... 138
10.5.2.4. Deleting Stages ......................................................................................................... 138
10.5.3. Defining and Editing Lifecycle Transitions ........................................................................... 139
10.5.3.1. Inserting New Transitions ........................................................................................... 139
10.5.3.2. Editing Transitions ..................................................................................................... 139
10.5.3.3. Using Macros in Lifecycle Definitions .......................................................................... 141
10.5.3.4. Deleting Transitions ................................................................................................... 142
10.5.4. Saving Lifecycle Files .......................................................................................................... 143
10.5.5. Opening Lifecycle Files ....................................................................................................... 143
10.5.6. Editing Lifecycle Attributes ................................................................................................. 144
10.6. Enabling Lifecycles ...................................................................................................................... 146
10.7. Displaying Lifecycles ................................................................................................................... 147
10.8. Promoting a Lifecycle Stage ........................................................................................................ 149
10.9. Demoting a Lifecycle Stage ......................................................................................................... 150
10.10. Managing Lifecycle Signoff Requests ......................................................................................... 150
10.10.1. Approving a Lifecycle Signoff Request .............................................................................. 153
10.10.2. Rejecting a Lifecycle Signoff Request ................................................................................ 153
10.10.3. Cancelling a Lifecycle Signoff Request ............................................................................... 154
10.11. Setting a Lifecycle Stage ............................................................................................................ 155
10.12. Configuring Lifecycles for a Workspace ...................................................................................... 155
11. Scripts and Journals .......................................................................................................................... 157
11.1. Introduction to Scripts and Journals ............................................................................................ 157
11.2. Defining Scripts Using a Supported Scripting Language ............................................................... 158
11.3. Using EKM's Scripting Interface ................................................................................................... 159
11.4. Using Sample Scripts Supplied by EKM ........................................................................................ 160
11.4.1. Python Scripts .................................................................................................................... 161
11.5. Scripting Actions ......................................................................................................................... 162
11.6. Recording Journal Scripts ............................................................................................................ 162
11.6.1. Start Recording a Journal Script .......................................................................................... 165
11.6.2. Stop Recording a Journal Script .......................................................................................... 166
11.7. Running Journal Scripts ............................................................................................................... 166
11.8. Example of Journal Recording and Execution ............................................................................... 166
11.9. Running Python and BeanShell Scripts From a Command Window ............................................... 167
12. Defining Custom Dialogs, Wizards and Applications ........................................................................ 169
12.1. Defining Custom Dialog Boxes .................................................................................................... 169
12.1.1. Defining a Custom User Interface ........................................................................................ 169
12.1.1.1. XHTML Files ............................................................................................................... 171
12.1.1.2. Sample XHTML Code for a Custom Dialog Box ............................................................ 172
12.1.1.3. User Interface Components ........................................................................................ 174
12.1.1.3.1. Layout and Style ............................................................................................... 174
12.1.1.3.2. Embedded Images ............................................................................................ 174
12.1.1.3.3. User Inputs ....................................................................................................... 174
12.1.1.3.4. Check Boxes ...................................................................................................... 176
12.1.1.3.5. Radio Buttons ................................................................................................... 176
12.1.1.3.6. Selection Menu ................................................................................................. 176
12.1.1.3.7. List Box ............................................................................................................. 177
12.1.2. Defining Dialog Box Steps and Variables ............................................................................. 177
12.2. Steps for Creating and Using Custom Applications ....................................................................... 179
12.3. Creating a Custom Application .................................................................................................... 180
12.4. Executing a Custom Application .................................................................................................. 181
12.5. Modifying an EKM Application .................................................................................................... 184
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Administration Guide
13. Units: Defining and Configuring Using XML ..................................................................................... 187
13.1. Schema Definition for Units ......................................................................................................... 188
13.2. Adding a New Unit ...................................................................................................................... 189
13.3. Adding a New Quantity ............................................................................................................... 190
13.4. Adding a New Unit System .......................................................................................................... 190
14. Transferring a Workspace Between EKM Servers .............................................................................. 191
14.1. Exporting a Workspace ................................................................................................................ 191
14.2. Importing a Workspace ............................................................................................................... 192
15. Miscellaneous Tasks .......................................................................................................................... 193
15.1. Configuring a Common Scripts Library ........................................................................................ 193
15.2. Gathering Usage Statistics ........................................................................................................... 193
15.3. Remote File Servers ..................................................................................................................... 194
15.3.1. Defining a New Remote File Server ..................................................................................... 194
15.3.2. Built-in Remote File Servers ................................................................................................ 196
15.4. Managing Logs ........................................................................................................................... 196
15.5. Installing VCollab and Configuring EKM for 3D Visualization ......................................................... 197
15.6. Using the EKM Server Diagnostics Tool ........................................................................................ 198
15.7. Lifecycle Approval Process for Workflows ..................................................................................... 198
16. Backing Up and Restoring EKM ......................................................................................................... 199
16.1. Data Stored by EKM ..................................................................................................................... 199
16.1.1. The EKM Database .............................................................................................................. 199
16.1.2. The EKM Data Directory ...................................................................................................... 199
16.1.3. The EKM Base Directory ...................................................................................................... 199
16.2. Backing Up EKM .......................................................................................................................... 200
16.2.1. Backup Procedure .............................................................................................................. 200
16.2.1.1. Garbage Collection .................................................................................................... 201
16.2.1.2. Backing up the EKM Database .................................................................................... 202
16.2.1.3. Backing up the EKM Data, EKM Base, Job Data and Repository Directories ................... 202
16.3. Restoring EKM ............................................................................................................................ 202
16.3.1. Restoring Procedure ........................................................................................................... 202
16.3.1.1. Restoring the EKM Database ...................................................................................... 203
16.3.1.2. Restoring the EKM Data, EKM Base, Job Data and Repository Directories ...................... 203
16.3.1.3. Clearing the Search Indices ........................................................................................ 203
A. Java Security Manager and EKM Scripting .............................................................................................. 205
B. Built-in Types - Reference ....................................................................................................................... 207
B.1. Abaqus Input (AbaqusInput) ......................................................................................................... 207
B.2. Abaqus Output Database (AbaqusOutputDatabase) ...................................................................... 207
B.3. Abaqus Result (AbaqusResult) ....................................................................................................... 207
B.4. Adobe Acrobat Document (AdobePdfFile) ..................................................................................... 207
B.5. Analysis Project (AnalysisContainer) .............................................................................................. 207
B.6. Ansoft Designer File (AnsoftDesigner) ........................................................................................... 208
B.7. ANSYS Database/Mechanical APDL Database (AnsysDatabase) ...................................................... 209
B.8. ANSYS Input/Mechanical APDL Input (AnsysInput) ........................................................................ 209
B.9. ANSYS Output/Mechanical APDL Output (AnsysOutput) ................................................................ 210
B.10. ANSYS Result/Mechanical APDL Result (AnsysResult) ................................................................... 210
B.11. Applications Grid (ApplicationsGrid) ............................................................................................ 210
B.12. Approval Work item (ApprovalWorkItem) ..................................................................................... 210
B.13. Archive (Archive) ......................................................................................................................... 210
B.14. AUTODYN Database (AutodynDatabase) ...................................................................................... 210
B.15. Base Job (BaseJob) ...................................................................................................................... 210
B.16. Batch Job Submission Queue (BatchQueue) ................................................................................. 211
B.17. Batch Work Item (BatchWorkItem) ............................................................................................... 211
vi
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Administration Guide
B.18. BladeGen Database (BladeGenDatabase) ..................................................................................... 211
B.19. CAE Model File (CaeModelFile) .................................................................................................... 211
B.20. Cache Server (CacheServer) ......................................................................................................... 212
B.21. Catalog (Catalog) ........................................................................................................................ 212
B.22. CFX Definition (CfxDefinition) ...................................................................................................... 212
B.23. CFX Result (CfxResult) ................................................................................................................. 212
B.24. CFX Session File (CfxSessionFile) .................................................................................................. 212
B.25. CFX State File (CfxStateFile) ......................................................................................................... 213
B.26. Comparison Report (ComparisonReport) ..................................................................................... 213
B.27. Container (Container) .................................................................................................................. 213
B.28. Data Extraction Monitor (DataExtractionMonitor) ........................................................................ 213
B.29. Data Extraction Monitor Container (DataExtractionMonitorContainer) ......................................... 213
B.30. Data Extraction Queue (DataExtractionQueue) ............................................................................ 213
B.31. DesignXplorer Database (R11) (DesignXplorerDatabase) .............................................................. 213
B.32. DesignModeler Database (WorkBenchDesignModelerFile) ........................................................... 213
B.33. EKM Application (Application) ..................................................................................................... 214
B.34. EKM Journal File (ScriptFile) ......................................................................................................... 214
B.35. EKM Object (Model) .................................................................................................................... 214
B.36. EKM Server (Server) ..................................................................................................................... 215
B.37. EKM Type (Type) ......................................................................................................................... 215
B.38. EKM Workflow (Workflow) ........................................................................................................... 215
B.39. Engineering Data Database (R11) (WorkBenchEngineeringData) .................................................. 215
B.40. ePhysics File (AnsoftEPhysics) ...................................................................................................... 215
B.41. External Application (ExternalApplication) ................................................................................... 215
B.42. FE Model (FeModelInput) ............................................................................................................ 216
B.43. FE Modeler Database (FeModelerDatabase) ................................................................................. 216
B.44. File (File) ..................................................................................................................................... 216
B.45. File Server (ExternalResourceFs) .................................................................................................. 217
B.46. Fluent Case (FluentCase) ............................................................................................................. 217
B.47. Fluent Data (FluentData) ............................................................................................................. 218
B.48. Fluent Plot (FluentPlot) ................................................................................................................ 218
B.49. Folder (Folder) ............................................................................................................................ 218
B.50. Group (Group) ............................................................................................................................ 218
B.51. HFSS File (HfssProject) ................................................................................................................. 218
B.52. Image (Image) ............................................................................................................................. 219
B.53. Imported Report (ImportedReport) ............................................................................................. 219
B.54. Interactive Job (InteractiveJob) .................................................................................................... 219
B.55. Interactive Job Submission Queue (InteractiveQueue) ................................................................. 219
B.56. Job (Job) ..................................................................................................................................... 219
B.57. Job Submission Queue (JobSubmissionQueue) ........................................................................... 220
B.58. Job Submission Server (JobSubmissionServer) ............................................................................ 220
B.59. Job Template (JobTemplate) ........................................................................................................ 220
B.60. Job Template Container (JobTemplateContainer) ......................................................................... 220
B.61. Lifecycle (Lifecycle) ..................................................................................................................... 220
B.62. Maxwell File (AnsoftMaxwell) ...................................................................................................... 220
B.63. Meshing Database (MeshingDatabase) ........................................................................................ 222
B.64. Message Board (MessageBoard) .................................................................................................. 222
B.65. Microsoft Excel Worksheet (MSOfficeExcelFile) ............................................................................. 222
B.66. Microsoft Powerpoint Presentation (MSOfficePowerpointFile) ...................................................... 222
B.67. Microsoft Word Document (MSOfficeDocumentFile) .................................................................... 222
B.68. My Data (MyData) ....................................................................................................................... 222
B.69. NASTRAN Bulk Data (NastranBulkData) ........................................................................................ 222
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
vii
Administration Guide
B.70. NASTRAN Result (NastranResult) ................................................................................................. 222
B.71. Polyflow Data (PolyflowData) ...................................................................................................... 222
B.72. Polyflow Export (UNS) (PolyflowExportFile) .................................................................................. 223
B.73. Process Container (ProcessContainer) .......................................................................................... 223
B.74. Public Saved Query (PublicSavedQueryContainer) ....................................................................... 223
B.75. Q3D File (AnsoftQ3D) .................................................................................................................. 223
B.76. Queue (Queue) ........................................................................................................................... 223
B.77. Remote Folder (RemoteFolder) .................................................................................................... 223
B.78. Report (Report) ........................................................................................................................... 223
B.79. Saved Query (SavedQuery) .......................................................................................................... 224
B.80. Saved Query Container (SavedQueryContainer) ........................................................................... 224
B.81. Search Results Report (SearchResultsReport) ............................................................................... 224
B.82. Shortcut (Link) ............................................................................................................................ 224
B.83. Simplorer File (AnsoftSimplorer) .................................................................................................. 224
B.84. Simulation Details Report (CaeModelSummaryReport) ................................................................ 224
B.85. Siwave File (AnsoftSiwave) .......................................................................................................... 224
B.86. Update Analysis Project Work Item (UpdateAnalysisProjectWorkItem) .......................................... 225
B.87. URL (Url) ..................................................................................................................................... 225
B.88. User (User) .................................................................................................................................. 225
B.89. VCollab File (VcollabCompressedFile) .......................................................................................... 225
B.90. Workbench Journal File (WorkBenchJournalFile) .......................................................................... 225
B.91. Workbench Design Point File (WorkBenchDesignPointFile) .......................................................... 225
B.92. Workbench Project Archive File (WorkBenchProjectArchiveFile) ................................................... 225
B.93. Workbench Project File (WorkBenchProjectFile) ........................................................................... 226
B.94. Workbench Project File R11 (WorkBenchProjectFileR11) ............................................................... 226
B.95. Workbench Simulation/Mechanical Database (WorkBenchSimulation) ......................................... 226
B.96. Workflow Process (Process) .......................................................................................................... 227
B.97. Work Item (WorkItem) ................................................................................................................. 227
C. Lifecycles: Defining and Configuring Using XML ..................................................................................... 229
C.1. Defining Lifecycles Using XML ....................................................................................................... 229
C.1.1. Schema Definition for Lifecycles ........................................................................................... 229
C.1.2. Defining a Lifecycle XML File ................................................................................................ 231
C.1.2.1. Types .......................................................................................................................... 231
C.1.2.2. Stages ......................................................................................................................... 231
C.1.2.3. Transitions ................................................................................................................... 233
viii
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
In the navigation pane, go to the /System/User Accounts/Users folder, then right-click and
select New > User from the context menu. The New User dialog box opens.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
2.
Enter a user name. This is the user name that the user will be required to enter when they log into EKM.
3.
Optionally specify other details such as First name, Last name, Title, and Phone.
4.
Specify the users email address. This address is used by EKM to send any alerts or notifications to the
user.
5.
If the user belongs to a remote office and a remote EKM server has been configured as a cache server
for that office, then select that server in the Cache server drop-down list. If a cache server does not
need to be assigned for this user, then keep the default value (No Cache Server) for this field.
6.
If the user will only be running applications and executing workflows, you can tailor the EKM interface
for this purpose by setting the Usage Mode to Application Execution. This removes unnecessary
components from the interface, creating a simple, streamlined environment that is specific to application
execution. For details see Running EKM in Application Execution Mode in the EKM Users Guide.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
If the Usage Mode is set to Default, the user will see the full EKM interface and have access to all
features.
7.
Select Enabled to enable the user for login. If you do not select this, the user will not be able to log in
to EKM.
8.
If the user needs to be granted access for a limited time only, select Temporary and enter the Expiration
date when prompted.
9.
The default password for a user is <username>123. For example, if the user name is john, the default
password is john123. To provide a different password, select Change password. The dialog box will
expand to show more options. Enter the new password twice.
10. To assign the user to available groups, select the groups in the Available groups column and click the
Add> button to add it to the Selected groups list. To remove the user from a group, select the group
in the Selected groups column and click the < Remove button.
11. Once you have specified all the settings, you can click Create & Close to create the user and close the
dialog. If you want to create more users, then click Create & New. This will create the current user and
reopen the dialog so that you can create another user. All new users will be added to the /System/User Accounts/Users folder.
12. Once you create a new user, you can edit their profile at any point in the future to make changes to it.
See Editing a Users Profile (p. 11) for more details.
10
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
To log off a user who is currently logged in, select the user and then click
on the toolbar.
The user will immediately be logged out of EKM, and the icon next to their name will change to white
.
In the navigation pane, go to the /System/User Accounts/Groups folder, and then right-click
and select New > Group from the context menu. The New Group dialog box appears, as shown below.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
11
2.
3.
If you want other groups to be part of this group, select the desired groups in the Available groups
list and click the Add> button to add them to the Selected groups list. To remove a group, select the
group in the Selected groups list and click the < Remove button. All permissions that are available
for the current group will be applied to all users who are members of the selected groups.
4.
To assign users to the group, select the desired users in the Available users list and click the Add >
button. To remove a user, select the user in the Selected users list and click the < Remove button. All
permissions that are available to the current group will be applied to all selected users.
5.
Once you have specified all the settings you can click Create & Close to create the group and close
the dialog box. If you want to create more groups, click Create & New. This will create the current
group and reopen the dialog box again so that you can create a new group. All new groups will be
added to the /System/User Accounts/Groups folder.
12
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
13
14
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
On the EKM login screen, check the Log into EKM Server Administration box. The user name superuser will be automatically pre-filled.
2.
3.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
15
4.
The EKM Server Administration window contains a list of Workspaces, and these commands:
Add Workspace lets you add a new empty workspace or an exported workspace.
Migrate Workspace lets you migrate a workspace that is in configuration mode.
Download Migration Log lets you download a log file detailing the last executed migration.
5.
To change the password to the EKM Server Administration site, click the Change Password command
link. See Changing the Superuser Password (p. 17) for details.
6.
To clean the EKM data directory, click Clean Up Unused Files.... See Cleaning Up Unused Files (p. 18)
for details.
7.
When server administration is complete, click the Log Out link at the bottom of the window to log out
of the site and return to the EKM login window.
Once you are logged out, you can also reset a lost password, rename a workspace and delete a workspace.
16
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Log into the EKM Server Administration. See Logging In and Out of the EKM Server Administration (p. 15) for details.
2.
Click the Change Password link at the bottom of the EKM Server Administration window.
3.
In the Change Superuser Password dialog, enter a new password in the New Password field.
Figure 4.2: Change Superuser Password Dialog Box
4.
5.
Click OK.
2.
Replace the text in the superUser element with the following text:
<superUser>
<name>superuser</name>
<password>9a85a0cc0a56febcf46690a6ab1a5803</password>
</superUser>
3.
Restart EKM.
The superuser password is stored as an md5 key in this file. Therefore, you can create a new key using
any md5 generation tool, and store the new password there.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
17
Important
In order to control the size of the EKM Data Directory, you should periodically run the garbage
collection process to delete files that are no longer needed. This is referred to as "cleaning"
the EKM data directory. Note that the dataStoreGc scheduled task (see Scheduling Automatic
Tasks (<scheduledTasks>)) performs this same operation. If dataStoreGc is running on a
regular schedule, you may not need to run the cleanup from this interface.
To clean the EKM data directory:
1.
Log into the EKM Server Administration interface. See Logging In and Out of the EKM Server Administration (p. 15) for details.
2.
Click the Clean Up Unused Files... button in the EKM Server Administration window. The Clean Up
Unused Files dialog box appears.
This dialog has two display modes. What is displayed depends on whether or not garbage collection
is already in progress.
If garbage collection is not currently running, the dialog displays information about the last time
you cleaned the EKM data directory. It shows the time that the garbage collection started, when
it finished, and the number of unreferenced files it deleted.
Figure 4.3: Clean Up Unused Files Dialog Box
3.
18
To start garbage collection, click Start Cleanup. This starts a garbage collection task on the EKM Server
and closes the dialog box. The task runs in the background so that you can continue to work in EKM
or log out. To monitor the progress of the garbage collection, click the Clean Up Unused Files... button
at the bottom of the EKM Server Administration window. This opens the dialog box again. If garbage
collection is still running, a snapshot of its current status is displayed in the Garbage Collection dialog
box, as shown below.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
You will see two possible status messages depending on what stage the garbage collection is in:
Scanning files. n nodes completed.
Deleting unreferenced files.
In the first stage, the garbage collection scans through all the nodes in the database. The Garbage
Collection dialog reports the number of nodes that have been scanned so far. After the scanning
stage is complete, it begins a final stage where it deletes all unreferenced files from the EKM data
directory.
Note
To ensure consistency during restore, and to prevent accidental deletion of files that have
not yet been committed, an unreferenced file may not be deleted if it was added or accessed
recently. See the description of the dataStoreGC setting in Scheduling Automatic Tasks
(<scheduledTasks>) (p. 53) for more details.
Log into the EKM Server Administration. See Logging In and Out of the EKM Server Administration (p. 15) for details.
2.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
19
3.
4.
5.
Once the workspace has been created, the Add Workspace Completed dialog box appears:
6.
Click Close. The new workspace will appear in the Workspaces list in the EKM Server Administration
window, and in all other workspace drop-down lists in EKM.
Important
If the WorkspaceConfig.xml file has not been configured in accordance with the schema
definition, the new workspace will fail to initialize, and the error will be reported in the following dialog:
20
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
It is important to note that even though the workspace has failed to initialize, it has still been
created on the server. The presence of a faulty workspace will prevent the EKM server from
starting properly. You will need to manually remove the faulty workspace from the server.
See Deleting Workspaces (p. 23) for details.
Note
The source and destination EKM servers must be running the same version of EKM (for example, EKM 15.0).
1.
Export the workspace from the source EKM server using the Export Workspace tool. For details see
Exporting a Workspace (p. 191).
2.
Log in to the Administration interface of the destination EKM server as superuser (see Logging In
and Out of the EKM Server Administration (p. 15)).
3.
In the EKM Server Administration window, click Add Workspace... to create a new workspace. This
opens the New Workspace dialog box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
21
a.
b.
c.
Type the path to the folder on the destination EKM server that contains the exported workspace.
d.
Click OK.
When the operation is complete, the Add Workspace Completed dialog box appears.
4.
Click Close. The new workspace is added to the Workspaces list in the EKM Server Administration
window and in all other workspace drop-down lists in EKM.
5.
22
Go to each application definition in the new workspace and update the application's path to point
to correct application executable.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Deleting Workspaces
b.
Update the default remote file servers (Audit Logs, EKM Base Directory) to valid paths for the target
EKM server.
Important
The EKM server must be shut down before you can rename a workspace and then restarted
afterwards for the change to take effect.
1.
Shut down the EKM server. Refer to the chapter on Starting and Connecting to EKM in the Installation
Guide for details.
2.
3.
Open the workspace.xml file in the workspace folder you just renamed and make the following
changes:
a. Change the name of the workspace in the Workspace root element to the new workspace name.
Example:
<Workspace name="Analysts2">
b. In the PersistenceManager element, for the param setting named schemaObjectPrefix,
change the value of ${wsp.name}_ to the OLD workspace name.
Example:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager">
<param name="schemaObjectPrefix" value="Analysts1_"/>
4.
Restart the EKM server. Refer to the chapter on Starting the EKM Server and Launching the Web Client
in the Installation Guide for details.
23
Download and uncompress the bin distribution of Derby. Derby distributions are platform-neutral,
and contain executable tools for both Windows and Linux systems. The Derby distribution used in this
example is: db-derby-10.8.1.2-bin.zip.
The suggested location for the uncompressed Derby distribution is EKM_BASE/programs/<derby>, where <derby> is the name of the uncompressed Derby distribution, such as:
db-derby-10.8.1.2-bin.
We will refer to this location as DERBY_HOME.
2.
3.
Start the ij tool from the Derby distribution from the command-line:
DERBY_HOME/bin/ij
4.
In the ij tool, perform the following commands to delete the EKM workspace from the database. This
example demonstrates deleting the EKM workspace named MYEKM.
The EKM database is located in the following location: <ekm-install>/<repository>/db/ekm.
a. Connect to the ekm database by issuing the following command within ij (shown in bold):
ij> connect 'jdbc:derby:C:\ekm150\ekm-server\repository\db\ekm';
b. Show the database tables associated with the EKM server (tables with schema name ekm) by
issuing the following command within ij (shown in bold):
ij> show tables in ekm;
TABLE_SCHEM
|TABLE_NAME
|REMARKS
-----------------------------------------------------------------------EKM
|CACHESTORE_BINVAL
|
24
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Deleting Workspaces
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
EKM
|CACHESTORE_BUNDLE
|CACHESTORE_NAMES
|CACHESTORE_REFS
|DEFAULT_BINVAL
|DEFAULT_BUNDLE
|DEFAULT_NAMES
|DEFAULT_REFS
|MYEKM_BINVAL
|MYEKM_BUNDLE
|MYEKM_NAMES
|MYEKM_REFS
|ROOT_BINVAL
|ROOT_BUNDLE
|ROOT_NAMES
|ROOT_REFS
|VERSION_BINVAL
|VERSION_BUNDLE
|VERSION_NAMES
|VERSION_REFS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 rows selected
c. Drop the database tables associated with the EKM workspace named MYEKM by issuing the
following commands within ij (shown in bold):
ij> drop table EKM.MYEKM_BINVAL;
0 rows inserted/updated/deleted
ij> drop table EKM.MYEKM_BUNDLE;
0 rows inserted/updated/deleted
ij> drop table EKM.MYEKM_NAMES;
0 rows inserted/updated/deleted
ij> drop table EKM.MYEKM_REFS;
0 rows inserted/updated/deleted
d. Issue the following command within ij (shown in bold) to show that the tables of the MYEKM
workspace have been dropped:
ij> show tables in ekm;
TABLE_SCHEM
|TABLE_NAME
|REMARKS
-----------------------------------------------------------------------EKM
|CACHESTORE_BINVAL
|
EKM
|CACHESTORE_BUNDLE
|
EKM
|CACHESTORE_NAMES
|
EKM
|CACHESTORE_REFS
|
EKM
|DEFAULT_BINVAL
|
EKM
|DEFAULT_BUNDLE
|
EKM
|DEFAULT_NAMES
|
EKM
|DEFAULT_REFS
|
EKM
|ROOT_BINVAL
|
EKM
|ROOT_BUNDLE
|
EKM
|ROOT_NAMES
|
EKM
|ROOT_REFS
|
EKM
|VERSION_BINVAL
|
EKM
|VERSION_BUNDLE
|
EKM
|VERSION_NAMES
|
EKM
|VERSION_REFS
|
16 rows selected
e. Exit the ij tool by issuing the exit command within ij (shown in bold):
ij> exit;
5.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
25
Stop the application server in which EKM is running. If EKM is installed in a clustered installation, stop
the application server on each cluster node.
2.
Delete the workspace from the database. To do this you will need to remove all the tables corresponding
to the workspace from the EKM database. Assuming the name of database is ekm150 and the name
of the workspace that you want to remove is Temp, then the following sequence of commands show
how to remove the tables from a MySQL database.
Open the MySQL client console:
a. Switch to the EKM database by issuing the command:
use ekm150;
This assumes that the name of the EKM database that you provided at installation time is
ekm150.
b. List all the tables within this database by issuing the command:
show tables;
c. Delete all the tables whose prefix is temp. This assumes that the name of the workspace that
you want to delete is called Temp.
The following series of commands will delete the tables for the Temp workspace:
drop table temp_binval;drop table temp_bundle;drop table temp_names;drop
table temp_refs;
3.
4.
When you restart the application server, the workspace will no longer be listed in any drop-down list
in EKM.
26
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Migrating Workspaces
Refer to Restricted Configuration (p. 31) for details on how to start a restricted configuration mode and
where it is used. Note that only a root user can perform restricted configuration actions.
Important
Data migration is a potentially risky step that may cause data loss or corruption if it
cannot be successfully completed for any reason. Therefore it is highly recommended
that you take a complete backup of your EKM data before migrating a workspace that
is in production use.
To migrate a workspace that is restricted configuration mode:
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
27
Log into the EKM Administration Interface as superuser (see Logging In and Out of the EKM Server
Administration (p. 15)). Select a workspace that is in configuration mode and click Migrate Workspace.... This opens the Migrate Workspace dialog box.
Figure 4.6: Migrate Workspace Dialog Box
If the data model has changed as a result of your configuration and data loss may result for the
workspace, the dialog box indicates which changes are affected under Type Changes Involving
Removal of Metadata or Child Objects. If you click Cancel, no migration will take place. If you
click Apply, migration will take place but the workspace will remain in configuration mode. If you
click Apply & Accept, the workspace will exit from configuration mode after migration, and other
users will be able to log into it. When you accept changes, you can optionally add a comment that
will be used as the check-in comment for the new version of the /System/Configuration
folder.
2.
28
When you click Apply or Apply & Accept in the Migrate Workspace dialog box, migration begins and
a Progress dialog box opens and report on the status of the migration (Figure 4.7: Progress Dialog Box
During Migration (p. 29)). Depending on the amount of objects in the repository, migration can take
from several minutes to a few hours to complete. You can also view a log of the migration as it progresses
by clicking the Show Log button or download it using Download Migration Log.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Migrating Workspaces
Figure 4.7: Progress Dialog Box During Migration
Once it finishes, the Migration Completed dialog box indicates successful completion, as shown
below. You can view the log after download by selecting this option in the EKM Server Administration. The log will be overwritten each time you migrate a workspace configuration.
Figure 4.8: Migration Completed Dialog
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
29
30
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
The /System/Configuration folder is under version control. When you begin restricted configuration, the folder is checked out, allowing you to make the necessary modifications. When you exit the
configuration mode, the folder is checked in with a new version number. Thus, all changes made in
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
31
Note
When you begin configuration, all other users will be logged out of the workspace, so you
may want to check the /System/Users folder to see which users are logged in before
you begin. Logged-in users will be identified with green user icons
. As a best practice,
it is recommended that you give advanced notice to all users of a workspace when configuration will start and when it will end.
To begin restricted configuration:
1.
32
Select File > Workspace Configuration > Begin Workspace Configuration. You are asked to confirm
that you want to start the configuration mode.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Restricted Configuration
Figure 5.1: Begin Workspace Configuration Dialog Box
2.
Click OK to start the configuration. This makes the /System/Configuration folder editable, and
logs other users out of the workspace.
You can now make custom type, lifecycle, and script configuration changes to your workspace. When
you are done, choose one of following three options on the Workspace Configuration menu:
Apply Workspace Configuration
Revert Workspace Configuration
Accept Workspace Configuration
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
33
Select File > Workspace Configuration > Revert Workspace Configuration. You will be asked to
confirm that you want to revert the configuration.
Figure 5.3: Revert Workspace Configuration Dialog Box
2.
If you want to cancel the workspace configuration session after the workspace has been reverted, check
the Cancel the Workspace Configuration Session box. If this is done, the /System/Configuration
folder will become non-editable and other users will be allowed to log in to the workspace again.
3.
Click OK to revert.
34
Select File > Workspace Configuration > Accept Workspace Configuration. This opens the Accept
Workspace Configuration dialog box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Restricted Configuration
Figure 5.4: Accept Workspace Configuration
2.
If your changes have not affected the data model, then click Accept to accept the configuration. You
can optionally add a comment. The comment will be stored with the new version of the /System/Configuration folder.
3.
If your changes have affected the data model, you will be asked to log out of EKM and migrate the
workspace using the EKM Administration site, as shown in the figure below.
Figure 5.5: Accept Workspace Configuration - Migration Required
If this happens:
1. Click Cancel to close the Accept Workspace Configuration dialog box.
2. Log out of the workspace.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
35
Objects that can be configured in unrestricted configuration mode include the following:
EKM Servers. Every EKM server contains one built-in job submission server named Master. You can
also add cache servers to enable data caching. See Adding EKM Servers (p. 102).
External Applications. These are definitions for external applications that can be launched by EKM.
External applications are defined within job submission queues. See Defining External Applications (p. 110).
Remote File Servers. These definitions enable users to connect to remote files and folders on any
server type. See Defining a New Remote File Server (p. 194).
Shared Applications. This public folder contains the following pre-defined applications:
Create Custom Application
Create Job Template
Create Workflow Definition
36
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
37
Important
When specifying values for attributes in the WorkspaceConfig.xml file, avoid using
characters that are used as identifiers in XML code, such as &, < and >. Otherwise,
an error will be reported when you apply the workspace configuration.
For example, specifying the following value for the downloadConfirmation setting would
cause an error because the & character is used.
<downloadConfirmation>The files & folders on this system may be restricted.
Please review restrictions on a file before distributing externally.</downloadConfirmation>
In this case, the following error would be reported when you apply the workspace configuration:
38
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
defaultExtensions Setting
The defaultExtensions setting can be used to specify the data type that will be taken as the default
for a particular extension. This is used in cases where the same extension is shared by multiple types.
A sample listing is shown below.
Example 5.1: defaultExtensions Setting
<defaultExtensions>
<extension>
<name>dat</name>
<type>PolyflowData</type>
</extension>
</defaultExtensions>
In many cases, EKM can automatically infer the correct type if a file extension is used by multiple file
types. Every user can also choose to specify the default type for a particular file extension in their
preferences. This setting is used in cases where users have not specified a preference for an extension,
and EKM cannot infer the type.
mimeTable Setting
The mimeTable setting can be used to specify the MIME type for a file extension. The MIME type for
a built-in or custom type can also be specified in the typeSettings setting by using the content
Type type attribute. The mimeTable setting is used to set the MIME type of those files that are represented as generic File types in EKM. The default MIME type of a file in EKM is application/octetstream, which is used to represent binary files.
A sample listing for the mimeTable setting is shown below. In this example all files with an out extension will have a MIME type of text/plain.
Example 5.2: mimeTable Setting
<mimeTable>
<mimeEntry>
<extension>out</extension>
<contentType>text/plain</contentType>
</mimeEntry>
</mimeTable>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
39
typeSettings Setting
The typeSettings setting can be used to set or modify some settings of built-in or custom types.
The following settings can be specified for any type:
hidden: Used primarily to hide built-in types from which you do not want to extract metadata or
reports. For example, by specifying WorkBenchSimulation as a hidden type, then whenever a
Workbench Simulation file type (.dsdb) is added to EKM, it will be treated as an ordinary file and
no metadata will be extracted from it.
modelObjectClass: Used to specify the full name of a class that implements the back-end behavior of a data type. This is used for customization only.
typeAttribute: Used to specify the value of some type attributes. See Defining Custom
Types (p. 63) for a description of type attributes and acceptable names.
A sample listing for typeSettings is shown below. The name of a built-in type should be the nonlocalized name as described in Appendix B (p. 207). In this example, a modelObjectClass setting is
provided for a custom type called AcmeSimulationFile. The metaDataApplication type attribute
of the FluentCase built-in data type value is set to fluentExtractionApp, which is a custom
application defined in the applications.xml file. Finally, the hidden setting of the WorkBenchSimulation type is set to true.
Example 5.3: typeSettings Setting
<typeSettings>
<type name="AcmeSimulationFile">
<modelObjectClass>com.acme.AcmeSimulationFileObject</modelObjectClass>
</type>
<type name="FluentCase">
<typeAttribute name="metaDataApplication" value="fluentExtractionApp"/>
</type>
<type name="WorkBenchSimulation">
<hidden>true</hidden>
</type>
</typeSettings>
dashboard Setting
The dashboard setting can be used to specify default gadgets for a user dashboard. This setting can
have any number of child gadget elements. Each gadget element can have the following child elements:
name: Used to specify the name of the gadget.
path: Used to specify the path of the object that will be viewed by the gadget.
essential: An optional element that can either be true or false. It specifies whether the gadget
is essential, in which case it cannot be deleted by a user (an 'X' icon will not appear for essential
gadgets). If this element is not specified, the gadget is treated as non-essential.
By default, all dashboards contain three gadgets: My Work Items, My Jobs, and My Processes. All of
these gadgets are non-essential.
Example 5.4: dashboard Setting
<dashboard>
<gadget>
40
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
preferences Setting
The preferences setting is used to establish the default selections for preferences in the Edit Preferences dialog box. Changes made to the preferences defined in the WorkspaceConfig.xml file
apply only to new users that are created. The preferences of existing users are not affected. The default
values specified in the preferences setting are also the values that will be restored when a user
(new or existing) clicks the Restore Defaults button in the Edit Preferences dialog box. The default
values for the preferences setting are shown below.
Example 5.5: preferences Setting
<preferences>
<initialUri>/My Home</initialUri>
<locale>en</locale>
<r12Labels>true</r12Labels>
<unitSystem>SI</unitSystem>
<disableDataExtraction>false</disableDataExtraction>
<font>12px Arial, Helvetica, sans-serif</font>
<typeColumnMap>
<typeColumnMapEntry>
<typeName>Model</typeName>
<columnList>type, length, modificationTime, modifiedBy</columnList>
</typeColumnMapEntry>
</typeColumnMap>
<recyclebinPolicy>cleanAfterSpecifiedTime</recyclebinPolicy>
<recyclebinCleanupInterval>30</recyclebinCleanupInterval>
<httpProxyServer/>
<httpProxyServerAuth>false</httpProxyServerAuth>
<compressArchives>true</compressArchives>
</preferences>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
41
recyclebinPolicy: Determines how and when items are permanently removed from the recycle bin.
Use one of the values described below.
cleanAfterSpecifiedTime will delete objects from the recycle bin after a specified number of
days. This is the default setting.
cleanOnExit will permanently delete all objects on exit or logout.
cleanNever will not permanently delete objects from the recycle bin unless the user initiates it.
recyclebinCleanupInterval: The number of days after which an object will be permanently removed
from the recycle bin if the recyclebinPolicy is set to cleanAfterSpecifiedTime.
42
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
downloadConfirmation Setting
The downloadConfirmation setting can be used to specify a customizable message that will be
displayed whenever a user tries to download a file or folder from EKM. This can be used if the data
contained within EKM is confidential, and for legal reasons, you want to inform the user about restrictions
on the data before it is downloaded. An example of this setting is shown below.
Example 5.7: downloadConfirmation Setting
<downloadConfirmation>The files and folders on this system may be restricted.
Make sure to read the restriction property associated with the file before
distributing the content to people outside the company.</downloadConfirmation>
scheduledTasks Setting
The scheduledTasks setting can be used to schedule tasks that EKM will execute on a particular
day and time. The tasks correspond to scripts that have been uploaded to EKM. Scripts can be developed
in either Python or BeanShell languages with .py and .bsh extensions, respectively.
For each scheduledTask, the scriptPath setting specifies the path of the script file in the workspace. You can specify the execution time for any script by providing the day, hour, and min values.
Any value can be used for day if you want the task to be executed on all days. Alternatively, you can
specify a particular day of the week such as Saturday, Sunday, and so on. The hour values range
from 0 (12 AM) to 23 (11 PM). The min (minute) value ranges from 0 to 59. If min is unspecified, it is
taken as 0. You can specify the interval of the task by providing the dayInterval and hourInterval
values. If you set both of these values to 0, the task will never be executed.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
43
44
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
45
46
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
For an Evaluation server, ekmUrl will always use the fully qualified domain name of the host, and port:
8080.
Figure 6.3: Default Value for ekmUrl - Production Non-Cluster Server
<ekmUrl>http://hostname.domain.com:8080/ekm</ekmUrl>
For a Production non-cluster server, ekmUrl will always use the fully qualified domain name of the
host, and port will be set according to the JBoss 7 ports binding set that was chosen during setup
(ports-default is 8080, ports-01 is 8180 and so on up through ports-03).
Figure 6.4: Default Value for ekmUrl - Production Cluster Node
<ekmUrl></ekmUrl>
For a Production cluster node, the ekmUrl is not set, and must be set manually after setup. The value
of ekmUrl must be set to the URL of the clusters front-end web server.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
47
name
Specifies the name of the repository as registered in the JNDI server.
contextEnv
Specifies the JNDI context under which the repository is registered in the JNDI server.
providerUrl
Specifies the location of the JNDI context if one does not currently exist in the execution environment.
You will seldom need to change these values; the default values should suffice for most workgroup installations of EKM.
repository settings for location, configurationFile, and retentionPolicy are discussed
below.
48
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
When defining a module you need to specify a module name, and specify whether or not the module
is enabled by entering either a true or false value. ekmServer is the only module that is defined,
and it should be enabled.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
49
dataExtractionTimeout
Specifies the timeout value (in seconds) for the predefined set of metadata and report extraction applications. If an application takes longer than the timeout value to complete, it will be terminated by EKM.
The default value is 3600 seconds (or 1 hour).
dataExtractionThreads
The maximum number of simultaneous data extractions that can occur on the EKM server (or cluster
node in the case of a cluster setup). To prevent data extractions from occurring, set this value to 0.
<remoteProcess>
<jobSourceRootPath>D:\ekm\jobdata</jobSourceRootPath>
<!-- Uncomment the following and enter the local path on the remote machine if RSM
xmlrpc server and manager are on remote server.
<rsmJobSourceRootPath></rsmJobSourceRootPath>
-->
<jobTemplate>GenericJob.xml</jobTemplate>
<rsmClientURL>http://localhost:10012/rsm/</rsmClientURL>
<jobOutputFilename>ekm_job.out</jobOutputFilename>
<dataManagementJreLocation>{$EKM_BASE}/programs/jdk1.7.0_07/jre</dataManagementJreLocation>
<dataManagementJarLocation>{$EKM_BIN}/ekm-servo-15.0.jar</dataManagementJarLocation>
<!-Uncomment the following for integrating with EnginFrame for remote visualization.
You will need to change the following:
a) In serviceDefinitionFile, set the fully qualified host name of the server where
enginframe is running
b) Change the name of the adminUser if its different from efadmin
c) Change the queue definitions. The template provides definition for two queues:
a windows queue using NICE Neutro as the scheduler and NICE DCV as remote visualization solution;
and a linux queue using Platform LSF (or openlava) as the scheduler and NICE DCV as remote
visualization solution. You may need to modify, add or remove queue definitions as needed for
your configuration.
-->
<!-<enginframe>
<serviceDefinitionFile>https://<enginframe-server-name>:8443/enginframe/ekminteractive/ekminteractive.xml</service
<adminUser>efadmin</adminUser>
<queue>
<name>Windows Remote Viz Queue</name>
<os>windows</os>
<scheduler>neutro</scheduler>
<schedulerQueue></schedulerQueue>
<remoteType>dcv</remoteType>
</queue>
<queue>
50
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
jobSourceRootPath
The full path to the directory where EKM will stage the data files for batch jobs submitted to RSM. This
location is specified during installation.
Important
When running EKM as a cluster, this must refer to a SHARED directory path that is accessible to all the nodes in the cluster.
jobTemplate
The job template file used by RSM to run EKM jobs. Keep the default value. This could potentially be
changed if you are working with a customized RSM job template.
rsmJobSourceRootPath
The path used by RSM to access the data files for batch jobs. This setting is required only if RSM is running
on a different machine than the EKM server. In that kind of setup, jobSourceRootPath should be defined
using a network shared path that corresponds to the path on the RSM server.
Example: RSM is running on server rsm1 and the path C:\rsm_temp\jobRoot is set up to be
shared over the network. EKM is running on a different server than RSM and uses the shared path
\\rsm1\rsm_temp\jobRoot to stage files to be used for batch jobs. So, the settings would be:
<jobSourceRootPath>\\rsm1\rsm_temp\jobRoot</jobSourceRootPath>
<rsmJobSourceRootPath>C:\rsm_temp\jobRoot</rsmJobSourceRootPath>
rsmClientURL
The URL used to communicate with RSM via the ANSYS RSM XmlRpcApi Version V15.0 service. The
default setting is shown here:
<rsmClientURL>http://localhost:10012/rsm/</rsmClientURL>
This setting needs to be changed if RSM is installed on a different machine than EKM or if the default
port of the ANSYS RSM XmlRpcApi V15.0 service is changed. See Installing and Configuring
RSM (p. 120) in the Managing EKM Servers, Queues and External Applications chapter.
Example:
The ANSYS RSM XmlRpcApi V15.0 services configuration is modified to use port 10099 instead
of the default 10012. The Ans.Rsm.XmlRpcServer.exe.config file is edited and modified
to:
<appSettings>
<add key="ListenerPort" value="10099" />
</appSettings>
rsmClientURL in ekm.xml is also modified to specify 10099 as the port in the URL:
<rsmClientURL>http://localhost:10099/rsm/</rsmClientURL>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
51
jobOutputFilename
The file name that will be used by all jobs to capture batch processing output.
Note
The dataManagementJreLocation and dataManagementJarLocation settings are
used to configure the data management process. These should be changed only if RSM is
installed on a different server than EKM. If RSM is on a different machine, then it must have
a Java JRE installed and you must copy the data management process jar file to a local path
on the RSM server.
dataManagementJreLocation
The full path to the Java Runtime Environment (JRE) used to run the data management process.
You need to change this value only if RSM is installed on a different server than EKM. If so, then
specify the full path to a Java JRE installed on the RSM server.
Example:
RSM is installed on a different server than EKM. Make sure the RSM server has a JRE installed and
specify the path to the top level directory of the JRE as in this example:
<dataManagementJarLocation> C:\jre1.7.0_07</dataManagementJarLocation>
dataManagementJarLocation
The full path to the executable JAR file used to run the data management process.
By default, the ekm-servo-15.0.jar file is located in the EKM_BIN folder of the EKM installation
(see EKM Path Variables). You need to change this value only if RSM is installed on a different server
than EKM.
Example:
If RSM is installed on a different server than EKM, copy the file C:\ekm150\ekm-server\bin\ekm-servo15.0.jar from the EKM server to a path on the RSM server (such as C:\ekm150_files\ekm-servo-15.0.jar)
and enter this value:
<dataManagementJarLocation> C:\ekm150_files\ekm-servo-15.0.jar</dataManagementJarLocation>
enginframe
Contains EnginFrame settings and interactive queue definitions. For more detailed information see
Configuring EKM to Work with EnginFrame in the EKM Installation Guide.
Figure 6.11: Sample Interactive Queue Definitions
<enginframe>
<serviceDefinitionFile>https://
enginframe-server-name:8443/enginframe/ekminteractive/ekminteractive.xml
</serviceDefinitionFile>
52
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
The interactive queues defined in the ekm.xml file will be automatically created in the /System/Servers/Master folder when the EKM server is started. Every interactive queue that is
created in EKM will automatically contain the predefined application remoteDesktop.app.xml,
which launches an empty remote desktop session. Once interactive queues have been created in
EKM you can define job submission settings for each queue, including the account names that will
be used to launch remote sessions.
workbenchServerPortRange
The reserved range of ports that the Workbench server will use for listening to command requests from
EKM. This setting is used when Workbench server jobs are started from EKM, and when Workbench
sessions are registered with EKM. The range is defined using a min-max format, as shown in the example
below:
<workbenchServerPortRange>51215-51220</workbenchServerPortRange>
size
The maximum amount of data, in bytes, that can be cached. You can use suffixes k or K for kilobytes,
m or M or megabytes and g or G for gigabytes. For example, 20G shown in the above example denotes
20 gigabytes.
Note
A cache size of 0 means that no files will be cached.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
53
You can specify the execution time for any task by providing the day, hour, and min values. Any
value can be used for day if you want the task to be executed all days. Alternatively, you can specify
a particular day of the week such as Saturday, Sunday, and so on. The hour values range from 0
(12 AM) to 23 (11 PM). The min (minute) value ranges from 0 to 59. If min is unspecified, it is taken
as 0. You can specify the interval of the task by providing the dayInterval and hourInterval
values. If you set both of these values to 0, the task will never be executed.
dataStoreGC
Used to periodically clean files from the datastore folder that are no longer being used within EKM.
When a file is deleted from EKM it is not removed immediately but is marked for garbage collection.
The file content is actually removed as part of this scheduled task. As shown in Figure 6.13: Default
Values for scheduledTasks Setting (p. 54), this task is executed every day at 2 AM.
To ensure consistency during restore and preventing accidental deletion of files that have not
yet been committed, this task will delete only those files that are no longer in use, and whose
54
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
The garbage collection interval should exceed the time it takes to complete a full
backup of the datastore to avoid data inconsistency during restore. Thus if the
backup time exceeds 24 hours, the dayInterval setting should be increased from the
default value of 1.
fileBackup
Used to create a backup of all files uploaded to EKM. This is desirable if you want to periodically
write all files managed by EKM to a separate, backup folder. Because you may decide to use your
own backup policy, by default, this task is specified to never execute because the dayInterval
and hourInterval values are set to 0.
remoteSync
Used to periodically synchronize all files and folders in remote file servers. EKM allows users to create
a reference to files/folders that reside in remote servers, in lieu of uploading them. This task is used
to periodically poll the external servers and synchronize the information in EKM, to determine if
any changes have occurred in the file server.
recycleBinCleanup
Used to periodically purge objects from the Recycle Bin of all users in all workspaces, based on the
recycle bin cleanup policy specified in the users' preference. Objects will be deleted only if the user
has chosen to delete objects in the Recycle Bin that are older than X days, and more than X days
have elapsed because the object was placed in the Recycle Bin.
mail
Used to send an email to users that have subscribed to receive alerts for certain objects. By default,
this task runs at 8 PM every day.
purge
Used to remove objects from the repository that have expired. By default, this task runs every Saturday at 10 PM.
batchJobMonitor
Used for monitoring the status of asynchronous batch jobs submitted to RSM. This task is run every
minute to get real time feedback.
serverMonitor
Used for monitoring the status of remote EKM servers. This task is run every 10 minutes. If a server
cannot be reached, a warning is shown in the EKM user interface, alerting the system administrator
to investigate the issue.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
55
pluginDirectory
Specifies the full path of the directory containing the plug-in JAR files. By default, it is set to the pluginsdeploy directory within the EKM installation directory. The loadAll setting determines whether all
the plug-in JAR files in the pluginDirectory should be loaded or not. By default, this value is set to
true. If you specify it as false, then you can explicitly list all the plug-ins you want to load by the following
line. You will seldom need to change these two values.
<plugin>PLUGIN-JAR-NAME</plugin>
pluginSettings
Used to specify plug-in-specific settings that are given as name value pairs. Currently the only available
setting is customResourcesPath for the cae plug-in. The customResourcesPath setting is used
to specify a path where script files for metadata extraction and report generation can be placed if you
want to override the default data extraction of built-in CAE types.
name
Specifies the name of the user.
56
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
clusterName
Specifies the name of the cluster that the node belongs to.
nodeName
Specifies the name of this cluster node.
type
Must be local for non-clustered installation and cluster for clustered installation.
configFile
Specifies the location of the cluster network transport configuration file.
cacheConfigFile
Specifies the location of the configuration file for the infinispan cache, which is a cluster-wide in-memory
cache.
sharedDir (optional)
Specifies a shared directory for cluster resource files, log files, and so on, in a clustered installation.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
57
maxSearchResults
Specifies the maximum number of results that can be displayed by a search.
maxNewObjects
Specifies the maximum number of new objects that can be created by an operation in a single transaction.
The operations impacted by this setting are usually archive extraction and remote folder synchronization.
Users will not be able to synchronize a remote folder if the number of files and folders contained within
it exceed the specified limit.
maxReadObjects
Specifies the maximum number of objects that can be read from the database in a single operation.
maxDirtyObjects
Specifies the maximum number of objects that can be modified in a single transaction. This setting
usually impacts recursive operations such as setting of properties, permissions, version control and so
on. For example, users will not be able to recursively modify permissions of a folder that contains objects
beyond the specified limit.
58
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Optional Settings
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
59
default
The default mode for all workspaces in the server. If the value is true, then all current workspaces that
are not excluded and any newly created workspace will be in individual mode. Otherwise these workspaces
will be in shared mode. The default value is false.
exclude
An optional setting that specifies the name of the workspace whose mode is different from the default.
You can specify any number of exclude settings. In Example 6.2: individualMode Setting (p. 60), the
60
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Optional Settings
default mode for all current and new workspaces in the server is individual, but since the SharedWorkspace is excluded, its mode will be shared.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
61
62
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
By default, Google Chrome does not display XML files such as the those in /System/Configuration/Custom Types. However, you can install an extension such as XML Tree
to enable viewing of XML. Go to https://chrome.google.com/extensions (or choose Extensions
from the Chrome menu) and search for XML. Among the search returns will be the XML Tree
extension, which has been found to work.
In this chapter:
7.1. Overview of Custom Types
7.2. Suggested Steps for Defining Custom Types
7.3. Defining Custom Types Directly in EKM
7.4. Defining Custom Types Using XML
7.5. Custom Type Examples
7.6. Extending Built-in Types
63
Important
Data type labels that are displayed in the user interface or in the documentation are localized
labels (for example, Ansoft ePhysics File). The actual non-localized names of the types are
different (for example, AnsoftePhysics) and are described below. You MUST use non-localized
names when referring to built-in and custom type definitions.
You can think of types in EKM as being analogous to classes in an object-oriented programming language.
There is a base type named Model (also referred to by its localized name - EKM Object) and all other
types extend Model or a sub-type of Model. When a type extends another type it inherits the properties,
64
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
65
66
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
2.
This dialog box contains the following tabs for specifying various settings of the custom type:
General: In this tab, you specify:
Kind of custom type: You have 3 options to choose from: Object type, Mixin or Extension to a
built-in type. Refer to Defining Custom Types Using XML (p. 83) for more details on these options.
The other settings in the tab and the other tabs in this dialog box depend on which option you
select.
Name: This is the name of the custom type. Note that the custom type name, also referred to as
typeName, is not the same as the name of the custom type object; however, usually the object
name is typeName.type.xml. Thus if you specify the name to be Project, the name of the object
will be Project.type.xml.
Label: The name is usually an internal id whereas the label is how the type is represented in the
user interface. A label is not specified if you are creating a mixin or an extension to a built-in type.
Extends from: This is the base class from which the type extends. This is not specified if you are
defining a mixin. Existing types are shown in a drop-down list. Non-localized type names are used
because some type names have a common localized name. Also, the list may not contain a new
type that you have just defined if you have not yet accepted or applied the workspace configuration.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
67
When you have specified all the settings, you can click Create & New to create the new type and open
the same dialog box again for creating an additional type. If you do not want to create any additional
types, you can click Create & Close to create the type and dismiss the dialog box.
68
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
You can click Add to add a new property. You can then specify the settings for each property in the
Property definition pane. The settings will depend on the type of the property, but will include the
following:
Name: This is the name of the property. When a new property is added it has a default name, such
as prop0. You can change the name and click the Rename button to specify a different name.
Label: This is how the property will be represented in the user interface.
Type: Choose the property type: String, Integer (referred to as Long in XML), Real Number (referred
to as Double in XML), Boolean, Date or Reference.
Default: You can specify a default value for the property. The value should be compatible with the
type, and whether or not it is multi-valued. Refer to Defining Properties Using XML (p. 85) for more
details on how to provide correct values for various property types.
Options: If the user can only select the value of the property from a limited set of options, you can
specify the options separated by comma.
Display order: This value is set when you want the property to appear in a particular order in the
Properties display or in a dialog box when user input is required. Dialog boxes include: Edit Properties,
Edit Type, New Folder, and New Object. This value can be any valid integer. Properties with lower
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
69
70
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
You can add a new child by clicking the Add Child button. This will add a new row to the children
table. For each child you can specify the following:
Name: This is the name of the child. It can be empty if the child is a list.
Type: This is the type of the child. You may need to apply the workspace configuration in order to
see a recently created custom type in the drop-down list.
Is List: Specifies whether or not the child is a list.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
71
You can add a new mixin by clicking Add Mixin. This will add a new row to the Mixin table. You can
select the particular mixin that you want to add to the custom type from the drop-down list. You may
need to apply the workspace configuration to see a recently-created mixin in this list. You can remove
an existing mixin by clicking the Remove button in the row.
72
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
The Type Attributes that are shown in the dialog box depend on the base type from which the custom
type extends. The list of type attributes shown in Figure 7.5: Edit Custom Type - Type Attributes (p. 73)
are the default settings for a new object type that extends from CaeModelFile. Settings are described
below.
icon
This attribute can be used to specify the path of the icon file associated with this file type. You can place
icon files in the resources folder (typically EKM_HOME/conf/resources) and specify the value of this
type attribute as /custom/<path of icon file in resources folder>.
To specify icons for a parent menu that is not associated with any action, you can add a new action
and just provide an icon without supplying a macro.
extractImageOnUpload
This attribute can either be true or false and specifies whether an image of the CAE model should
be extracted after upload. Images are not extracted from all simulation files.
propertyUpdateMacro
This attribute can be used to specify a macro that will enable dependencies to be created across properties, so that if one property is changed, other properties that depend on it will change as well. The
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
73
74
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Example: Specifying a Custom Metadata and Report Extractor for a Built-in Type
The following sample XML code is used to define a custom report extractor (customReportApp) and
a custom metadata extractor (customMetaApp) for new type that is an extension to the built-in
FluentCase type. While the workspace is in restricted configuration mode, edit the content of the
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
75
Then, apply and accept the workspace configuration. The applications need to be defined as External
Applications under EKM Server (for example, /System/Servers/Master/EKM Server). Refer
to Extracting Metadata from Custom File Formats (p. 96) for more information on defining applications
for the metadata extraction.
Example: Specifying a Metadata and Report Extractor for a New Object Type
The following example defines a custom extractor for metadata and report generation for a new custom
object type of type NCT that extends CAEModelFile. The file listings for the extractor Python files,
external application XML files, custom object type, and custom mixin type are shown below.
1. Using a text editor, create the external applications that are needed by copying and pasting the contents
of the external application files customMetaApp.app.xml and customReportApp.app.xml listed
below into an empty file and saving the files with the names and extensions as noted.
2. Using a text editor, create the custom object type and custom mixin type files that are needed by
copying and pasting the contents of the NewCustomType.type and mix1.type listed below into
an empty file and saving the files with the names and extensions as noted. You can also create these
files using the New > Custom Type action. To do this, you will have to refer to the settings in the XML
files and specify the corresponding settings in the Edit Custom Type dialog box.
3. Edit the external application files and enter the correct path to your Python executable in <execPath>.
Also, enter the path to the directory where the Python files (extract-additional-metadata.py
and extract-additional-report.py listed below) are stored on your local drive in <param>.
Example:
<execPath>C:\Python25\python.exe</execPath>
<param>C:\EKM14\extract-additional-metadata.py</param>
4. While the workspace is in restricted configuration mode, upload the external application files to the
/System/Servers/Master/EKM Server folder.
5. Upload NewCustomType.type and mix1.type files to the /System/Configuration/Custom
Types folder.
6. Apply and Accept Workspace Configuration. You may have to migrate your workspace if there are data
model conflicts that need to be resolved. To do this, log out of EKM and log in to the EKM Administration
site. Once migration is complete, log back in to EKM and Apply/Accept the Workspace Configuration.
7. Upload any Fluent case file. Change the type to NCT using Edit > Type.
8. Display the simulation details report and view the custom report additions by double-clicking on the
Fluent case file.
76
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
9. Display the added custom metadata for the report by clicking the Properties tab.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
77
78
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
f.close()
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
79
80
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Select the Script Language that you want to use for the script that will be associated with the action.
2.
3.
Click the Add Action button to add an action for the custom type. A new row will be added for each
new action you add. For each action in the table, specify the Name, Macro, Permissions, and (optional)
Icon, in accordance with the settings described in Defining Actions Using XML (p. 89). For menu groups,
you may add a row containing just the Name and Icon of the group. There is no Macro associated with
a menu group. Click Remove to remove an action from the list.
4.
Click OK if you are finished editing the type or another tab to continue editing.
81
Verify that the actions are also available in the Action toolbar.
82
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
83
84
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
85
Note
If a date is defined as having a multi-valued property, dates are input separated by
commas:
1/12/1953 3:32 AM, 3/23/1996 12:00 AM
If a single date is input with an internal comma, an error is generated. This is an example of a date format that is incorrect for a multi-valued field:
Feb. 12, 2013 11:08
displayOrder: This value is set when you want the property to appear in a particular order
in the Properties display or in a dialog box when user input is required. Dialog boxes include:
Edit Properties, Edit Type, New Folder, and New Object. This value can be any valid integer.
Properties with lower order are displayed first. If unspecified, the default value is 0, which will
display the property alphabetically by name.
Properties can also have the following child elements:
defaultValue: This element is used for specifying the default value for the property. For multi-valued
properties you can specify more than one default value. If you specify a default value you will need to
ensure that the value is correctly specified for the property type.
Boolean types can only have true or false as valid values. If unspecified, the default value is false.
Date types must have default values in either ISO-8601 format or a format that depends on the locale
of the EKM server.
For ISO-8601, the format is: YYYY-MM-DDThh:mm:ss.sTZD, where hh is two hour digits (00 through
23) and TZD is the time zone designator (Z or +hh:mm or -hh:mm)
2007-11-04T18:30-05:00 for Nov 4, 2007 at 6.30 PM in US Eastern Standard Time
For the English locale, the format is: month/day/year hour:min AM/PM
Example: 11/4/07 6:30 PM for Nov 4, 2007 at 6.30 PM
2/21/2008 8:0 AM for Feb 21, 2008 at 8:00 AM
If unspecified, the default value is the current time on the server.
Double type values can be any valid real number.
Examples: 0.0, 123.456
86
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
Double type is referred to as Real Number in the Custom Type dialog in EKM.
Long types can contain only numbers such as 0, 5, -5 and so on as values. If unspecified the default
value is 0.
Note
Long type is referred to as Integer in the Custom Type dialog in EKM.
Reference types contain the full path to an existing object in EKM as a default value.
Example: /Repository/my-folder/my-file.txt
If unspecified, the default value is an empty string , which denotes a null reference.
String can have any arbitrary text as value. If unspecified, the default value is an empty string .
enumeration: Sometimes you may want users to choose a property value from a list of options. These
options can be specified as an enumeration (that is, an enumerated list) for the property. You can
specify an enumeration for any property type (Double, Integer, String, and so on) except Boolean.
While specifying enumerations, follow the value syntax for the various property types that were described
above.
constraint: This element can be used to put constraints on property values. Constraints are validated
when a user provides property values, and a validation error message is generated if a constraint is violated.
A constraint element has a name and a value attribute. The constraint name must be one of the following:
min: Used for specifying the minimum value for a Double or Long type. The value for this constraint
denotes the minimum value for the property.
max: Used for specifying the maximum value for a Double or Long type. The value for this constraint
denotes the maximum value for the property.
quantity: Used for specifying the unit quantity for a Double type. The value for this constraint
denotes one of the quantities specified in the /System/Configuration/Units.xml file (for example, length, volume, and so on) See Units: Defining and Configuring Using XML (p. 187) for more
details on specifying units.
unit: Used for specifying the unit for a Double type. The value for this constraint denotes one
of the units specified in the /System/Configuration/Units.xml file for the quantity specified
above. This constraint should only be used if the quantity constraint has been used. For example, if
the quantity is length, acceptable unit values are: m, cm, ft, and so on If a quantity is specified
but a unit is not specified, then the chosen unit for this property will be the default unit of the users'
preferred unit system. For example, if the users' preferred unit system is SI, the unit will be m, and if
it is British it will be ft. Thus you should specify the unit constraint only if you want to force the
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
87
Example 7.2: dimension Property (p. 88) defines a property named dimension of type Double. Because
the specifiedBy attribute is not specified, it is assumed that the value will be specified by the user.
Because the required attribute is set to true, users will be prompted to enter the value for this
property when they create the object or upload a file containing this property. A default value of 15.0
is also specified. This property also has min and max constraints specified. This means that the value
for this property should be between the specified range of 10.0 and 20.0.
Example 7.2: dimension Property
<property name="dimension" type="Double" required="true">
<defaultValue>15.0</defaultValue>
<constraint name="min" value="10.0" />
<constraint name="max" value="20.0" />
</property>
Example 7.3: revisionStatus Property (p. 88) defines a property named revisionStatus of type
String that will appear in the user interface as Revision Status. It is a required property that will be
specified by users. This property also has enumerations specified, so users can select only one of
these values: Draft, Released or Obsolete. This property will appear in dialog boxes as a select
menu (or drop-down list).
Example 7.3: revisionStatus Property
<property name="revisionStatus" label="Revision Status" type="String" required="true">
<enumeration>Draft</enumeration>
<enumeration>Released</enumeration>
<enumeration>Obsolete</enumeration>
</property>
88
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Example 7.5: inputFile Property (p. 89) defines a property named inputFile of type Reference. It
is a required property that will be specified by the users. Because the baseType constraint is
specified, the referenced object should be of the same type (or a subtype) of CaeModelFile.
Example 7.5: inputFile Property
<property name="inputFile" type="Reference" required="true">
<constraint name="baseType" value="CaeModelFile" />
</property>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
89
As shown in the code in Example 7.6: Custom Actions (p. 89), all actions related to a type must be
defined within the actions element. This element contains a script element and any number of
action elements. The script element is used to define macros that are associated with the action.
See the chapter on Defining Macros and Custom Dialog Boxes in the EKM User's Guide for details on
scripting and macro definition. The action element defines each action associated with the type and
has the following attributes:
name: Specifies the name of the action menu and any parent menus. The parent menus are separated by
a slash /. Parent menus will be created if they do not already exist. The name of the parent menu can
also be an existing menu (such as Edit) and in this case, the new menu will be added to the existing
parent menu. You can specify the name of the parent menu only in a single language. This means that if
you have users in multiple locales, it will be better to place the custom actions in a new parent menu,
rather than an existing one.
macro: Specifies the name of the macro that will be called when the menu is clicked. See the chapter on
Defining Macros and Custom Dialog Boxes in the EKM User's Guide for details on macro definition and the
EKM scripting interface. Typically, the macro will be defined in the script element before the action
90
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
91
The ProjectContainer type can only have children of type Project, where Project is another
custom type that we will define shortly. The occurs attribute of the child element dictates whether
a single instance or multiple instances of the child type are allowed. In this case, occurs is set to list
which means that multiple instances of Project type can be added to a ProjectContainer. The
other valid values for occurs are required and optional. The required value is used if only
one instance of the child is allowed, and this instance must always exist. The optional value is used
if the child may or may not exist. For custom types, you should only use required or list values.
The name attribute specifies the name of the child. It is ignored and can be set to an empty string if
occurs is set to list. If occurs is set to required then the child will be automatically created
when the parent object is created. You therefore need to provide a valid name for the child. The child
name can not contain the following special characters:
/ \ : [ ] % * ' " | > < ?
Now that we have created the Project Container type, we will define a new Project type. The XML
code listing shown in Example 7.8: Defining a Project Type (p. 92) is for a new Project type. It extends
the built-in type Container and defines some required user-defined properties: componentType,
disciplines, partId, exportControlled and dateOfIssue. The user who creates a project
in EKM by will be prompted to enter values for these properties. This type also has some required
children: Requirements, CommonFiles and Reports that are all of type Folder. When a Project
instance is created, these required children are also created automatically at the same time. You cannot
delete a required child. The Project type also enables you to create more instances of Folder type
for the various simulations to be performed in the project. Some custom actions are also specified for
the Project type. These were explained in the previous section.
In EKM you can use the New > Folder action menu in any folder to create an instance of a custom
folder that is allowed in the parent folder. If there are any required user-defined properties associated
with the type, you will be prompted to enter their values at the time of object creation in the New
Folder dialog box. All of the necessary user interface components will be automatically generated by
EKM.
Example 7.8: Defining a Project Type
<type name="Project" extends="Container" version="1.0.0">
<properties>
<property name="componentType" label="Component Type" type="String"
92
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
93
The name of the custom type in the listing is TestAnalysis. It extends the AnalysisContainer
type and defines two children: inputs and outputs of type Folder. It specifies the input pattern
to be inputs/*, which means that all files in the inputs subfolder will be treated as inputs of the
analysis. It specifies the output pattern to be outputs/*, which means that all files in the outputs
subfolder will be treated as outputs of the analysis.
You can see how these sample files are used in Tutorial: Creating a Custom Analysis Project, located at
the end of the Working with Analysis Projects chapter in the Users Guide.
94
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
In Example 7.10: Custom File Definition (p. 95), the new type is named AcmeSimulationFile and is
given the label Acme Simulation File that will appear in the user interface. If you just need to extract
metadata from the file, then you can extend the new custom file format from the File type. However,
if you want to extract image or simulation details from the file (for a Simulation Details Report), then
you will need to extend it from the CaeModelFile type. This allows the Simulation Details Report action
menu to be visible in the user interface for this file.
This custom data type defines three properties that are automatically extracted by the metadata extraction
application: version, iterations, and physicalModels. It also defines some type attributes.
As previously explained, type attributes are used to specify settings that apply to all instances of that
type. Type attributes require a name and a value to be specified. The valid options for name depends
on the base type that you are extending. See Defining Type Attributes for a Custom Type (p. 72) for
more details.
In our example, the extension of the AcmeSimulationFile type is acm. This means that any file with
the extension .acm (for example, my-simulation-file.acm) will be treated as an AcmeSimulationFile file type by EKM. The type also specifies applications for extracting metadata and reports.
Finally, the AcmeSimulationFile type also specifies a mixin named ModelAttributes. Mixins are
used to define sharable groups of properties or children. The ModelAttributes mixin is shown in
the following listing (Figure 7.8: ModelAttribute mixin Example (p. 95)). This mixin defines two userdefined properties: revisionStatus and reviewedBy. Because the AcmeSimulationFile type
definition includes this mixin, it will also include these properties. Therefore, when a file of this type
is uploaded, a user will be asked to enter values for these properties.
Figure 7.8: ModelAttribute mixin Example
<mixin name="ModelAttributes" version="1.0.0">
<properties>
<property name="revisionStatus" label="Revision Status"
<enumeration>Draft</enumeration>
type="String" required="true">
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
95
The schema definition shows that a metadata file should have a root element named meta-data
that can have any number of elements named data. Each data element has two attributes: name and
value. The name should correspond to a property whose specifiedBy attribute is set to extractor.
96
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
The first two lines and the last line of this listing should be present in ALL metadata files.
Figure 7.10: Sample Metadata File for Custom AcmeSimulationFile Type
<ekmMetaData:meta-data
xmlns:ekmMetaData="http://www.ansys.com/ekm/metaData">
<data name="iterations" value="23"/>
<data name="version" value="mysim-1.0"/>
<data name="physicalModels" value="Stress,Magnetostatic"/>
</ekmMetaData:meta-data>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
97
Figure 7.11: Listing of report.xsd Schema Definition (p. 97) shows that the root element of the report
file is named section. A section can have any number of section, image, link, text, and
table child elements.
The image element has an src attribute for pointing to the image file. All images that need to be included in the report should be placed in a folder called ekm-report-files in the current working
directory of the report application. The src attribute of the image element should reference the image
file using reportFiles</image-name>. For example, if the report application generates an image
named plot.gif, then it needs to be included in the report. Furthermore, this image file should be
placed in the ekm-report-files sub-folder in the current working directory, and the image element
defined with the code shown below.
Figure 7.12: Report Image Element
<image name="Plot Name' src="reportFiles/plot.gif"/>
The table element can have any number of column and row child elements. The format of the table
can be controlled by showBorder and showHeaders attributes. The column element has a name
attribute that is shown in the column header. The row element has a number of child elements named
98
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
99
100
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
101
102
Select /System/Servers, right-click and select New > Cache Server from the context menu. This
opens the New EKM Cache Server dialog box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
2.
Enter a name for the new server that is to be added (for example, RemoteServer1). The server name
is an identifier used by EKM to refer to that server.
3.
Enter the fully qualified host name of the server (for example, server1.domain.com).
4.
Enter the port number for the port that the EKM Server on that host is running on.
5.
Select the users to assign to this cache server. All selected users will make use of this cache server for
their file transfers. You may also assign the cache server for a user when creating a new user. See Adding
and Modifying Users (p. 8).
6.
Click OK. A new server of type Cache Server is created in the Servers folder.
103
104
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
105
Important
Any queues that are marked as notConfigured will be unavailable for job submission.
Users will not be able to send jobs to these queues as they do not exist in RSM. If this queue
is later defined in RSM and you synchronize from EKM again, the notConfigured status
flag will be cleared and the queue will be available for job submission.
Note
During synchronization, the EKM Server Data Extraction Queue is ignored (see Types of
Queues (p. 104)). Only Job Submission Queues are synchronized.
During startup, the EKM server will synchronize the queues for all workspaces. Each workspace
stores its own queue definitions, so they all will be synchronized.
RSM always defines a queue named Local that is mapped to an RSM compute server running
on the host "localhost", so you can always expect to see a queue named Local defined in
EKM.
In addition to the synchronization performed at startup, an EKM administrator may synchronize queues
at any time from the EKM interface. This may be necessary, for example, if a queue has been accidentally
deleted in the current session. Unlike the automatic synchronization performed at startup, on-demand
synchronization only synchronizes the queues in the current workspace.
To synchronize queues for the workspace you are currently logged into, do the following:
1.
2.
Right-click and select Synchronize Queues, or click the Synchronize Queues button on the toolbar.
This displays a dialog reporting the progress of the synchronization.
106
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
In the navigation pane, go to /System/Servers/Master and select the queue whose settings you
would like to define.
2.
Right-click and select Edit > Job Submission Settings from the context menu. The Edit Job Submission
Settings dialog box appears (Figure 8.5: Edit Job Submission Settings Dialog Box (p. 108)).
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
107
3.
108
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
The operating system of interactive queues is specified in the ekm.xml file, and is
therefore predetermined and non-selectable in the Edit Job Submission Settings
dialog box.
Domain name for all user accounts
On Windows systems, enter an operating system domain name to be used for all user accounts that
will submit batch jobs to this queue. This name will be added to the beginning all the account
names mapped to this queue when the job is submitted to RSM. For example, if you specify
MYDOMAIN for the queue domain name, and the account name for one of the EKM users is
joe_smith, then the actual account name sent to RSM will be MYDOMAIN\joe_smith. If you
do not enter a domain name here, you will need to manually add a domain name to the beginning
of every account name listed.
Specify the account name of EKM users
The dialog displays all EKM users who have access to the queue. When an EKM user submits a batch
job to RSM, EKM notifies RSM of the actual operating system account to use to run the job. Similarly,
when you run an interactive job, EKM notifies EnginFrame of the account to use when creating the
interactive session. You can specify the Account Name to be used for each EKM user that has access
to the queue. Unless changed by the administrator, the Account Name will be the same as the
EKM User Name.
If you have already defined account names in another queue and would like to use them in
the current queue, click the browse button next to the Get account names from another
queue option, then select the desired queue from the /System/Servers/Master folder.
Then, click Load to copy the account names defined in that queue into the current queue.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
109
Important
Any application that you define must be accessible on all compute hosts where the batch
job may ultimately run. For example, if you define an application for a queue named
TestQueue, and RSM has two compute servers available to run jobs submitted to TestQueue,
then both of these compute servers need to be able to access the application that will be
run.
When you select a queue in the navigation pane, any external applications associated with that queue
are listed in the file list pane. In this way the queue object acts like a folder in the navigation pane, and
that folder can contain external application files. For example, if there were an application named
myApp.app.xml that was associated with a queue named MyQueue1 under the Master server, the
path to that application would be:
/System/Servers/Master/MyQueue1/myApp.app.xml
Important
All Queues and External Applications must be defined under /System/Servers/Master.
Cache Servers cannot contain these definitions as they do not support running applications.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
You should not edit the files in the EKM_HOME/conf/applications folder because the
changes will not be applied to instances of those files in EKM. If you want to make changes
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
111
Important
You should not change the application key name for any of the predefined applications. If
the key name is changed, EKM will be unable to find the application.
The next sections, Defining External Applications Using XML (p. 116) and Defining External Applications
Directly in EKM (p. 112), describe two methods of creating your own external application definitions.
In the navigation pane, go to /System/Servers/Master and select the queue with which you want
to associate the external application.
2.
Right-click and select New > External Application from the context menu. This will open the New
External Application dialog box, shown below.
112
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
3.
Enter the Application key, Application name, Execution path, 0 or more Command line parameters,
0 or more Environment variables and optional Job submission options. Click the Add buttons to
add more parameters or environment variables. Environment variables are specified as a name and
value. Click the Remove buttons to remove parameters or environment variables.
Important
It is highly recommended that you specify a different Application key and Application
name in each external application file that you define. (Do not use the same key or label
in more than one file.) This ensures that applications are uniquely identified when they
are displayed in a list, and ensures that the correct execution path is used.
On Windows compute servers, any parameter that contains a space (for example, a file
path) should be enclosed in double quotation marks to ensure that it is treated as a
single parameter. Otherwise, the job may fail.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
113
When you have finished defining your new external application, click Create & Close to create the application and exit the dialog box, or Create & New to continue to create more applications.
The application will be automatically saved as an XML file with the file extension .app.xml in the
queues folder, with the name that is specified for the Application key. In our example, the application file myAppKey.app.xml is saved as: /System/Servers/Master/Local/myAppKey.app.xml
In the navigation pane, select the queue with which the application is associated. Queues are located
in the /System/Servers/Master folder.
2.
Right-click and select Edit > External Application from the context menu. This will open the Edit External Application dialog box.
114
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
3.
Make any changes to the Application key, Application name, Execution path, Command line parameters, Environment variables and Job submission options and then click OK to save your changes.
Important
On Windows compute servers, any parameter that contains a space (for example, a file path)
should be enclosed in double quotation marks to ensure that it is treated as a single
parameter. Otherwise, the job may fail.
In the navigation pane, select the queue with which the application is associated. Queues are located
in the /System/Servers/Master folder.
2.
Right-click and select Edit > Content from the context menu. This will open the Edit Content dialog
box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
115
3.
Make the desired changes to the file content, and then click OK to save your changes.
If you want, you can also download the file first, modify it in an XML or text editor, and then upload
the file and overwrite the existing application definition with the modified one.
116
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
to specify that the job can run only on machines matching that architecture.
Figure 8.9: File listing for application.xsd Schema File
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ansys.com/ekm/application"
xmlns:ekmApplication="http://www.ansys.com/ekm/application">
<xsd:complexType name="NameValue">
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="value" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="Application">
<xsd:sequence>
<xsd:element name="key" type="xsd:string"/>
<xsd:element name="label" type="xsd:string" minOccurs="0"/>
<xsd:element name="execPath" type="xsd:string"/>
<xsd:element name="param" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="env" type="ekmApplication:NameValue" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="nativeOptions" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Applications">
<xsd:sequence>
<xsd:element name="application" type="ekmApplication:Application" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="applications" type="ekmApplication:Applications" />
</xsd:schema>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
117
When configuring external applications, you can use the syntax {$ENV_NAME} to include the value of
an environment variable while defining any of the applications element values such as execPath,
param, or env.
Important
Always use the forward slash (/) as a path separator in all configuration files even when
running EKM on Windows.
118
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
As described in Types of Queues (p. 104), integration with RSM is based on the creation of EKM queues
that map to RSM queues. The specific configuration steps for this example are:
1.
2.
3.
In the RSM Manager on Server 1, define a queue and compute server that will allow you to run jobs on
Server 2. Note that in order to run jobs on the RSM compute server, the RSM server must be running
on a 64-bit Linux system. Also, the VNC password must be set. Refer to RSM Installation and Configuration
in the Remote Solve Manager User Guide for details on configuring RSM.
Note
If there are more jobs queued than the compute server can process, the jobs wait in
the queue without any error reporting. If RSM is used as the job scheduler, you can increase the number of jobs per compute server from 1 job (the default). For details on
how to do this, refer to the description of the Compute Server Properties dialog box
in the Remote Solve Manager Administration Guide.
4.
Configure EKM to work with RSM. See Installing and Configuring RSM (p. 120).
5.
6.
Set permissions on the queue to control which users may submit jobs to them (see Editing Permissions
in the EKM Users Guide).
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
119
For this system, the integration steps you would need to follow to configure the LSF cluster to EKM are:
1. Install EKM Server.
2. Install RSM Services on an LSF Head Node/Submit Host. In LSF, a submit host is a machine that is
able to submit jobs to the cluster.
3. Configure RSM to work with the LSF cluster. Refer to RSM Installation and Configuration in the Remote
Solve Manager User Guide for details on configuring RSM.
4. Define a queue in RSM that maps to an LSF queue.
5. Configure EKM to work with RSM. See Installing and Configuring RSM (p. 120).
6. Synchronize queues with RSM. See Synchronizing Job Submission Queues (p. 106) for details.
7. Set permissions on the queues to control which users may submit jobs to them (see Editing Permissions).
An EKM user can use an EKM queue to send work to the LSF cluster via RSM without knowing any details
about the LSF or RSM configuration. Refer to the ANSYS Remote Solve Manager (RSM) 15.0 user documentation for more details on configuring RSM.
120
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
There is no requirement that EKM must be installed on the same server as RSM.
Important
The ScriptHost Service may be installed on a separate server, but the JobManager
and XmlRpcApi services must always be installed together on the same server.
Important
If the ScriptHost Service is installed on a separate server, you must configure RSM's
compute server to reuse the project directory as the working directory. EKM expects
compute servers to directly access and write to the RSM project directory.
2. You must run the ANSYS RSM XmlRpcApi V15.0 Windows service as a user with administrative
privileges.
3. EKM Server Account Requirements
To work with RSM, there are some requirements that must be met by the EKM Server Account.
This is the account used to run the EKM Server that is described in Create an EKM Server Account
in the EKM Installation Guide.
If EKM is run as a Windows service (the recommended way to run EKM) and you do not
change the default account the service uses to logon (Local System account), then there are
no additional requirements for integrating with RSM.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
121
Note
If you change the default port value described below, you will need to restart the
service for it to pick up the changes. Services are accessed via the Windows Control
Panel under Administrative Tools.
The ANSYS RSM XmlRpcApi V15.0 service provides the interface from the EKM Server to RSM
and must be running for EKM to communicate with RSM.
This service runs on a tcp port specified in the file Ans.Rsm.XmlRpcServer.exe.config
that is located in the install_root\RSM\bin directory of the RSM installation.
If you need to change the default port (10012) used, edit this file and change the value specified
for the ListenerPort in the appSettings settings:
<appSettings>
<add key="ListenerPort" value="10012" />
</appSettings>
EKM defines a URL used to communicate with this RSM service. If you change the default port of the
XmlRpcApi service, you will also need to change the port specified in the default value of the
rsmClientURL setting. The rsmClientURL setting in EKM also includes the hostname where this XmlRpcApi service is running. If this is on a different server than EKM, the default value of localhost must
be changed. See Specifying Remote Process Policies (<remoteProcess>) (p. 50) for details.
Configure the RSM Services following the instructions in the ANSYS Remote Solve Manager (RSM) 15.0
user documentation.
The RSM services are:
Solve Manager Service
122
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
The Compute Server Service may be installed on a separate server, but the JobManager
and XmlRpcServer services must always be installed together on the same server.
Important
If the Compute Server Service is installed on a separate server, you must configure RSM's
compute server to reuse the project directory as the working directory. EKM expects
compute servers to directly access and write to the RSM project directory.
2.
Note
When installing RSM to a multiuser Linux machine, ANSYS strongly recommends that
you set up RSM as a daemon that starts at boot time, so Option 2 is not recommended
in that case.
3.
Create accounts in RSM for any user name you want to use when running batch jobs. You will need to
enter the password information for these accounts into RSM. Refer to the ANSYS RSM 15.0 documentation
for more details.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
123
Note
If you change the default port value described below, you will need to restart the service
for it to pick up the changes.
The ANSYS RSM XmlRpcServer service provides the interface from the EKM Server to RSM and
must be running for the batch service to communicate with RSM.
This service runs on a tcp port specified in the file Ans.Rsm.XmlRpcServer.exe.config
which is located in the <install root>\RSM\bin directory of the RSM installation. For example:
C:\Program Files\ANSYS Inc\v150\RSM\bin\Ans.Rsm.XmlRpcServer.exe.config.
If you need to change the default port (10012) used, edit this file and change the value specified
for the ListenerPort in the appSettings settings:
<appSettings>
<add key="ListenerPort" value="10012" />
</appSettings>
EKM defines a URL that is used to communicate with this RSM service. If you change the default port
of the XmlRpcServer service, you will also need to change the port specified in the default value
of the rsmClientURL setting. The rsmClientURL setting in EKM also includes the hostname where
this XmlRpcApi service is running. If this is on a different server than EKM, the default value of localhost
must be changed. See Specifying Remote Process Policies (<remoteProcess>) (p. 50) for details.
124
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
The following steps are required to enable interactive job performance in EKM:
An administrator must install and configure EnginFrame. For details see Installing and Configuring EnginFrame in the EKM Installation Guide.
An administrator must configure EKM to integrate with EnginFrame. For details see Configuring EKM to
Work with EnginFrame in the EKM Installation Guide.
An administrator may optionally define additional applications in the interactive queues that are created
in EKM on startup. By default, interactive queues are created with a single predefined application called
remoteDesktop.app.xml, which launches an empty remote desktop session. For details see Creating
a New External Application (p. 112).
Users must install the remote visualization client on their computer or mobile device. See Table 11.2: Remote
Visualization Technologies Supported by EnginFrame in the EKM Installation Guide.
125
126
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
Running the Mobile Connector on a host other than the EKM Server is a beta feature that
has not been fully tested.
9.1. Running the Mobile Connector on the Same Host as the EKM Server
To configure the server to accept EKM Mobile connections:
1.
In the ekm.xml file, which is located in the EKM_HOME/conf folder, uncomment the sections:
<mobileConnector>
<ekmServer serverName="ekm" serverKey="" />
</mobileConnector>
<mobileServer>
<mobileConnectorUrl></mobileConnectorUrl>
<serverName>ekm</serverName>
<serverKey></serverKey>
</mobileServer>
Leaving the <mobileConnectorUrl> element blank causes the <EKM URL> value to be used
as the Mobile Connector URL, which works for this single-server scenario.
2.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
127
9.2. Running the Mobile Connector on a Host Other than the EKM Server
If you run the Mobile Connector on a host other than the EKM server, the Mobile Connector can be
used as an access point for multiple EKM servers. If you run the Mobile Connector on an Internet-accessible host (for example, in your companys DMZ), the EKM servers will not be exposed to Internet traffic.
Note
Running the Mobile Connector on a separate host is a beta feature that has not been fully
tested.
To configure another server to accept EKM Mobile connections:
1.
In the Mobile Connectors ekm.xml file, which is located in the EKM_HOME/conf folder, uncomment
the section:
<mobileConnector>
<ekmServer serverName="ekm" serverKey="" />
</mobileConnector>
2.
For every EKM Server that will use this Mobile Connector, add an <ekmServer> element that specifies
a unique serverName attribute and a serverKey attribute. The serverKey attribute can be any string, and
is used as a like a password to authenticate messages. An example where one Mobile Connector connects
to three EKM Servers might look like:
<mobileConnector>
<ekmServer serverName="ekm1" serverKey="password1" />
<ekmServer serverName="ekm2" serverKey="password2" />
<ekmServer serverName="ekm3" serverKey="password3" />
</mobileConnector>
2.
Enter the URL of the Mobile Connector in the <ekmConnectorUrl> element. (For example: http://mobile-host:8080/ekm)
3.
Enter the serverName and serverKey attributes for this server that were entered in step 1 of this procedure. An example might look like:
<mobileServer>
<mobileConnectorUrl>http://mobile-host:8080/ekm</mobileConnectorUrl>
<serverName>ekm1</serverName>
<serverKey>password1</serverKey>
</mobileServer>
4.
128
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Running the Mobile Connector on a Host Other than the EKM Server
Users can now access the EKM Servers from EKM Mobile at:
MOBILE CONNECTOR URL/m/
For example: http://mobile-host:8080/ekm/m/
For more information, see Using EKM Mobile in the EKM Users Guide.
Note
When logging into EKM Mobile, users will specify the serverName of the EKM Server to which
they want to connect (for example: ekm1, ekm2, or ekm3).
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
129
130
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
131
Lifecycle stages are promoted and demoted automatically by EKM or by a user/group based on completion criteria that are specified in the lifecycle definition. For example, you can specify completion criteria
that require an object to undergo review and approval by committee members before the stage can
be changed. This is referred to as a signoff process. A signoff process is automatically generated by EKM
whenever a request for stage promotion or demotion is made. Individuals and/or committee members
are sent an email notifying them that action is required. The email provides a link to the work item for
easy access and the work item is also placed in the assignee's My Work Items folder. An object can
also require multiple levels of review and approval before it can be promoted (or demoted) to the next
stage. For example, you can define a stage that requires an initial level of signoff by, say, all members
of a Design Review Team and Project Manager followed by a second level of approval from, say, the
VP of Engineering.
You can define lifecycle templates in two different ways: graphically in EKM Studio, and using XML. The
easiest method is to use EKM Studio. When saved to your local file system or an EKM repository, the lifecycle you define in EKM Studio is converted to XML and the file is typed as a Lifecycle object and
given the .lc.xml file extension.
You can also define a lifecycle file in XML, using any XML or text editor. See Appendix C (p. 229) for details.
Lifecycle files behave like any other object in EKM with respect to being able to be tagged with userdefined properties, placed under version control, and searched for using a keyword and advanced
search criteria.
Once a lifecycle has been defined and saved as an XML file, it will need to be configured for your
workspace before it can be used. The configuration process associates the lifecycle with all the object
types that it is defined for. The lifecycle then either gets automatically enabled for all objects in the
repository belonging to that type, or the lifecycle will require manual enabling for individual object,
depending on how it has been defined. See the Restricted and Unrestricted Configuration of Workspaces
chapter in the Administration Guide for more details.
132
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
133
Tip
If you see a pop-up that gives you the option of opening LaunchStudio.jnlp or saving
the file, select the Do this automatically for files like this from now on option, select Open
with Java(TM) Web Start Launcher (default), and click OK.
For an overview of EKM Studio, see The EKM Studio Environment in the EKM Users Guide.
134
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
2.
Insert a start stage using the Insert Stage action and add additional stages to build your diagram. See
Inserting New Stages (p. 136).
3.
Add transitions between stages using the Insert Transition action. See Inserting New Transitions (p. 139).
4.
Edit the stages and transitions to further define them. See Editing Stages (p. 137) and Editing Transitions (p. 139).
5.
Define the object types to which the lifecycle will be applied. See Editing Lifecycle Attributes (p. 144).
6.
Select File > Save As to save the lifecycle file to your local file system or to an EKM Repository. The lifecycle is saved as an XML file with the .lc.xml extension. See Saving Lifecycle Files (p. 143).
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
135
If an existing stage is currently selected when you insert a new stage, the new stage will be placed next
to the existing stage, and a transition will be automatically inserted between the two stages. If no stage
is selected when you insert a new stage, the new stage will be placed at the beginning of the diagram
and can then be dragged to the desired position within the diagram. In the latter scenario you will
need to manually insert a transition between an existing stage and the new stage.
You can drag and drop stages to arrange them in a particular order. This is particularly necessary when
a new stage inserts on top of an existing stage.
Note
You cannot insert a stage if the current selection is a transition. If you attempt to do this,
the following dialog will be displayed:
In this case, click OK and then either click in blank space or select an existing stage to connect
the new stage to.
136
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Double-click the stage in the lifecycle diagram, or right-click the stage in the diagram or tree and select
Edit from the context menu. The Edit Stage dialog box will appear:
Figure 10.2: Edit Stage Dialog Box
2.
In the Name edit box, enter a name for the stage as you would like it to appear in the diagram and
tree. Names cannot contain these characters:
/ \ : [ ] * ' " |
3.
In the Description edit box, enter a description to help identify what will happen during the stage
(optional). The description will be displayed when you mouse over the stage in the diagram, and in the
Properties window when the stage is selected.
4.
If you want the object to be automatically deleted from the repository within a certain number of days,
check the Delete automatically box. Then, in the Expiration days edit box, specify the number of
days after which the object should be automatically deleted from the repository. Usually this will only
be specified in the last phase of the lifecycle, if you want an obsolete object to be automatically deleted
after a certain period of time. If you leave this value at 0, the object will not be deleted automatically
and will be preserved indefinitely.
5.
To allow the object to become part of the previous stage, check the Demote Allowed box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
137
In the Permissions pane, set permissions for the stage. To set permissions, click the Insert link to add
an entry to the Member list, then click the drop box to select a user or group member. You can also
use * to specify the user who created the object. Once you have selected a user you can check the
boxes of permissions that you want that user to have.
Permission type options include:
Access: Specifies who can access (or view) this object. By default this is selected and users
cannot change this setting. However, other permissions can be granted.
Create: Specifies who can add a child to a folder object.
Delete: Specifies who can delete the object.
Modify : Specifies who can modify the object.
Download: Specifies who can download a file or folder object.
Lifecycle: Specifies who can perform lifecycle operations such as promote and demote.
Full Control: Specifies who has full control over the object. Full control means all permissions
are available, including the ability to change permissions.
Note
If an object associated with a lifecycle is not accessible because the parent folder containing the object does not provide access permission to sign-off members or lifecycle
users, those users cannot "Promote" the stage. To enable the ability to promote, give
the required users at least "Access" permission to the parent folder.
7.
Click OK.
2.
In the Rename dialog box, enter the desired name for the stage in the New name edit box.
3.
Click OK.
138
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
on the toolbar.
Double-click the transition in the lifecycle diagram, or right-click the transition in the diagram or tree
and select Edit from the context menu. The Edit Transition dialog box will appear.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
139
2.
Specify any macros that are to be used for performing actions associated with promote/demote requests.
The types of macros that you can specify are described below. See Using Macros in Lifecycle Definitions (p. 141) for details on how to define macros.
Promote validation macro
The name of the macro that is used to perform validation before a promote request can be processed.
Promote action macro
The name of the macro that is used to perform an automatic action after a promotion request has
been processed.
Demote validation macro
The name of the macro that is used to perform validation before a demote request can be processed.
Demote action macro
The name of the macro that is used to perform an automatic action after a demote request has
been processed.
140
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Define the signoff processes for promoting and demoting the object. Only the person who created the
workflow can promote it. You can create a multi-level signoff process by adding any number of signoff
elements to the Promote signoff or Demote signoff window pane. In the example shown in Figure 10.3: Edit Transition Dialog Box for a Lifecycle (p. 140), there are two levels of signoff defined for
stage promotion: Level 1 is required by all members of the Design Team; and Level 2 by the
Development Manager. The first level must be completed before the next one can begin.
Click Insert to add rows to the Promote signoff or Demote signoff table. To remove a row, select
it and click Delete. Once an entry has been added to a table, you can define its properties:
Level: Specifies the name of signoff level. There are no character restrictions for the level definition.
Double-click in the Level text box to enter/edit the name.
Members: Specifies the names of users and groups who are involved in the signoff at this level. If
you specify more than one user or group, you will need to separate their names by a comma. Singleclick in the Members box and a drop-down list of available members will be displayed (drop-down
list not shown in Figure 10.3: Edit Transition Dialog Box for a Lifecycle (p. 140)).
Inclusive: Specifies whether or not all Members for this level need to approve the signoff. If the Inclusive box is checked, then ALL Members must approve the signoff. If it is cleared, then any member
can approve the level signoff.
Due Days Specifies the number of days allowed for the signoff. If a user has not approved or a rejected
the signoff by then, a daily reminder mail is sent to the user. Double-click in the Due Days box to
enter/edit the amount of time the Members have to complete the signoff process.
4.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
141
The name that you define for the macro in the script can then be entered in the Edit Transition dialog
box so that it can be utilized.
Note
Jython imposes a limit of 100 KB per script file. To avoid lifecycle errors it is recommended
that you create scripts using the EKM scripting interface and store them in the /System/Configuration/Scripts folder. For details see Using EKM's Scripting Interface (p. 159).
Storing scripts in a centralized library makes them available for any workflow, lifecycle, or
custom type. See Configuring a Common Scripts Library (p. 193) for details.
142
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
You cannot save a lifecycle in the /System/Configuration/Lifecycles folder unless
you are in Workspace Configuration mode.
To save a lifecycle to your local computer:
1.
Select File > Save. If the current lifecycle has been saved previously, and you want to save it under a
different name, select File > Save As > Local File.
2.
In the Save dialog, navigate to the folder where you want to save the file.
3.
In the File name edit box, enter a name for the lifecycle file.
4.
Click Save.
2.
In the Save File dialog box, enter a name for the lifecycle in the File name edit box. You do not need
to include the extension.
3.
4.
5.
Click Save.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
143
144
Select Edit > Lifecycle Attributes from the menu bar to open the Edit Lifecycle Attributes dialog
box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
2.
3.
Click in the New Type box and select an object type from the drop-down list.
4.
If you want an object of that type to be enabled automatically by EKM whenever it is uploaded to a
repository or created, check the Enabled by default box. If you do not enable an object type by default,
then the lifecycle can manually be enabled by any user who has Lifecycle permission for the object
using the Enable Lifecycle action. See Enabling Lifecycles (p. 146) for more details.
5.
From the Language drop box, select the scripting language (Python or BeanShell) that you would like
to use for macros and expressions.
Python is a powerful and easy-to-use scripting language that is becoming very popular. EKM uses
Jython 2.5.2 to handle Python syntax. To learn more about Jython, refer to http://www.jython.org/
index.html. To learn more about Python, refer to http://www.python.org. Jython 2.5.2 allows the
use of Python 2.5 language features. In addition you can use any Java classes offered by JDK 1.7.
BeanShell is a scripting language that can execute code written in standard Java syntax while
providing scripting conveniences such as loose types. For more information on BeanShell and to
see its detailed documentation, refer to http://www.beanshell.org. With BeanShell you have full
access to all classes provided by Javas JDK. EKM uses JDK 1.7, so you can use any of its classes in
macros defined using BeanShell.
If you change the Language setting, you will be prompted to edit any existing macros and expressions after you click OK in the Edit Lifecycle Attributes dialog:
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
145
Repeat this process to add more object types to the lifecycle template. To remove a type, select it in
the list and click Delete.
Important
Once a lifecycle is enabled, the lifecycle permission policies that are defined in the lifecycle XML file are applied to the object, and will override any other permissions that
were previously set for the object using Edit > Permissions. The Enable Lifecycle
dialog box contains this reminder, as shown in Figure 10.7: Enable Lifecycle Dialog
Box (p. 146). Note that lifecycle permission policies can be subsequently overridden by
anyone with lifecycle permission for the object.
To enable a lifecycle:
1.
Select the object, right-click, and select Edit > Lifecycle > Enable from the context menu. This will
open the Enable Lifecycle dialog box.
Figure 10.7: Enable Lifecycle Dialog Box
2.
146
Click OK.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Displaying Lifecycles
147
2.
In the Edit Preferences dialog box, select List Display in the left pane, and then check the Lifecycle
Stage box in the right pane, as shown below.
Figure 10.9: Edit Preferences Dialog Box - Lifecycle Stage
148
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Click OK.
Figure 10.10: List Display With Lifecycle Stage
Select the object, right-click and select Edit > Lifecycle > Promote from the context menu. This opens
the Promote Lifecycle Stage dialog box.
Figure 10.11: Promote Lifecycle Stage Dialog Box - Signoff Required
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
149
3.
4.
If the lifecycle stage requires a signoff before it can be promoted, the signoff committee members are
listed.
5.
Click OK. If the object does not require a signoff, it will be immediately promoted to the next stage. If
signoff is required, a separate Signoff process will be launched.
Select the object, right-click and select Edit > Lifecycle > Demote from the context menu. This opens
the Demote Lifecycle Stage dialog box.
Figure 10.12: Demote Lifecycle Stage Dialog Box
2.
3.
4.
If the stage has a signoff process, the signoff committee members will be shown.
5.
Click OK to demote the lifecycle stage. A separate Signoff request process will be launched if the object
requires a signoff before it can be demoted.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Email alerts are sent to all members of the signoff committee (as defined in the lifecycle template) notifying them that their action is required. The work item for the signoff will be listed in each committee
members My Work Items folder. The signoff process can be displayed by clicking the Signoff link in
the work item as shown in Figure 10.13: My Work Items Showing Level-1 Signoff Work Item (p. 152). The
review is started by clicking the
action on the toolbar. Once the objects have been reviewed,
the committee member can approve or reject the signoff request using the action menus. The user
who initiated the signoff request or the system administrator can also cancel an active signoff request.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
151
152
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Select the signoff request in your My Work Items folder, then click
open the Approve Signoff Request dialog box.
2.
Optionally enter acceptance comments. You can view these comments in the object's lifecycle history.
3.
Click OK to approve the signoff. This will remove the level signoff request from your My Work Items.
The approval will be logged in the lifecycle history.
Select the signoff request in your My Work Items folder, and then click
opens the Reject Signoff Request dialog box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
153
2.
Optionally enter rejection comments. You can view these comments in the object's lifecycle history.
3.
Click OK to reject the signoff. This action will cancel the Signoff process and cause the stage promotion/demotion request to be cancelled. The stage will roll back to its last state. It will also remove the
level signoff request from your My Work Items folder. Your rejection will be logged in the lifecycle
history.
1.
Select
from the Edit > Lifecycle action menu of the object being promoted or demoted.
This will open the Cancel Signoff dialog box.
Figure 10.17: Cancel Signoff Dialog Box
2.
154
Optionally enter comments. You can view these comments in the object's lifecycle history.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Click OK to cancel the signoff request. This action will remove the level signoff work item from every
member's My Work Items folder.
Select the object, right-click, and select Edit > Lifecycle > Set Stage from the context menu. This will
open the Set Lifecycle Stage dialog box.
Figure 10.18: Set Lifecycle Stage Dialog Box
2.
3.
Optionally, enter comments. You can view these comments in the object's lifecycle history.
4.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
155
156
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
157
Important
Scripts that are defined in the /System/Configuration/Scripts folder cannot access
the global ekm variable that is used in EKM's scripting interface. Therefore, this variable
must be passed as an argument if a script is to make use of it.
158
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
A limitation of Python is that the output from a script is displayed only in the console of
your application server (for example, JBoss 7) and does not appear in the Output log in the
Open Command Window dialog box.
159
Note
The Sample Files folder is accessible only by admin users.
160
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
The scripts folder contains Python sample scripts. You can copy the macros defined in these scripts
to your custom scripts. However, you cannot reference a macro directly. Only when a script from
this directory is placed under workspace configuration control by an EKM admin user in the common
/System/Configuration/Scripts folder, will its macros be globally available in all contexts. See
the section on Configuring a Common Scripts Library in the Administration Guide for more details on
how a global script library can be configured by an admin user.
change_permissions_properties.py Script
The change_permissions_properties.py script file contains two methods. One method is to
recursively change the given object permissions for a given folder and other method is to recursively
change the given properties for a given folder.
create_groups_users.py Script
The create_groups_users.py script file contains two methods. One method is to create groups
or/and optionally add users to those groups, by reading group properties from a user given csv file,
and the other method is to create users by reading user properties from a user given csv file.
create_remotefileserver_remoteitem.py Script
The create_remotefileserver_remoteitem.py script file contains two methods. One method
is to create a Remote File Server based on given inputs and the other method is to create a Remote
Folder based on given inputs including Remote File Server input.
extract_file_data.py Script
The extract_file_data.py script file contains a method to extract all data (metadata/details report/image) for the given file.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
161
extract_file_data_recursively.py Script
The extract_file_data_recursively.py script file contains two methods. One method is to
find all objects of given types recursively from a given folder, with a property status of extraction failed
and re-extracts the missing metadata and the other method is find all CAE files recursively from a given
folder, with the missing report child object and generate and add the new report child object.
test_script.py Script
The test_script.py script file contains code snippets for performing a variety of operations. If an
EKM admin user places the test_script.py file under workspace configuration control (see Configuring a Common Scripts Library), then any user can simply use the name of the macro when defining
a custom script.
162
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
Not all actions can be recorded in a journal script in Release 15.0. Support for journaling is
currently available for the following actions:
Analysis project > update analysis
Application > execute
Case model file > create summary report
Create Custom Application
Create Workflow Definition
Edit > Copy (Copy Object)
Edit > Created By Property (Change Creator)
Edit > Custom Application (for Application objects)
Edit > EKM Server (for EKM Server objects)
Edit > Get Exclusive Control (Lock)
Edit > Group Membership (for Group objects)
Edit > Shortcut (Edit Link)
Edit > Move (Move Object)
Edit > Move (multiple objects selected: Move Multiple Objects)
Edit > Permissions (Change Permissions)
Edit > Profile (for User objects)
Edit > Properties
Edit > Release Exclusive Control (Unlock)
Edit > Remote Item (for File or Remote Folder objects)
Edit > Rename (Rename Object)
Edit > Type (Change Container Type for a Container object)
Edit > Type (Change Type)
Edit > Type (multiple objects of same type selected: Change Multiple Types)
Edit > Versioning > Add To Version Control
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
163
164
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Select File > Scripting > Record Journal. The Start Journal Recording dialog box appears:
Figure 11.1: Start Journal Recording Dialog Box
2.
Specify the folder where the journal file will be saved. The default location is My Home/My Data which
is displayed in the dialog box as /System/User Accounts/Users/USERNAME/My Data.
3.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
165
Click OK. When you record a journal, two objects will be written to the location you specify:
An empty journal file of type EKM Journal File with extension .jou.py that does not contain any
data because you have not recorded any actions yet.
A companion _files folder that is used as temporary storage for the recorded actions.
5.
1.
Enter the full path to the EKM journal script you want to run or click Browse... to select the file from
the Folders tree.
2.
Important
Any error that occurs while executing the journal will result in an unhandled exception.
Clicking Continue when such an exception occurs dismisses the exception and returns you
to the object from which the script was executed.
166
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
A limitation of Python is that the error output from a script is displayed only in the console
of your application server (for example, JBoss 7) and does not appear in the Output log in
the Open Command Window dialog box.
To run a Python or BeanShell script:
1.
Select File > Scripting > Open Command Window. (Figure 11.3: Open Command Window Dialog
Box (p. 168))
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
167
2.
Select the scripting language that you will use. Supported languages are Python and BeanShell.
3.
You can copy and paste text from a script or enter the script commands directly into the Script input
box. Click the Submit button and the script commands will be immediately processed by EKM and the
submitted script, as well as any output, will be displayed in the Output log.
4.
To load a script command file from your local file system, click Browse... and select the BeanShell or
Python script file, then click the Load button. The script will not be executed at this point, but its contents
will appear in the Script Input text box. This allows you to view and modify the commands before they
are executed. Once you are ready, you can click Submit to execute it.
168
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
169
Note
If you use custom applications and JSF validation tags, you need to provide a label so that
the validation protocols can apply a proper error message to the custom application. In the
example that follows, the error message is missing the label of the field that has an invalid
entry.
Figure 12.1: A Faulty Error Message in a Custom Application
Variable names used in a custom application should always be a valid java identifier. For
example, a variable cannot have a name that is a reserved word such as "boolean".
170
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Header
An XHTML must start with the header:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:ing="http://www.ansys.com/ingress/spdm"
xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
xmlns:rich="http://richfaces.org/rich">
<body>
<ui:component>
Body
In between the header and footer, you may insert any HTML or JSF tag in the XHTML file to define the
user interface components. See User Interface Components (p. 174) for details.
Footer
An XHTML must end with the footer:
</ui:component>
</body>
</html>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
171
172
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
173
You can also use an HTML table to display an image and other controls, side by side.
For the sample dialog box (Figure 12.2: Sample Custom Dialog Box (p. 172)), tank.jpg is at the toplevel of the resources folder, so the full path becomes: #{custom.url}/tank.jpg.
174
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
String Input
The inputText setting can be used to define a text box for capturing string input in a dialog box, as
shown in the following code fragment:
<h:inputText value="#{custom.vars.string.value}" />
Except for a reference selection, all elements that capture user inputs must have a value attribute.
This attribute points to the value of the variable, defined in the initialization script, that stores the user
input. The common syntax to specify the value is: #{custom.vars.varName.value}, where
varName is the name of the variable defined in the initialization script. In this case the name of the
variable is string.
Integer Input
The inputText setting can be used to define a text box for capturing integer input in a dialog box,
as shown in the following code fragment:
<h:inputText value="#{custom.vars.integer.value}">
<f:validateLongRange minimum="0" maximum="10"/>
</h:inputText>
The value attribute must point to a variable of type long in the initialization script. In this case, the
name of the variable is integer. If required, you can also specify minimum and/or maximum values
for the integer as shown above with the f:validateLongRange tag. This is optional and if its not
specified, the integer will not have any minimum or maximum value.
The value attribute must point to a variable of type double in the initialization script. In this case
the name of the variable is real. If required, you can also specify minimum and/or maximum values
for the real number as shown above for integer inputs. This is optional and if it is not specified, the real
number will not have any minimum or maximum value.
Date Input
The rich:calendar setting can be used to define a text box for capturing date and time input in a
dialog box, as shown in the following code fragment:
<rich:calendar value="#{custom.vars.date.value}"
datePattern="MMM d, yyyy HH:mm"
enableManualInput="true" />
The value attribute must point to a variable of type Date in the initialization script. In this case the
name of the variable is date. The datePattern attribute specifies the format in which the date will
be displayed or entered manually. The enableManualAttribute specifies whether manual date
input is allowed or not. Refer to the RichFaces documentation for information about this component
and to learn about additional attributes.
Reference Selection
The inputCustomReference setting can be used to define a combination text box and browse
button for selecting a reference to another object in EKM, as shown in the following code fragment:
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
175
The referenceVar attribute specified the name of the reference variable defined in the dialog boxs
macro. In this case the name of the variable is reference. You can control the size of the text box
using size or width attributes.
File Selection
The inputFileUpload setting can be used to define a combination text box and browse button for
selecting a file to upload to EKM, as shown in the following code fragment:
<t:inputFileUpload size="60" value="#{custom.vars.file.value}"/>
The value attribute must point to a variable of type VARIABLE_TYPE_FILE in the initialization
script. In this case the name of the variable is file.
The value attribute must point to a boolean variable in the initialization script. For the example
dialog box (Figure 12.2: Sample Custom Dialog Box (p. 172)) the name of the variable is boolean.
The value must point to a string variable defined in the initialization script. For the example dialog
box (Figure 12.2: Sample Custom Dialog Box (p. 172)), the name of the variable is radio. The layout
attribute specifies whether radio buttons are displayed horizontally (using the lineDirection value)
or vertically (using the pageDirection value). The options for the radio button are specified using
the f:selectItem tags as shown above. Instead, you can use the f:selectItems tag to specify
the variable options in the dialog boxs macro. See Selection Menu for an example of the f:selectItems tag.
176
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
The value attribute must point to a string variable defined in the initialization script. In this case the
name of the variable is listBox. If the variable is defined as multi-valued, the list box will allow multiple
selections. Otherwise only a single selection is allowed. The options for the list box are specified using
the f:selectItem tags as shown above. Instead of this, you can use f:selectItems tag to specify
the variable options for the dialog boxs macro. See Selection Menu for an example of the f:selectItems tag.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
177
The first argument is the header and will be shown in the Title Bar of the dialog box when it is opened
in the web user interface.
The second argument is the path of the XHTML file that defines the user interface for this step. The
path can be either relative or absolute. An absolute path is used primarily for defining action dialog
boxes for custom types. The location of the XHTML files (and other resource files used in the user interface
such as images, CSS files, JavaScript files, and so on) is dictated by the customResourcesPath setting
in ekm.xml and is by default EKM_HOME/conf/resources. The XHTML file for the custom type
dialog box can be placed in any sub folder in the custom resources folder. You can then use the path:
/custom/<relative path of file in custom resources folder> to refer to the XHTML
file in the custom resources folder. Workflows and custom applications can be added or modified dynamically to EKM by any user who may or may not have access to EKM servers file system. EKM handles
this issue in the following ways:
The user interface resource files needed for custom applications and workflows are added as an
archive (in .zip, .tar, or .tar.gz formats).
The resources archive is made a child of the workflow or custom application object in EKM.
When a custom dialog box needs to be opened, the resource archive is extracted to a specific location.
This location is:
path-to-custom-resources_folder/_custom_resource_cache_/id-of-theobject
where id-of-the-object refers to the internal ID of the object in EKM. It is used to store
the resource files from different custom applications and workflows in a separate folder.
Because you do not know the ID of an object before it has been added to EKM, you cannot use the
absolute path to specify XHTML files for custom applications and workflow dialog boxes. You can,
however, specify a relative path and behind the scenes EKM will create the full path before the dialog
box is opened. User interface resources are contained in an archive, and the relative path will depend
on the path of the XHTML file in the archive. If the file is at the top level of the archive, then you can
simply specify the file name (for example, test-variables.xhtml). However, if the file is in a folder
then you will need to specify the name of the parent folder too (for example, folder-name/testvariables.xhtml).
The third argument is the name of the action macro that will be called when the dialog box is submitted.
For a multistep wizard, you need to specify only the execution macro in the last step.
The addStep() method returns an instance of DialogStepInterface.
Once the steps have been specified you can then add the variables used in the dialog box. This is done
using the addVar() method of the DialogInterface as shown in the following line:
dialog.addVar("string", dialog.VARIABLE_TYPE_STRING, "Hello World", false);
178
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
In the above line, the variable listBox is a multi-valued variable whose default value is a list with two
elements: List Option 1 and List Option 2.
The addVar() method returns the newly added variable, which is an instance of the VariableInterface. You can use this instance to specify some additional attributes that cant be specified in the
addVar() method. For example, for reference variables you can specify the type of objects to be selected using the setReferenceType() method of ReferenceVariableInterface as shown
in the following snippet. Here we are setting the type to Folder, this means that users will only be able
to select Folder objects for this variable:
referenceVar = dialog.addVar("reference", dialog.VARIABLE_TYPE_REFERENCE, "", false);
referenceVar.setReferenceType("Folder");
Similarly you can specify the options for any variable using the setOptions() method as shown in
the following snippet. Here we are setting 3 options: Menu Option 1, Menu Option 2, and Menu
Option 3.
menuVar = dialog.addVar("menu", dialog.VARIABLE_TYPE_STRING, "Menu Option 2", false);
menuOptions = new LinkedList();
menuOptions.add("Menu Option 1");
menuOptions.add("Menu Option 2");
menuOptions.add("Menu Option 3");
menuVar.setOptions(menuOptions);
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
179
In the navigation pane, select the Applications folder, and then click the Create Custom Application
icon in the file list window.
This will open the Create Custom Application dialog box (Figure 12.3: Create Custom Application
Dialog Box (p. 181)).
180
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
2.
3.
next to the Application folder edit box and then select the repository folder where
Click
you would like to save the application. For easy access you may want to save it in the My Home/My
Applications folder or the System/Shared Applications folder.
4.
Click
under Script file to select a script file for the application. Select the sample mixingtank-simulation.py file on your local system. This is the script file that provides the back-end of
the application.
5.
In the Macro name for dialog creation edit box, enter init for the macro name that creates the
custom user interface dialog box. This is the name of the macro that is defined in the script file.
6.
Click
under Resource archive to select the archive file (.zip, .tar or .tar.gz) that
contains the user interface resources needed to define the front-end user interface. Select the mixingtank-simulation.zip archive file on your local system.
7.
Click OK. The application named Mixing Tank Simulation of type EKM Application will be created
and added to the repository folder that you specified.
181
The custom user interface that opens will vary depending on the application. When you click OK in the
custom application dialog box, the inputs that you have specified in the dialog box will be processed
by the back-end, and the desired operations will be executed before the dialog box is dismissed.
Figure 12.4: Custom Mixing Tank Simulation Dialog Box (p. 183) shows the dialog box of the mixing tank
custom application created in the previous step. When you click OK, Fluent launches in the background
and simulates the mixing tank using the parameters you supplied. Note that for this example, the Fluent
solver application must be defined (without the -post command line parameter).
182
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
A job object is created for the simulation process in My Jobs, where you can monitor its status.
You can then navigate to the output folder you specified and review the Simulation Details Report that
was created for the simulation. This is shown below in Figure 12.5: Report for Custom Mixing Tank
Simulation (p. 184).
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
183
184
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Select the custom application in the folder where it was saved, and then right-click and select Edit >
Application from the context menu. This will open the Edit Custom Application dialog box. (Figure 12.6: Edit Custom Application Dialog Box for Custom EKM Application (p. 185))
Figure 12.6: Edit Custom Application Dialog Box for Custom EKM Application
2.
To select a new script file, or reload the script file if it has changed, click
3.
Change the name of the macro for dialog box creation, if required.
4.
5.
Click OK. The changes will be applied to the application and will take effect the next time that you execute the application.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
185
186
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
187
Important
EKM_HOME is the directory where the EKM server application is installed. This is typically
EKM_BASE/ekm-server, where EKM_BASE is the EKM base directory.
Figure 13.1: Partial Listing of units.xsd Schema Definition (p. 188) shows the partial listing for units.xsd,
the XML schema definition (XSD) that is used for defining units in EKM. The complete listing is provided
in the EKM_HOME/schema folder.
Figure 13.1: Partial Listing of units.xsd Schema Definition
<?xml version="1.0" encoding="UTF-8"?>
targetNamespace="http://www.ansys.com/ekm/units"
xmlns:ekmUnits="http://www.ansys.com/ekm/units">
<xsd:complexType name="Unit">
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="multFactor" type="xsd:double" use="required" />
<xsd:attribute name="addFactor" type="xsd:double" use="optional" />
</xsd:complexType>
<xsd:complexType name="Quantity">
<xsd:sequence>
<xsd:element name="unit" type="ekmUnits:Unit" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="Quantities">
<xsd:sequence>
<xsd:element name="quantity" type="ekmUnits:Quantity" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UnitSystemQuantity">
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="unit" type="xsd:string" use="required" />
</xsd:complexType>
EKM also supplies a default Units.xml file that contains some predefined units, quantities, and unit
systems. The schema listing in Figure 13.1: Partial Listing of units.xsd Schema Definition (p. 188) show
that the units file consists of a root element named units and has the following child elements:
quantities: contains a list of quantity element as children. Each quantity element has a list
of units elements as children.
unitSystems. This has a list of unitSystem element as children. Each unitSystem element has
a list of quantity elements as children.
188
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
189
190
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
Workspace exports can be performed by any member of the admin group.
To export a workspace:
1.
Select File > Export Workspace. The Export Workspace dialog box appears:
2.
Specify a folder to be created for the exported workspace on the destination server. To do this, enter
an absolute path to the folder on the servers file system. For example, if you enter C:\ekm150\ekmserver\WorkspaceExport, a folder named WorkspaceExport will be created on the server, and
the workspace will be exported to that folder. Note that you cannot export to an existing folder.
3.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
191
192
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Important
Scripts that are defined in the /System/Configuration/Scripts folder cannot access
the global ekm variable that is used in EKM's scripting interface. Therefore, this variable will
need to be passed as an argument if a script needs to use it.
The overall process for configuring a scripts library for a workspace is as follows:
Start restricted workspace configuration mode if it has not already been started. See Starting Restricted
Configuration (p. 32).
Upload the script to the /System/Configuration/Scripts folder or copy it from an existing
location in the Repository.
Accept the workspace configuration. See Accepting the Configuration (p. 34).
193
Miscellaneous Tasks
The usage report presents details on how many times a user has logged in, number of bytes uploaded
or downloaded, the number of searches executed and the number of workflows or custom applications
executed. It keeps a record of the last 12 months and keeps track of the cumulative usage for each
user.
Note
Table titles in reports are not localized.
194
Select the Remote File Server folder under System, right-click, and select New > Remote File
Server. This will open the New Remote File Server dialog box. (Figure 15.1: New Remote File Server
Dialog Box (p. 195))
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
2.
3.
Enter the type of server or choose one from the drop-down list. Currently, File Server is the only
available option.
4.
Enter the server address. The server address should be mapped path or UNC path of the file server or
a folder within the file server. For example:
\\fileserver\cae-folder
f:\cae-folder
/nfs/fileserver/cae-folder
5.
Select Extract keywords for full-text search if you want keywords to be extracted from files in this
server after upload or transfer to EKM. If you clear this option, then users can reference files in the
server but keywords won't be automatically extracted and you will not be able to search by keywords.
6.
Select Extract metadata if you want metadata to be extracted from files in this server after upload or
transfer to EKM. If you clear this option, then users can reference files in the server but metadata will
not be automatically extracted. This may be useful if you have a large repository of legacy data that
you want to quickly expose in EKM, but do not want the overhead of metadata extraction.
7.
Click OK to create the file server. You can display the File Server Properties for the object using the
Properties display. You can also modify the server properties for the remote file server using the Edit
Properties dialog box.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
195
Miscellaneous Tasks
196
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
197
Miscellaneous Tasks
extractImageOnUpload: The value for this type attribute must be true.
imageName: The value for this type attribute must be file.cax.
imageApplication: The value for this type attribute must be extractCaxImage.
showContentViewAsDefault: The value for this type attribute must be false, if you want the
visualization view to be the default view when you open the file in the EKM web client.
Refer to Defining Custom Types Using the user interface to find out how to define type attributes for
a custom type and to Configuring Workspace Settings Using XML for details on modifying type attributes
of a built-in type.
With these steps completed, when you upload a configured CAE file to a repository, EKM will automatically extract the CAX image from the file and save it as a new EKM object of type VCollab File with
the .cax extension. You can then display the 3D CAX image by selecting the Display > Image action
menu item from the context menu for the CAE file, or by selecting the Image display tab if the CAE file
is already displayed in the EKM Object view. The VCollab viewer will be loaded in the EKM Object view
and will display the 3D simulation image. You can visualize the 3D image using VCollab interactive tools
that are available in the viewer. For more details, see Displaying 3D Simulation Images Using VCollab.
Note
By default, the 'admin' group will be assigned promote privilege, but it can be configured
for assignment to some other group by admin.
198
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
199
200
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Backing Up EKM
1. The EKM database is backed up at time T1, using a database dump procedure that ensures consistency
of the dump at time T1. All application and user data in the EKM database are captured at time T1.
2. The EKM data directory is backed up at time T2_start where T2_start >= T1. This means that the
backup of the EKM data directory starts at the same time or after the EKM database backup. This
operation completes at time T2_end. All the data files stored in EKM are captured at time T2_start.
Files added between T2_start and T2_end are not relevant as described below.
The EKM base, job data and repository directories can be backed up at any time.
Important
It is ABSOLUTELY CRITICAL that if garbage collection runs while a backup is in progress that
it does not delete any files that were still in use at time T1, as this can cause the backups to
become inconsistent, and data loss/corruption could result if they are used to restore from.
This can be ensured by setting the interval for dataStoreGC scheduled task to be greater
than the time it takes for a complete backup of the datastore. See the description of the
dataStoreGC setting in Scheduling Automatic Tasks (<scheduledTasks>) (p. 53) for more
details.
When restoring, the restore of the EKM database will take place with data from time T1, and the restore
of the EKM data directory will take place with data from time T2_start. This is not a problem because
of how the EKM data directory and EKM database are related. The end result is that a consistent set of
EKM data from time T1 will be restored to EKM. The internal workings of the EKM database and EKM
data directory ensure that the data in the EKM database and EKM data directory will be synchronized
to contain only data present at time T1. Any leftover, non-referenced data in the EKM data directory
will be cleaned up the next time the garbage collection is run (see Cleaning Up Unused Files)*.
*When the EKM database from T1 and the EKM data directory from T2_start are restored, the following
conditions apply:
1. Changes to the EKM database after time T1 are not captured because the backup captures the state
of the EKM database at time T1.
2. Additions made to the EKM data directory after T1 are discarded the next time the garbage collection
is run, as they are not referenced by the EKM database backup from time T1.
3. Deletions from the EKM data directory after T1 are not carried out, as data files deleted from the
EKM data directory do not actually get deleted until the next time the garbage collection is run.
Note that this cleanup must not run between times T1 and T2_end.
4. Updates/edits to existing files in the EKM data store are implemented internally as adds/deletes, so
the previous rules governing additions and deletions apply to modifications of existing items.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
201
Note
For the MySQL database server, use the mysqldump command to back up the EKM
database. EKM uses the ACID-compliant InnoDB storage engine under MySQL, as opposed
to the default MyISAM storage engine, so certain options to the mysqldump command
must be used. These options are demonstrated in the example below.
Here is the suggested command-line for dumping the ekm150 database using mysqldump:
MYSQL_HOME/bin/mysqldump --databases ekm150 --single-transaction --hex-blob > ekm.sql
where MYSQL_HOME is the directory where the MySQL database server is installed.
16.2.1.3. Backing up the EKM Data, EKM Base, Job Data and Repository Directories
Once you have backed up the the EKM database you can back up the following directories located in
the root install directory (for example, C:\ekm).
To back up these directories, take a full copy of each directory, including all files and subdirectories. It
is recommended that an enterprise-quality commercial backup solution be used to perform the file
backups of these directories.
\datastore
\jobdata
\repository
\v150 (EKM_BASE)
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Restoring EKM
Restoring the EKM Database (p. 203)
Restoring the EKM Data, EKM Base, Job Data and Repository Directories (p. 203)
Clearing the Search Indices (p. 203)
where MYSQL_HOME is the directory where the MySQL database server is installed.
After restoring the EKM database and EKM data directory, it is also necessary to clear the search indices
as instructed in Clearing the Search Indices (p. 203).
Important
When restoring the EKM database, it is also necessary to restore the EKM data directory from
the same backup set.
16.3.1.2. Restoring the EKM Data, EKM Base, Job Data and Repository Directories
You can restore these directories from your EKM data directory backup. This is a simple filesystem restore,
with no special commands to run.
After restoring anything from the EKM data or repository directory, clear the search indices as instructed
in Clearing the Search Indices (p. 203).
Important
When restoring the EKM data directory, it is also necessary to restore the EKM database from
the same backup set.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
203
204
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
In some instances, there may be EKM users that have valid reasons to develop scripts that perform
operations expressly forbidden by the default security policy. In these instances, you have a way to
grant the script the necessary privileges to perform the operation. This is done by modifying the
scripting security policy. The scripting security policy is defined in a file called script.policy that
is located in EKM_HOME/conf. The default file is as follows:
//
// The following permissions apply to scripts executed within the context of an
// EKM server.
//
grant {
permission java.io.FilePermission "${jboss.home.dir}/modules/-", "read";
permission java.io.FilePermission "${jboss.home.dir}/standalone/deployments/-", "read";
permission java.io.FilePermission "${jboss.home.dir}/standalone/tmp/-", "read";
};
Note
The default script policy grants read access to the /modules and /standalone/deployments and /standalone/tmp directories under JBOSS_HOME. The EKM scripting interface
(Jython in particular) must be able to access these locations in order to function. Other locations under JBOSS_HOME do not have read access because they may contain sensitive information.
To grant privileges to scripts running on the server, you must insert the appropriate permission entries
within the brackets "{}" of the grant statement. For detailed information on the syntax of the policy
file, refer to the Java documentation located here:
http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html#FileSyntax
Because a likely permission needed by scripts is to access files or folders outside of the servers EKM_TEMP
directory, the following is an example entry in the policy for providing scripts with this capability.
grant {
permission java.io.FilePermission "C:\\users\\jsmith\\data", "read";
};
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
205
The "-" at the end of the path indicates that this permission is applied to the specified directory as well
as any subdirectories. If write permission is needed within a directory, the entry would look like this:
grant {
permission java.io.FilePermission "C:\\users\\jsmith\\data", "read,write";
};
Once the script.policy file has been edited with the appropriate permission entries and saved,
you simply need to execute the script again. Assuming the appropriate permission entries were placed
in the policy, the script will execute without any access violations.
206
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
For general information on data types, see Object Types in the User's Guide.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
207
208
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
209
210
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
211
212
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
213
214
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
215
216
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
217
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Job (Job)
A "Design" can have multiple "Analysis" models, each of which can have the following properties:
Frequency (frequency): Solution frequency in GHz
Minimum Frequency (Eigenmode) (minimumFrequency): Minimum frequency in the case of a design with
the solution type of eigenmode.
An "Analysis" can have multiple "Frequency Sweep" models, each of which can have following properties:
Sweep Type (sweepType): Discrete/Fast/Interpolating
Sweep Start (sweepStart): Sweep-start frequency in GHz
Sweep Stop (sweepStop): Sweep-stop frequency in GHz
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
219
220
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
221
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Report (Report)
Properties:
Solver Type (solverType): The type of solver
Problem Types (problemTypes): All problem types defined in the file
Problem Names (problemNames): All problem names defined in the file
Task Name (taskName): The name of the task
Version (version): The version of Polyflow that generated this file
Geometry Type (geometryType): The type of geometry
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
223
224
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
225
226
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
227
228
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Note
The file extension .lcxml was used in previous versions of EKM and is an allowable extension.
Once you have created a lifecycle XML file you will need to upload and configure the file as described
in Basic Steps for Creating, Configuring, and Managing Lifecycles (p. 133).
Important
EKM_HOME is the directory where the EKM server application is installed. This is typically
EKM_BASE/ekm-server, where EKM_BASE is the EKM base directory.
This section and the proceeding sections assume that you have a basic understanding of XML constructs
and syntax. If you are unfamiliar with these technologies, you will need to review them before proceeding.
http://www.w3.org offers extensive tutorials and documentation. In particular, it is recommended that
you review the documentation on XML schemas found at: >http://www.w3.org/TR/xmlschema-0. While
creating or editing XML files it is recommended that you use schema-aware XML editors. This will allow
you to easily create configuration files that are syntactically correct and reduce the likelihood of errors.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
229
Important
EKM_HOME is the directory where the EKM server application is installed. This is typically
EKM_BASE/ekm-server, where EKM_BASE is the EKM base directory.
Figure 1: Partial Listing of lifecycle.xsd Schema Definition (p. 230) shows the partial listing for lifecycle.xsd, the XML schema definition (XSD) that is used for defining lifecycles in EKM. The complete
listing is provided in the EKM_HOME/schema folder.
The listing shows that a lifecycle file consists of a root element named lifecycle. The lifecycle element
must contain the following:
1 or more type elements
1 or more stage elements
0 or more transition elements
an optional script element
See Defining a Lifecycle XML File (p. 231) for a description of each element.
Figure 1: Partial Listing of lifecycle.xsd Schema Definition
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ansys.com/ekm/lifecycle"
xmlns:ekmLifecycle="http://www.ansys.com/ekm/lifecycle">
xmlns:ekmScript="http://www.ansys.com/ekm/script">
<xsd:import namespace="http://www.ansys.com/ekm/script" schemaLocation="script.xsd"/>
<xsd:complexType name="Stage">
<xsd:sequence>
<xsd:element name="permission" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="type" minOccurs="1"
maxOccurs="unbounded">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="access" />
<xsd:enumeration value="create" />
<xsd:enumeration value="delete" />
<xsd:enumeration value="modify" />
<xsd:enumeration value="download" />
<xsd:enumeration value="lifecycle" />
<xsd:enumeration
value="fullControl" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="member" type="xsd:string"
minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
230
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
C.1.2.1. Types
A single lifecycle can be associated with one or more than one types. The type element is used for
defining this association.
A type definition consists of the following required attributes:
name: used to specify the name of the type associated with this lifecycle. If you are associating the
lifecycle with a built-in type, you will need to use the non-localized type name as described in Appendix B (p. 207).
enabledByDefault: used to specify whether the lifecycle is enabled by default when an instance
of the type is created. Its value can be either true or false. If set to true, this means that
whenever an object of this type is created, it will be associated with this lifecycle with the start stage
as the current stage. If set to false, the lifecycle will need to be enabled manually.
C.1.2.2. Stages
A stage defines a phase of the lifecycle. Within a stage you can define permissions that specify who
can access the object, modify it, or perform other operations on the object that is associated with the
lifecycle. You can also specify whether the objects needs to be automatically deleted from the repository
and if so after how many days.
A stage definition consists of the following required attributes:
name: specifies the name of the stage. As with child names in custom types, node names cannot
contain the following special characters:
/ \ : [ ] % * ' " | > < ?
description: used to provide a description of the stage
A stage definition may also consist of the following optional attributes:
demoteAllowed: specifies whether the object in this stage can be demoted to a previous stage.
Its value can either be true or false. If it is unspecified, its value is assumed to be true.
expirationDays: specifies the number of days after which the object should be automatically
deleted from the repository. Usually this will only be specified in the last phase of the lifecycle, if you
want an obsolete object to be automatically deleted after a certain period of time. If it is unspecified,
its value is assumed to be 0, which means that the object is not deleted automatically and will be
preserved indefinitely.
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
231
The example in Figure 3: Stage Example 2 (p. 232) shows a lifecycle stage named Release with three
permission elements. The all group is given access and download permissions. Turbine Group
and Combustion Group have been given modify permission and Turbine Group Lead and
Combustion Group Lead have been given lifecycle permission. Because the expirationDays
attribute is not set, the object in this stage will not be automatically deleted. Also, because demoteAl
lowed is not specified, the object in this stage can be demoted to a previous stage.
Figure 3: Stage Example 2
<stage name="Release" description="description for release">
<permission>
<type>access</type>
<type>download</type>
<member>all</member>
</permission>
<permission>
<type>modify</type>
<member>Turbine Group</member>
<member>Combustion Group</member>
</permission>
<permission>
232
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
C.1.2.3. Transitions
A transition is used to specify the subsequent and preceding stages of the any lifecycle stage. A transition
can also optionally specify a signoff process for moving to the next stage.
A transition definition consists of the following required attributes:
source: specifies the name of the lifecycle stage from which the transition begins
destination: specifies the name of the lifecycle stage at which the transition ends
The transitions must adhere to the following rules:
Like workflows, lifecycles should have exactly one start stage. The start stage is the stage that is not
the destination of any transition. Unlike workflows, lifecycles can have more than one end stage. The
end stage is the stage that is not the source of any transition.
Like workflows, lifecycles must be acyclic. For example, if you have a transition from stage A to stage
B, then you cant have a transition from stage B to stage A. Similarly, if you have defined transitions
from stage A to stage B and from stage B to stage C, you cant have a transition from stage C to stage
A. In this way, lifecycles, like workflows, are always Directed Acyclic Graphs.
A transition definition may also consist of the following optional attributes:
promoteValidationMacro: specifies the name of the macro that is used to perform validation
before a promote request can be processed
promoteActionMacro: specifies the name of the macro that is used to perform an automatic action
after a promotion request has been processed
demoteValidationMacro: specifies the name of the macro that is used to perform validation
before a demote request can be processed
demoteActionMacro: specifies the name of the macro that is used to perform an automatic action
after a demote request has been processed
These optional macros are usually specified in the optional script element at the beginning of a lifecycle definition. See the Defining Macros and Custom Dialogs chapter in the EKM Users Guide to learn
more about macro definition and scripting. All these macros take the following arguments:
an instance of ModelObjectInterface that specifies the object associated with the lifecycle.
the name of the next stage.
These optional macros do not return any values. The validation macros may throw an exception if validation fails. The action macros specify commands that are to be executed when the stage change
succeeds. For example, the following XML listing shows a transition with all four macros defined, followed
by the definition of each macro. This is a dummy example that is used for illustration purposes, only.
<transition source="Draft" destination="Release"
promoteActionMacro="promoteToReleaseAction"
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
233
In the listing, the promoteToReleaseValidation macro verifies that the object associated with
the lifecycle has a child named test-child and the demoteToDraftValidation macro verifies
that such a child does not exist. The promoteToReleaseAction adds a folder named auto-created-folder to the object and the demoteToDraftAction removes this folder.
A transition definition may also contain any number of promoteSignoff or demoteSignoff child
elements. These elements are used to specify any number of signoff processes that can be associated
with promotion or demotion. Multiple signoff elements can be defined to model a multi-level signoff
process. For example if you specify two promoteSignoff elements, it means that the promotion
process will involve a two-level signoff. The first level signoff will need to be completed before the
second level signoff can begin.
A signoff element definition consists of the following required attributes:
level: specifies the name of signoff level. There are no character restrictions for the level definition.
members: specifies the names of users and groups involved in the signoff at this level. If you specify
more than one user or group, you will need to separate their names by a comma. For example: group1, group-2. In some cases, you may want to use the same lifecycle definition for various teams. In
this case, say the stages and transitions are the same and the only difference is the members that
are involved in the signoff process. For these situations, you can define a macro for determining the
member names. This macro could use some logic, based on object type or path, for example, to determine the list of members to be used in a given context.
If you want to make use of this feature, you must do the following:
Define the macro in the script tag as described above. The macro should take two arguments:
the object associated with the lifecycle and the name of the next stage. It should return either
an array or a list of strings. Each item in the list or array should correspond to a user or group
name. If it returns null or an empty list or array, then the signoff process will advance to the
next signoff level if it exists. If no more levels exist, the signoff process will be completed and
the request will be approved. The following XML listing shows a sample macro definition of
this type. In the example, the list of approvers will be user1 if the object associated with the
234
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
Define the members to be $ followed by the macro name as shown in the following listing:
<promoteSignoff members="$releaseLevel1" level="1""/>
The example in Figure 5: Transition Example 2 (p. 235) shows another transition from In-Work stage
to Release stage. It has a two-level promote signoff. The first level involves Combustion Group
Lead and Turbine Group Lead and the second level involves VP Engineering. Because the
inclusive attribute is not specified, all users in the first level will need to accept the signoff before it can
advance to the next level.
Figure 5: Transition Example 2
<transition source="In-Work" destination="Release">
<promoteSignoff level="lead" members="Combustion Group Lead, Turbine Group Lead"/>
<promoteSignoff level="vp" members="VP Engineering"/>
</transition>
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.
235
236
Release 15.0 - ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.