The PLMPolicyChooser File

The PLMPolicyChooser file lets you define store usage.

The XML file used to define the stores for a collaborative space depends on the option you configured:

  • Baseline behavior: PLMPolicyChooser@team.xml
  • Customer-specific environment: PLMPolicyChooser@vpm.xml
  • No specified solution: PLMPolicyChooser.xml

Use the required XML file for the collaborative spaces that you are defining stores for.

Stores referenced in the file must exist before creating content or that content cannot be created.

This topic describes:

This page discusses:

Defining Store Usage

The <stores> element includes all of the cases that determine which store should be used for content files.

<stores>
     <case>
          <condition>...</condition>
          <store name="STORENAME"/>
     </case>
     .
     .
     .
     <default>
          <store name="DEFAULTSTORENAME"/>
     </default>
</stores>

The definition of the <condition> is comprised of these components:

Condition Component Possible Values Description
<VARIABLE> $project Defines a collaborative space.
$org Defines an organization (company, business unit, or department).
$type Defines an object type.
<OPERATOR> = If the creation context equals the value, the policy defined by this case is used.
!= If the creation context does NOT equal the value, the policy defined by this case is used.
IN The value is a comma-separated list enclosed within braces of either collaborative spaces or organizations, and the creation context must match at least one of those values. An example value looks like:
{"Company Host","Business Unit 1","Business Unit2"}
<VALUE> The name of a collaborative space (when using $project) or organization (when using $org) The collaborative space or organization must exist. The value must be enclosed in quotes, for example "CollaborativeSpace Engineering", or as shown above with the IN operator.

When you specify a type, you can define a condition for attributes of that type. For example:

<condition>$type = “PLMRepresentationDS” and V_RepKind = “ABC”</condition> 

Unlike entities, the app does not search for a content type's parent type if it does not find a matching <case> element for a type. You can define cases for all content types using the $type variable.

Complex Condition Expressions

You can build complex values by including and or or, parentheses, and multiple variables in the value as logical operators. For example:

$project in {"CollabSpace1","CollabSpace2"} and $org = "Design"

This condition indicates that if the creation context is either CollabSpace1 or CollabSpace2 AND the organization is Design, then use the specified policy.

When using complex expressions, you can also use parentheses to avoid confusion when using combinations of operators. For example, these two condition expressions are the same, but the second one is easier to understand:

$project = "CollabSpace1" or $project = "CollabSpace2" and $org = "Design"
($project = "CollabSpace1" or $project = "CollabSpace2") and $org = "Design"