The software is configured by the VISWorker.properties file located in the installation config folder.


######################### Bridge Server basics ##########################


# Bridge server basics

<HOSTNAME>:<PORT>

visbridge.config.bridge.url=VSOL-BRIDGE:9092


############################# 3DEXPERIENCE Server basics ###########################


# ENOVIA server url

# http://<URL>:<PORT>/<NOCAS application>

#visbridge.config.enovia.url=http://3dspace-dev.internal.ds.visiativ.com:8070/internal

visbridge.config.enovia.url=http://local.moovapps.ds.visiativ.com:8080/internal



# ENOVIA system administrator user

# <USERNAME>

visbridge.config.enovia.login=user1


# ENOVIA system administrator user

# <PASSWORD>

visbridge.config.enovia.password=3Dexp2017x


# Temporary path used by the workers

# This is a UNC path.

# Needs full accesses on it

# A see if may be merged with visbridge.config.checkout.temp.path

visbridge.config.bridge.state.dir.config=\\\\VSOL-DEV2017X/visbridge-temp


###########################  Techcenter configuration ##############################


# MOOVAPPS TECHCENTER server url

# https://<URL/vdoc>

visbridge.config.techcenter.url = https://bridge.preprod.moovapps.com/vdoc


# TechCenter administrator user

# <USERNAME>

visbridge.config.techcenter.login = sysadmin


# TechCenter administrator user

# <PASSWORD>

visbridge.config.techcenter.password = manager


# The following configuration the time, in seconds, the worker will wait for a from Techcenter application.

# An error is returned and displayed if the connection has failed

visbridge.config.techcenter.timeout.sec = 30


# Temporary path used to checkout the files from ENOVIA

# This is a UNC path.

# Needs full accesses on it

visbridge.config.checkout.temp.path = \\\\VSOL-DEV2017X/visbridge-temp


# The following configuration: the attributes to publish to Tech Center application

# This is a comma separated EnoviaAttributeName:TechCenterAttributeName peers

# The Enovia attribute name must be the real name in the database

# The Techcenter attribute must be configured in the document type

visbridge.techcenter.attributes = Checkin Reason:checkinreason;Revision:revision



########################### ERP related configuration #############################



# Location of the root elements exported from the 3DEXPERIapplication

# This is a UNC path

# Property to rename ==> visbridge.erp.export.path

visbridge.config.checkout.erp.path = \\\\VSOL-DEV2017X/visbridge-time/erp/export


# Location of the temporary folder for the files during the export

# Relative to the erp export path

# Property to rename ==> visbridge.erp.export.files.path

visbridge.config.checkout.erp.path.files.folder = export


# Location of the root elements to import in the 3DEXPERIENCE application

# This is a UNC path

# Property to rename ==> visbridge.erp.import.path

visbridge.erp.checkreponse.path = \\\\VSOL-DEV2017X/visbridge-temp/erp/import


# Location of the elements really imported to the 3DEXPERIENCE application

# They are named "archive elements"

# This is a UNC path

# Property to rename ==> visbridge.erp.import.archive.path

visbridge.erp.checkreponse.path.pending = pending \\\\VSOL-DEV2017X/visbridge-temp/erp/import/archive


# Location of the XSL transformation file for the EXPORT process

# This is a UNC path

# Property to rename ==> visbridge.erp.export.xsl

visbridge.erp.xsl.stylesheet = \\\\VSOL-DEV2017X/visbridge-temp/erp/export/xsl/sample.xsl


# Location of the XSL transformation file for the IMPORT process

# This is a UNC path

# Property to to rename ==> visbridge.erp.import.xsl

visbridge.erp.import.xsl.stylesheet = \\\\VSOL-DEV2017X/visbridge-time/erp/import/xsl/sample.xsl



# Adding a prefix to the XML file name after XSL transformation operation

visbridge.erp.xsl.stylesheet.target.filename.prefix = TRA-




# Date format sent by the ERP in the IMPORT files for each attribute

visbridge.erp.import.date.format = MM/dd/yyy hh:mm:ss aaa


# List of relationships traveled for BOM, separated by a comma

# The direction is FROM ==&gt; TO

# <RELATIONSHIP1>,<RELATIONSHIP2>,<RELATIONSHIPX>

visbridge.erp.child.relationship = EBOM


# List of relationships traveled for CAD Specification, separated by a comma

# direction is FROM ==> TO

# <RELATIONSHIP1>,<RELATIONSHIP2>,<RELATIONSHIPX>

visbridge.erp.partspecification.relationship = Part Specification


# List of relationships traveled for Viewables, separated by a comma

# direction is FROM ==> TO

# <RELATIONSHIP1>,<RELATIONSHIP2>,<RELATIONSHIPX>

# Associated Drawing is not a viewable, separate in 2 property

visbridge.erp.viewable.relationship = Viewable,Associated Drawing,VPMRepInstance


# List of relationships traveled for reference documents, separated by a comma

# The direction is FROM ==&gt; TO

# <RELATIONSHIP1>,<RELATIONSHIP2>,<RELATIONSHIPX>

visbridge.erp.document.relationship = Reference Document


# List of relationships traveled for classification, separated by a comma

# direction is FROM ==> TO

# <RELATIONSHIP1>,<RELATIONSHIP2>,<RELATIONSHIPX>

visbridge.erp.classification.relationship = Classified Item


# Relationship name used to locate the minor object of the DOCUMENTS enovia data model

visbridge.erp.native.relationship = Latest Version


# List of relationships in which extract files

visbridge.erp.relationship.extract.files = ROOT,Part Specification,Viewable,Associated Drawing,VPMRepInstance,Reference Document


# List of relationships in which extract attributes

visbridge.erp.relationship.extract.attributes = ROOT,Part Specification,Part Specification,Viewable,Associated Drawing,VPMRepInstance,Reference Document


# The following configuration the time, in seconds, the worker will delay the export if the enovia businessobjets are locked by another process in the database.

# This configuration is related to visbridge.erp.export.timer.attempt.number property.

# visbridge.erp.export.timer.sleep.sec * visbridge.erp.export.timer.attempt.number = maximum time for an export to be a success

# 10 * 180 = 30 minutes

# The default value for this is 10 seconds.

visbridge.erp.export.timer.sleep.sec = 10


# The following configuration specifies the number of retry the worker will try to export the enovia businessobjets if they are locked by another process in the database.

# This configuration is related to visbridge.erp.export.timer.sleep.sec property.

# visbridge.erp.export.timer.sleep.sec * visbridge.erp.export.timer.attempt.number = maximum time for an export to be a success

# 10 * 180 = 30 minutes

# The default value for this is 180.

visbridge.erp.export.timer.attempt.number = 180



Important Paths:

R:\developpement\kafka\moovapps2kafka

C:\HashiCorp\Vagrant\bin

R:\temp\logs

C:\Users\<user>\VirtualBox VMs\moovapps2kafka


./kafka-topics.sh —delete —zookeeper localhost:2181 —topic test3DEXPERIENCEevent

 ./kafka-topics.sh —list —zookeeper localhost:2181

 ./kafka-topics.sh —create —zookeeper localhost:2181 —replication-factor 1 —partitions 1 —topic event

 ./kafka-console-consumer.sh —bootstrap-server localhost:9092 —topic event —from-beginning

vagrant@moovapps2kafka:/opt/kafka/bin$ ./kafka-console-producer.sh —broker-list localhost:9092 —topic event

kafka-topics.bat —describe —zookeeper localhost:2181 —topic event


Creating JSON format Messages