Implementing Security on VPLM Application Commands

VPLM commands are mapped to the Command concept in ENOVIA V6, where they are respectively named, for example:

  • vplm::EXPORT
  • vplm::IMPORT

Regarding import/export, in particular, the objective is to secure/limit the access to all VPLM Export & Import capabilities. Access can be granted to:


  • the [All] person: access is then considered as public
  • a list of ENOVIA V6 persons
  • a list of ENOVIA V6 roles (in this case, an ENOVIA V6 role can represent a P&O context, project, organization or role).

The deployment of secured VPLM commands implies several phases: build time and runtime.

At build time:


  • checking import or export access everywhere needed in the VPLM application
  • defining the VPLM commands in the start-up data.

At runtime:


  • at installation : run start-up data MQL scripts
  • administration: modify VPLM command access to suit requirements.

The official commands supported by the VPLM solution are part of the startup data. By default, these commands grant access to [All]. This is means that until you customize the commands, any user can import or export data.

Two kinds of administration tools are available to customize access:


  • an interactive tool: the ENOVIA V6 Business administration console
  • a batch tool: MQL scripts.

To be able to modify the access to commands, you must have at least the Business Administrator privilege.

Using the Business Administration Console

Once connected to the console, VPLM commands can be retrieved and selected:



Access can be customized by adding or removing:


  • P&O contexts, projects, roles or organizations (all these objects are stored as roles in ENOVIA V6)
  • Persons.

Access can be customized in the Object Access tab of the Command editor. For instance, if you want to grant the role VPLMDESIGNER.MYCOMPANY.ENGINEERING after the installation:


  • remove the access given to [All]



  • then add to the command the role VPLMDESIGNER.MYCOMPANY.ENGINEERING which means that access is determined by the policy governing the role.

Using MQL Scripts

As with the Business administration console, the Export/Import command accesses can be customized using the modify command order in a MQL script.

If we take the Business administration console example, the equivalent script would be:

set context user creator;
modify command vplm::EXPORT
remove user all
add user VPLMDESIGNER.MYCOMPANY.ENGINEERING;

The keyword user used in the modify command refers to the ENOVIA V6 user. As a consequence:


  • remove user all is used to remove the person ALL (equivalent to public access)
  • add user VPMDESIGNER.MYCOMPANY.ENGINEERING is used to add access to the ENOVIA V6 role VPMDESIGNER.MYCOMPANY.ENGINEERING which finally corresponds to a P&O security context.

Access Control and Precedence

Command access is determined during the login phase according to the following logic:



Command access checking is deployed in the VPLM commands listed below.

vplm::EXPORT is deployed in the following user commands:


  • 3DLive Export (for review)
  • VPM Navigator Export (export briefcase, export for authoring)
  • Export Batch (export briefcase)
  • VPM Editor Export (igs, stp)
  • Downward Compatibility Batch.

vplm::IMPORT is deployed in the following user commands:


  • Import file (igs, stp and multicad dxf, prt, asm, …)
  • Import CATIA File (FBDI)
  • Import 3DXML (briefcase import).

From the end-user point of view, command access checking results in either a granted access, or a revoked access:


  • when command access is granted to the user, no feedback is visible from the VPLM application
  • when command access is not granted to the user, the following message is displayed:
    You are not allowed to do this operation. Contact your administrator.

When attempting to export or import, the message is displayed when the user clicks on the Export/Import button.

When running a batch, the message is displayed when the user executes the batch from Batch Monitor dialog box.

Command Access Limitation

Access may be granted to a P&O role, organization or project directly connected to a P&O context. However, access propagation along P&O role/project/organization hierarchies to the P&O context is not supported.

For example, in the following illustration:

access to a VPLM command may be granted to:


  • user1
  • the VPLMDESIGNER.MYCOMPANY.STANDARD security context
  • the VPLMDESIGNER role
  • the MYCOMPANY organization
  • the STANDARD project.

In these cases, User1 will have access to the command.

But granting access to a VPLM command to the BASIC DESIGNER role is not useful since this role is not directly connected to a context, even though it belongs to the hierarchy of the DESIGNER role.

List of Commands Which Can Be Secured

By default, the commands are not assigned to "Public" (all users) and so they will not be available until you assign them explicitly (previously, all commands were by default assigned to "Public" (all users)).

For information, here is the table of secured commands, and the roles granted:

Secured Command Roles Granted
AddSubstitute  
Administration VPLMAdmin
CoexistenceAdmin VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
ComponentFamilyWorkbench VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
Config Attach Dictionary (only available with extended Out-of-The-Box Environment on ENOVIA Version 6) VPLMDesigner,VPLMLeader,VPLMAdmin
Config Detach Dictionnary (only available with extended Out-of-The-Box Environment on ENOVIA Version 6) VPLMLeader,VPLMAdmin
DATABASEDETACH VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
DELMSDInputOutputViewCmd public
DisableChangeControl VPLMLeader,VPLMAdmin
Duplicate VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
DuplicateUsingDistantData VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
EXPORT VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
EnableChangeControl VPLMLeader,VPLMAdmin
Freeze3DPosition VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
IMPORT VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
KnowledgeAdvisorWorkbench VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
KnowledgeApplicationAuthoringWorkbench VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
KnowledgeExpertWorkbench VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
NewEvolution VPLMDesigner,VPLMLeader,VPLMAdmin
NewVersionUsingDistantData VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
PLMRuleAuthoringWorkbench VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
PLMTemplateAuthoringWorkbench VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
ProjectApplicability  
ProjectResourceManagementWorkbench VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
RepairSiteOwnership VPLMAdmin
SAVE VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
Snapshot VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
SynchronizeAndTransferToMatrix VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
SynchronizeWithMatrix VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
WorkspaceAttach VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
WorkspaceDetach VPLMReviewer,VPLMDesigner,VPLMLeader,VPLMAdmin
WorkspaceDelivery  
WorkspaceSynchronization  

Note: The application server must be restarted after modifying command accesses.