Configuring Subscription Events

You can define any event within the ENOVIA products as subscribable. Users can then subscribe to that event, and when it occurs, they will receive a notification.

Refer to Working with Subscriptions to see how the user works with subscriptions. Subscribable events use the relationship hierarchy. If you define a subscribable event on a relationship, all children of that relatinship inherit the subscribable event.

Use Business Modeler and/or MQL to configure the subscriptions. The procedure involves adding an admin command object, a Notification object, and an eService Trigger Program Parameter object.

  1. Create an Admin menu to hold the event commands:

    1. Select Object > New Menu.
    2. On the Basics tab, enter a name. Use this naming convention:

      <Abbreviated Suite Name><Admin Type name><Relation name>Events

      where:


      • Abbreviated Suite Same is the abbreviation for that product:
        Application 3-Letter Abbreviation

        Application Exchange Framework

        (part of ENOVIA Business Process Services)

        AEF

        Common Components

        (part of ENOVIA Business Process Services)

        APP

        ENOVIA Designer Central

        DEC

        ENOVIA Engineering Central

        ENG

        ENOVIA ENOVIA Variant Configuration Central

        FTR

        ENOVIA Library Central

        LBC

        ENOVIA Materials Compliance Central

        MCC

        ENOVIA Program Central

        PMG

        ENOVIA Requirements Central

        RMT

        ENOVIA ENOVIA Sourcing Central

        SRC

        ENOVIA Supplier Central

        SUP

        Team Central

        (part of ENOVIA Business Process Services)

        TMC

        ENOVIA VPM Central VPLM
      • Admin Type name is the administrative object type
      • Relation name is the relationship name

      For example, VPLMPLMInstanceEvents.

  2. Define a property SubscriptionEventMenu to connect the relationship to the menu created in step 1. You can use this MQL statement:

    modify relation NAME property SubscriptionEventsMenu to Menu MENUNAME;

    where:


    • NAME is the admin type, such as PLMInstance
    • MENUNAME is the name assigned in step 1

    For example:

    modify relation PLMInstance property SubscriptionEventsMenu to Menu VPLMPLMInstanceEvents;

  3. Create a subscription event command for each required event:

    1. Select Object > New Command.
    2. Enter values on the Basics tab. When entering the name, follow these conventions:

      <Abbreviated Suite Name><Relation name><Event Name>Event

      where:


      • Abbreviated Suite Name from the table above
      • Relation Name is the name of the relationship on which the events are being defined
      • Event Name is the event that triggers the notification defined by this subscription

      For example:

      VPLMPLMInstanceModifyEvent

    3. On the Settings tab, enter value pairs for these settings:

      Setting Name Description Possible/Default Values

      Event Type

      The name of the event used as the value of the object's Event Type attribute.

      PLMInstanceModify

      History Bit

      Same as the history events returned from the transaction trigger and is used to define the command name associated with a subscription event.

      modify

      create

      Global

      When true, the event is subscribable at the relationship level. The user is notified when that event occurs on any connection using this relationship. When false, the event is subscribable for a specific relationship connection.

      Custom functionality must be developed to use global subscriptions; see Subscriptions for details.

      true

      false (default)

      *Registered Suite

      The application the column belongs to. The system looks for files related to the column in the registered directory for that application, which is specified in emxSystem.properties.

      Based on the application name, the system passes the following parameters in the href URL:

      suiteKey

      emxSuiteDirectory

      StringResourceFileId

      The value cannot contain spaces, for example, EngineeringCentral or VPMCentral. Set the value to the suite name as defined in the key eServiceSuites.DisplayedSuites in emxSystem.properties. If the suite name starts with "eServiceSuite" you can skip this prefix and assign the remaining text to the setting. For example, if the suite name in emxSystem.properties is "eServiceSuiteEngineeringCentral", you can assign the word "EngineeringCentral" as "Registered Suite".

  4. Add the subscription command to the menu object created in step 1:

    1. Locate the menu object and open it for editing.
    2. On the Items tab, add each command defined in step 3.

  5. Create the notification object. Refer to About Triggers (Automatic Business Rules) for more details.

    1. Create a notification object and name it the Event Type. The object should basics and parameters set:

      Basic/Parameter Description Example Value
      Type Object type; cannot be changed Notification
      Name The name of the notification object. Use the name of the command for the notification. VPLMPLMInstanceModifyEvent
      Revision Use the relationship name and the event type PLMInstance Modify
      Policy The policy that governs the notification type; use Business Rule. Business Rule
      Vault Where the notification object will be stored. Use eService Administration eService Administration

    2. Enter attribute values as listed in this table (attributes not listed can be left blank, or can be filled in as needed):

      Attribute Description Example Value
      Body HTML Property in the string resources file that contains the message in HTML format. emxVPMCentral.Notification.PLMInstanceModify.Body.HTML
      Body Text Property in the string resources file that contains the message in text format. emxVPMCentral.Notification.PLMInstanceModify.Body
      From Agent The Person to show in the From field of the email message. If you use &USER, the notification is sent from the context user. $<person_UserAgent>

      &USER

      Registered Suite The product's suite name. VPMCentral
      Static To List The program:function that retrieves the notification's "to" list (the list of subscribers). JPO emxSubscriptionUtil:getSubscribersList
      Subject Text Property in the string resources file that contains the text for the Subject line of the email message. emxVPMCentral.Notification. PLMInstanceModify.Subject
      URL Suffix URL parameter/values to add to the URL string in the email message. &mode=tree

      Note: Remember to create the above properties in the string resources file for the needed product.

    3. Edit the relationship type to define an action trigger. For example, if you are creating a subscription event for when PLM Instances are modified, you would configure an action trigger for the PLMInstance relationship and name the Input value RelationshipPLMInstanceModifyAction with revision RelationshipPLMInstanceModifyEvent.
    4. Create an eService Trigger Program Parameters Object with the name/revision specified above, for example RelationshipPLMInstanceModifyAction/RelationshipPLMInstanceModifyEvent. Enter values for these attributes:

      eService Method Name--relationshipNotification

      eService Program Name--emxNotificationUtil

      eService Sequence Number--101 (or any high number to ensure the notification follows any other actions defined for the event)

      eService Program Argument 1--${RELID}

      eService Program Argument 2--EventType, where the value is the Event Type defined when you created the command (for example, VPLMPLMInstanceModifyEvent)

      You do not need to define any other attributes for this object.