<commit_before>Shore-side (master) node
------------------------

- commercial version of SymmetricDS
- web console: https://10.1.0.50:24001/app (username: admin, password: <PASSWORD>)
- installed via web console wizard
- installation directory: /opt/symmetric-ds

Master node sync url:
http://10.1.0.50:24000/sync/regsvr

Vessel nodes
------------

- open source version of SymmetricDS (does not include web console)
- use docker image:
    - https://hub.docker.com/r/mtmacdonald/docker-symmetricds/ (image)
    - https://github.com/mtmacdonald/docker-symmetricds (source)
- offline Docker installation instructions: https://svn/svn/energy-management-level-2/trunk/X1%20Knowledge%20Management/Software%20Installation/offline-docker-installation.txt
- installation directory in container: /usr/local/bin/symmetric-server/
- process managed by supervisord

Connection properties
---------------------

The commercial version has a web console wizard for setting these properties. The open source version does not.

Properties file: engines/ayame.properties (the filename should match the engine name)

# arbitrary, unique name, used for HTTP access
engine.name=ayame
# nodes are configured in groups (get this from master node web console)
group.id=vessel
# id for the node (e.g. IMO number)
external.id=6666666
# the url where the node can be contacted for synchronization - http://{hostname}:{port}/{webcontext}/sync/{engine.name} *
sync.url= sync.url=http\://10.0.2.15\:31415/sync/ayame
# the url to the master node where the node can connect to register and receive its configuration, same as the master node's sync url (leave this blank on the master node)
registration.url=http\://10.1.0.50\:24000/sync/regsvr
# database driver
db.driver=com.mysql.jdbc.Driver
# database connection url
db.url=jdbc\:mysql\://172.17.0.2/databasename?tinyInt1isBit\=false&zeroDateTimeBehavior\=convertToNull
# database username
db.user=root
# database password
db.password=

When connecting a new node, a group and bidirectional group links must be defined (can be done in the master node web console).

For data to replicate, table triggers and table routing must be defined (can be done in the master node web console). By default only tables with the _ds suffix get replicated. By default the table gets replicated to the datarepl database. The table must be created manually on the master node.

* localhost was having access denied connection problems, use I.P. address or create new user?

Configuration
-------------

Configuration happens on the master node (use the web console) and is automatically replicated to the vessel nodes (except the connection properties, see above).

Other notes:
------------

Default data ports:
HTTP Port: 31415
SSL Port: 31417<commit_msg>improved node setup instructions (includes setting of target database).<commit_after>Shore-side (master) node
------------------------

- commercial version of SymmetricDS
- web console: https://10.1.0.50:24001/app (username: admin, password: <PASSWORD>)
- installed via web console wizard
- installation directory: /opt/symmetric-ds

Master node sync url:
http://10.1.0.50:24000/sync/regsvr

Vessel nodes
------------

- open source version of SymmetricDS (does not include web console)
- use docker image:
    - https://hub.docker.com/r/mtmacdonald/docker-symmetricds/ (image)
    - https://github.com/mtmacdonald/docker-symmetricds (source)
- offline Docker installation instructions: https://svn/svn/energy-management-level-2/trunk/X1%20Knowledge%20Management/Software%20Installation/offline-docker-installation.txt
- installation directory in container: /usr/local/bin/symmetric-server/
- process managed by supervisord

Connection properties
---------------------

The commercial version has a web console wizard for setting these properties. The open source version does not.

Properties file: engines/ayame.properties (the filename should match the engine name)

# arbitrary, unique name, used for HTTP access
engine.name=ayame
# nodes are configured in groups (get this from master node web console)
group.id=vessel
# id for the node (e.g. IMO number)
external.id=6666666
# the url where the node can be contacted for synchronization - http://{hostname}:{port}/{webcontext}/sync/{engine.name} *
sync.url= sync.url=http\://10.0.2.15\:31415/sync/ayame
# the url to the master node where the node can connect to register and receive its configuration, same as the master node's sync url (leave this blank on the master node)
registration.url=http\://10.1.0.50\:24000/sync/regsvr
# database driver
db.driver=com.mysql.jdbc.Driver
# database connection url
db.url=jdbc\:mysql\://172.17.0.2/databasename?tinyInt1isBit\=false&zeroDateTimeBehavior\=convertToNull
# database username
db.user=root
# database password
db.password=

* localhost was having access denied connection problems (use I.P. address, create new user, or fix permissions?)

Configuration
-------------

Configuration happens on the master node (use the web console) and is automatically replicated to the vessel nodes.

When connecting a new node, a group and bidirectional group links must be defined (can be done in the master node web console). Routers, table triggers, and table routing must also be configured.

  Groups: a grouping of nodes that shares a common configuration
  Group links: set the push or pull rules between nodes

For data to replicate, table triggers and table routing must be defined (can be done in the master node web console). By default only tables with the _ds suffix get replicated. By default the table gets replicated to the datarepl database. These can be configured here:

  Source database: see 'source schema' under triggers
  Source table: see 'source table' under triggers
  Target database: see 'target schema' under routers

Other notes:
------------

Default data ports:
HTTP Port: 31415
SSL Port: 31417
{'fraction_non_alphanumeric': 0.10893949694085656, 'fraction_numerical': 0.026172671651937457, 'mean_word_length': 3.98728813559322, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 10, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '564756', 'n_tokens_mistral': 1715, 'n_tokens_neox': 1567, 'n_words': 651}