Mongo Delivery Method

Prior to selecting the Mongo Delivery Method, ensure your setup meets the prerequisites explained in Prerequisites for Configuring the MongoDB Adapter documentation. This delivery option is only available in OIEPs.

For more information, refer to https://docs.mongodb.com/manual/ or the MongoDB Adapter Setup Quick Guides documentation.

For more information on the Mongo Delivery Method functionality, refer to the Mongo Delivery Method Elements documentation.

In an OIEP, the delivery method is displayed on the Configuration tab of the editor in the Delivery Method section.

Prerequisites

Changes to the properties file, outlined below, are implemented when the server is restarted.

  1. If your system displays radio button options for the server selection, refer to the Legacy Configuration section below for more details.

  2. Prior to configuration, clicking the Server(s) dropdown parameter displays the required property name. Provide a selection for the dropdown parameter via the sharedconfig.properties file on the STEP application server using the case-sensitive dynamic MongoDB.Server.Configuration.[n] property, where the [n] is used for differentiation. The configuration entries must be unique (MongoDB.Server.Configuration.1, MongoDB.Server.Configuration.2, MongoDB.Server.Configuration.3, etc.). When duplicate integers exist, only the last value is displayed in the dialog. Each host is separated from the respective port using a colon (:), and additional servers are added using a comma-separated list. For example:

    MongoDB.Server.Configuration.1=host4:40004

    indicates an independent MongoDB instance. A second and third configuration could be supplied for servers being used in a cluster using the format:

    MongoDB.Server.Configuration.2=host1:10001,host2:20002,host3:30003
    MongoDB.Server.Configuration.3=host4:40004,host5:50005,host6:60006,host7:70007 
  3. The Key store location is only required if the Mongo DB requires the clients to use SSL to encrypt connections.

    The password for the key store is configured in sharedconfig.properties on the STEP application server, using the case-sensitive MongoDB.SSLKeyStorePassword property. For example:

    MongoDB.SSLKeyStorePassword = keystore_password
  4. In Trust store location, is only required if the Mongo DB requires the clients to use SSL to encrypt connections.

    The password for the key store is configured in sharedconfig.properties on the STEP application server, using the case-sensitive MongoDB.SSLTrustStorePassword property. For example:

    MongoDB.SSLTrustStorePassword = truststore_password

Configuration

For information on a parameter, hover over the parameter field to display help text.

  1. In the 'Select Delivery Method' parameter, choose Mongo Delivery.

    Note: For MongoDB 4.2 and 4.4, choose Mongo Delivery (from release 4.2) from the 'Select Delivery Method' dropdown.

  2. In Server(s) dropdown, select the desired MongoDB server configuration, either an independent MongoDB instance or a MongoDB cluster setup.

  1. In Raw DB prefix, if required, enter a prefix for all raw databases the adapter creates. The output is [prefix] + [context], resulting in a database name of MongoDBContext1 using the data in the image above, and exporting for Context1. Optional.

  2. In User name, if MongoDB is configured to use authentication, enter the MongoDB user. Optional.

  3. In Password, if MongoDB is configured to use authentication, enter the MongoDB password. Optional.

  4. Replace Dollar sign performs replacements for JSON document key names. Text entered replaces any dollar sign ($) during delivery. If blank, all dollar signs in key names are replaced automatically by the JSON converter with Unicode 'uFF04.' This allows overriding the default Unicode replacement with the specified character(s), for example, an underscore (_).

  5. Replace Dot sign performs replacements for JSON document key names. Text entered replaces any dot sign (.) during delivery. If blank, all periods in key names are replaced automatically by the JSON converter with Unicode 'uFF0E.' This allows overriding the default Unicode replacement with the specified character(s), for example, an underscore (_).

  6. Check Use SSL if MongoDB requires the client to use SSL encryption. Optional. If no further parameters are configured, it is assumed that the MongoDB uses a SSL certificate that is issued by a trusted certificate authority (like Verisign or Thawte). If this is not the case, or if more security of the connection is requested, you can configure an SSL key store and an SSL trust store.

    • In Key store location, enter a key store location, for example, file://[path]/key_store.jks. The Key store holds the STEP Mongo Adapter private key and SSL certificate in a keystore file as generated by the Java utility 'keytool' (in jks format). The password for the key store is configured as defined in the Prerequisites section.

    • In Trust store location, enter a trust store location, for example, file://[path]/trust_store.jks. The trust store holds the Mongo DB public key and certificate in a keystore file as generated by the Java utility 'keytool' (in jks format). The trust store configuration is only needed if the certificate is self-signed and not issued by a trusted certificate authority. The password for the key store is configured as defined in the Prerequisites section.

  1. In Actions, click the Add action link to enter one or more STEP business actions used to create and populate aggregated collections. These actions are run after the raw collections have been populated.

  2. On the 'Edit Delivery Configuration' dialog, click the OK button to save the delivery method.

Delivering Delete Events

The Mongo delivery method requires the following specific OIEP settings to successfully deliver delete events:

  1. The OIEP is event-based, verified by viewing that the Configuration tab includes the Event Queue Configuration section. For more information, refer to the OIEP - Event-Based - Event Queue Configuration Section topic.

  2. In the Event Queue Configuration section, the Queue Status parameter is set to Read Events.

  3. In the Output Templates section, the Object-Eventtype column includes 'Delete' as an event type. For more information, refer to the OIEP - Event-Based - Output Templates Section topic.

  4. Also in the Output Templates section:

    • The Format column displays 'Advanced STEPXML'.

    • The Template includes the appropriate <DeleteProducts/> tags.

      Advanced STEPXML is the only format that allows delete events to be included in the XML. For more information, refer to the 'Event-Based OIEP Triggered by Deleting Products, Classifications, and Assets' section of the Delete Objects in STEPXML topic.

Legacy Configuration

When the sharedconfig.properties file includes the MongoDB.Server property and the MongoDB.Port property, the dialog displays both a cluster option and a legacy option. Typically, this happens when a STEP system had a MongoDB host / port configured prior to the update that introduced the clustered configuration functionality.

Note: Upgrading the sharedconfig.properties file to modify all configurations using the legacy properties to the cluster enabled property, and then removing the legacy properties completely, results in the radio button options being removed from the dialog, as shown in the image at the top of this topic. Additionally, the cluster option and the legacy option are not included in the Mongo Delivery (from release 4.2) delivery method.

Click the Cluster Enabled Configuration radio button to display the Server(s) dropdown entries for the dynamic MongoDB.Server.Configuration.[n] property.

Click the Legacy Configuration radio button to display the Server and Port dropdowns entries for the MongoDB.Server and MongoDB.Port properties.

Multiple independent servers or ports can be listed using the following format: 

MongoDB.Server=1=vps124887.vps.ovh.ca,2=cde,3=rty
MongoDB.Port=1=30001,2=30002,3=30003