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 here. 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 here.

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

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 first configuration entry must use number 1, and each additional entry must be numbered sequentially (MongoDB.Server.Configuration.1, MongoDB.Server.Configuration.2, MongoDB.Server.Configuration.3, etc.). 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 
  1. 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
  1. 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 Select Delivery Method, choose Mongo Delivery.

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

  1. 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.
  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 flipper. For more information, refer to the OIEP - Event-Based - Event Queue Configuration Flipper topic here.
  2. In the Event Queue Configuration flipper, the Queue Status parameter is set to Read Events.
  3. In the Output Templates flipper, the Object-Eventtype column includes 'Delete' as an event type. For more information, refer to the OIEP - Event-Based - Output Templates Flipper topic here.
  4. Also in the Output Templates flipper:

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 here.

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.

When the Cluster Enabled Configuration radio button is selected, the Server(s) dropdown displays entries for the dynamic MongoDB.Server.Configuration.[n] property.

When the Legacy Configuration radio button is selected, the Server and Port dropdowns display 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