OIEP for VCS Integration

This section describes how to configure an outbound integration endpoint (OIEP) to be used for publishing the system configuration to a remote Git repository.

Note: To compare the configurations from multiple systems, the endpoint configurations should be identical except for the Git branch 'Git Delivery' plugin information.

  1. From System Setup, select a setup group configured to hold OIEPs, right-click and select Create Outbound Integration Endpoint to launch the Outbound Integration Endpoint Wizard.

  2. In the 'Identify Endpoint' step:

    • For Endpoint ID, Endpoint Name, and Description, enter basic information.

    • For User, select a system user who has view privileges to the configuration objects to be exported.

  3. In the 'Choose Data Source' step,

    • For Choose Data Source, select the 'Select Objects' option.

      Note: All configurations and settings to be held in Git must be published each time the OIEP is invoked. Refer to the 'Git Delivery' Plugin in OIEP heading within the Integration Endpoint Plugins for VCS Integration topic here.

    • Click the Add Objects link and select the relevant root nodes for the types of data objects to be published.

      Note: Even if no product, entity or classification objects are to be published, a 'dummy' selection must be made, namely the root nodes.

  4. In the 'Configure Endpoint' step:

    • For Processing Engine, select 'STEP Exporter'.

      For information on Transactional settings parameter, refer to the Integration Endpoint Transactional Settings topic (here) and for the Number of threads parameter, refer to the Event-Based OIEP Multithreading Support topic (here), both in the Data Exchange documentation.

    • For Workspace, most configuration objects are not workspace revised. If data objects like products, entities, and classifications are to be published, in most cases, it is the approved version of these objects that should be exported, select the 'Approved' workspace.

    • For Contexts, if configuration data that is dimension dependent is to be published, select all relevant contexts.

  1. Click the Finish button to close the wizard.

  2. On the 'Configuration' tab of the newly created endpoint, within the Configuration flipper, configure additional parameter settings as desired. For more information, refer to the OIEP - Configuration Flipper topic in the Data Exchange documentation here.

  1. In the 'Output Templates' flipper, add a single configuration and select the object types of the nodes selected for publishing, including configurations with 'dummy' (root node) selections.

    Note: The Git delivery plugin only works with a single output template.

  2. For 'Format', the Version Control System (VCS) integration plugins will work with either the 'STEPXML' or the 'Advanced STEPXML' format plugins. However, if data objects are to be published and the exported objects are to be filtered according to their object types, the 'Advanced STEPXML' option must be selected.

    If 'STEPXML' is selected, select 'Yes' or 'All' for the configuration types to export, 'Minimum' for products, entities, and classifications, if these are to be exported and 'No' / 'None' for all types that should not be published.

    Further, to make obfuscated configurations (such as business rules) comparable outside STEP, select 'Yes' to export 'Definitions As Comments'.

    If the 'Advanced STEPXML' option is selected, enter the appropriate template and make sure to set the STEP-ProductInformattion 'DefinitionsAsComments' attribute to 'true'.

    Full example configuration with product object type filtering is shown below:

    <?xml version='1.0'?>
    <STEP-ProductInformation DefinitionsAsComments='true'>
      <TagGroupList/>
      <TagList/>
      <Qualifiers/>
      <GlobalSettings/>
      <UserTypes ExportSize='All'/>
      <Keys/>
      <DerivedEventTypes/>
      <EdgeTypes/>
      <CrossReferenceTypes ExportSize='All'/>
      <DimensionList/>
      <ContextList/>
      <UnitList ExportSize='All'/>
      <CollectionList ExportSize='All'/>
      <ListOfValuesGroupList/>
      <ListsOfValues ExportSize='All'/>
      <IntegrationEndpoints/>
      <EventProcessors/>
      <SetupGroups/>
      <SetupEntities/>
      <AttributeGroupList ExportSize='All'/>
      <AttributeList ExportSize='All'/>
      <DataContainerTypes ExportSize='All'/>
      <ActionSetList/>
      <UserGroupList/>
      <UserList/>
      <SystemSetup ExportSize='All'/>
      <TableColors ExportSize='All'/>
      <TableRules ExportSize='All'/>
      <TableTypeGroupList ExportSize='All'/>
      <TableTypeDefinitions ExportSize='All'/>
      <ECatalogs/>
      <EventQueues/>
      <STEPWorkflows ExportSize='All'/>
      <BusinessLibraries ExportSize='All'/>
      <BusinessRules ExportSize='All'/>
      <MatchCodes/>
      <MatchingAlgorithms/>
      <PortalConfigurations ExportSize='All'/>
      <AttributeTransformationGroups/>
      <ImportConfigurations ExportSize='All'/>
      <ExportConfigurations ExportSize='All'/>
      <BulkUpdateConfigurations ExportSize='All'/>
      <TransformationLookupTableConfigurations ExportSize='All'/>
      <ComponentModels/>
      <Products ExportSize='Minimum'>
        <FilterUserType ID='Level1'/>
        <FilterUserType ID='Level2'/>
        <FilterUserType ID='Level3'/>
        <Product/>
      </Products>
      <Classifications ExportSize='Minimum'/>
    </STEP-ProductInformation>
    
  3. Configure the 'STEPXML Splitter' post-processor. For more information, refer to the 'STEPXML Splitter' Post-processor Plugin for OIEP heading in the Integration Endpoint Plugins for VCS Integration topic here.

  4. Configure the 'Git Delivery' delivery plugin. Refer to the 'Git Delivery' Plugin for OIEP heading in the Integration Endpoint Plugins for VCS Integration topic here.