Refactoring Network into LAN Network, Network Node into LAN Network Node

This commit is contained in:
Luis Fernando Molina committed 2021-09-20 12:30:11 +02:00
1 parent a520501258
commit 751cd0acfb
69 files changed
+1834 -1819

No files matched your search

+13 -13
View File
@@ -1,5 +1,5 @@
function newEventsServerClient(networkNode) {
function newEventsServerClient(lanNetworkNode) {
/* Web Sockets Connection */
const MODULE_NAME = 'System Event Handler'
@@ -192,19 +192,19 @@ function newEventsServerClient(networkNode) {
if (thisObject.isConnected() !== true) {
if (lastTryToReconnectDatetime !== undefined) {
if (networkNode !== undefined) {
if (networkNode.payload !== undefined) {
if (networkNode.payload.uiObject !== undefined) {
networkNode.payload.uiObject.setErrorMessage('Failed to Connect to Superalgos Platform Client via WebSockets. Retrying in 1 minute. Check at this node config if the host property has the IP address of the computer running Superalgos Platform Client.')
if (lanNetworkNode !== undefined) {
if (lanNetworkNode.payload !== undefined) {
if (lanNetworkNode.payload.uiObject !== undefined) {
lanNetworkNode.payload.uiObject.setErrorMessage('Failed to Connect to Superalgos Platform Client via WebSockets. Retrying in 1 minute. Check at this node config if the host property has the IP address of the computer running Superalgos Platform Client.')
}
}
}
}
} else {
if (networkNode !== undefined) {
if (networkNode.payload !== undefined) {
if (networkNode.payload.uiObject !== undefined) {
networkNode.payload.uiObject.setStatus('Connected to Superalgos Platform Client via WebSockets.')
if (lanNetworkNode !== undefined) {
if (lanNetworkNode.payload !== undefined) {
if (lanNetworkNode.payload.uiObject !== undefined) {
lanNetworkNode.payload.uiObject.setStatus('Connected to Superalgos Platform Client via WebSockets.')
retryCommandsPhysics()
}
}
@@ -220,14 +220,14 @@ function newEventsServerClient(networkNode) {
let port
/* At this point the node does not have the payload property yet, that is why we have to do this manually */
try {
let config = JSON.parse(networkNode.config)
let config = JSON.parse(lanNetworkNode.config)
host = config.host
port = config.webSocketsPort
/* Check if we really have to stablish the connection. */
if (config.autoConnect === false) { return }
} catch (err) {
networkNode.payload.uiObject.setErrorMessage(
lanNetworkNode.payload.uiObject.setErrorMessage(
'Bad configuration. Invalid JSON Format.',
undefined,
{
@@ -241,7 +241,7 @@ function newEventsServerClient(networkNode) {
}
if (host === undefined) {
networkNode.payload.uiObject.setErrorMessage(
lanNetworkNode.payload.uiObject.setErrorMessage(
'Bad configuration. Host Property Not Found.',
undefined,
{
@@ -255,7 +255,7 @@ function newEventsServerClient(networkNode) {
}
if (port === undefined) {
networkNode.payload.uiObject.setErrorMessage(
lanNetworkNode.payload.uiObject.setErrorMessage(
'Bad configuration. WebSocketsPort Property Not Found.',
undefined,
{
@@ -21,7 +21,7 @@
}
],
"referencingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"editors": {
"config": true
@@ -42,8 +42,8 @@ function newEthereumUtilitiesRouteToClient() {
return
}
let networkNodeConfig = JSON.parse(networkClient.payload.referenceParent.config)
let url = 'http://' + networkNodeConfig.host + ':' + networkNodeConfig.webPort + '/' + 'WEB3'
let lanNetworkNodeConfig = JSON.parse(networkClient.payload.referenceParent.config)
let url = 'http://' + lanNetworkNodeConfig.host + ':' + lanNetworkNodeConfig.webPort + '/' + 'WEB3'
return {
params: params,
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{\n \"host\": \"localhost\",\n \"webPort\": \"34248\",\n \"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
File diff suppressed because it is too large. Load diff
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
File diff suppressed because it is too large. Load diff
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -140433,8 +140433,8 @@
"status": "Done"
},
"referenceParent": {
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"id": "3c165071-7558-4708-9999-8ffe71d346b1"
}
}
@@ -141009,8 +141009,8 @@
"status": "Done"
},
"referenceParent": {
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"id": "3c165071-7558-4708-9999-8ffe71d346b1"
}
}
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -7994,7 +7994,7 @@
"status": "Done"
},
"referenceParent": {
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"id": "e452cf65-2b2b-44f2-9e67-bdd9d3c008e4"
}
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -38,7 +38,7 @@
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "dataStorage",
"childrenNodesProperties": [
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "dataTasks",
"childrenNodesProperties": [
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "learningTasks",
"childrenNodesProperties": [
@@ -1,5 +1,5 @@
{
"type": "Network Node",
"type": "LAN Network Node",
"menuItems": [
{
"action": "Configure",
@@ -69,7 +69,7 @@
"addLeftIcons": true,
"level": 1,
"attachingRules": {
"compatibleTypes": "->Network->"
"compatibleTypes": "->LAN Network->"
},
"childrenNodesProperties": [
{
@@ -103,5 +103,5 @@
"autoAdd": true
}
],
"propertyNameAtParent": "networkNodes"
"propertyNameAtParent": "lanNetworkNodes"
}
@@ -1,10 +1,10 @@
{
"type": "Network",
"type": "LAN Network",
"menuItems": [
{
"action": "Add UI Object",
"label": "Add Network Node",
"relatedUiObject": "Network Node",
"relatedUiObject": "LAN Network Node",
"actionFunction": "payload.executeAction"
},
{
@@ -22,9 +22,9 @@
"level": 0,
"childrenNodesProperties": [
{
"name": "networkNodes",
"name": "lanNetworkNodes",
"type": "array",
"childType": "Network Node"
"childType": "LAN Network Node"
}
]
}
@@ -4,7 +4,7 @@
{
"action": "Add UI Object",
"label": "Add Network",
"relatedUiObject": "Network",
"relatedUiObject": "LAN Network",
"actionFunction": "payload.executeAction"
},
{
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 0,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "productionTradingTasks",
"childrenNodesProperties": [
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 0,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "testingTradingTasks",
"childrenNodesProperties": [
@@ -17,7 +17,7 @@
},
{
"style": "Chapter",
"text": "III->Foundations->Topic->Network->The Network hierarchy organizes the infrastructure to run bots and store data. It is the hierarchy you will use the most to operate the system.",
"text": "III->Foundations->Topic->LAN Network->The Network hierarchy organizes the infrastructure to run bots and store data. It is the hierarchy you will use the most to operate the system.",
"updated": 1610309740906
},
{
@@ -1,5 +1,5 @@
{
"type": "Network Node",
"type": "LAN Network Node",
"definition": {
"text": "A network node represents a machine running Superalgos, on which processes run and data is stored.",
"translations": [
@@ -1,5 +1,5 @@
{
"type": "Network",
"type": "LAN Network",
"definition": {
"text": "The network hierarchy provides the control functions for running data-mining and trading operations. Because operations may be run either on a single machine or distributed over a network of machines, it also contains definitions regarding the physical location in which nodes live or function.",
"translations": [
@@ -62,7 +62,7 @@
},
{
"style": "Javascript",
"text": "dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')",
"text": "dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')",
"updated": 1614943544233
},
{
@@ -70,17 +70,17 @@
},
{
"style": "Title",
"text": "Network",
"text": "LAN Network",
"updated": 1609945037649
},
{
"style": "Include",
"text": "Foundations->Node->Network->Definition",
"text": "Foundations->Node->LAN Network->Definition",
"updated": 1609945860234
},
{
"style": "Include",
"text": "Foundations->Node->Network->Content",
"text": "Foundations->Node->LAN Network->Content",
"updated": 1609945864347
},
{
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "1",
"type": "Network Hierarchy",
"definition": {
@@ -9,12 +9,12 @@
"paragraphs": [
{
"style": "Include",
"text": "Foundations->Node->Network->Definition",
"text": "Foundations->Node->LAN Network->Definition",
"updated": 1610043677920
},
{
"style": "Include",
"text": "Foundations->Node->Network->Content",
"text": "Foundations->Node->LAN Network->Content",
"updated": 1610043683253
},
{
@@ -24,21 +24,21 @@
},
{
"style": "Hierarchy",
"text": "Foundations->Network->3",
"text": "Foundations->LAN Network->3",
"updated": 1610049486480
},
{
"style": "Title",
"text": "Network Node"
"text": "LAN Network Node"
},
{
"style": "Include",
"text": "Foundations->Node->Network Node->Definition",
"text": "Foundations->Node->LAN Network Node->Definition",
"updated": 1610043762523
},
{
"style": "Include",
"text": "Foundations->Node->Network Node->Content",
"text": "Foundations->Node->LAN Network Node->Content",
"updated": 1610043768852
},
{
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "2",
"type": "Organization of Tasks",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "3",
"type": "Data Tasks Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "4",
"type": "Indicator and Sensor Bot Instances",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "5",
"type": "Testing Trading Tasks Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "6",
"type": "Production Trading Tasks Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "7",
"type": "Trading Bot Instance and Trading Sessions",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "8",
"type": "Trading Session References",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "9",
"type": "Trading Session Parameters",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "10",
"type": "Data Storage Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "11",
"type": "Data Mines Data Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "12",
"type": "Trading Mines Data Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "13",
"type": "Data and Trading Mine Products",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "14",
"type": "How to Safely Close Superalgos",
"definition": {
@@ -18,7 +18,7 @@
},
{
"style": "Title",
"text": "Network",
"text": "LAN Network",
"updated": 1614353250354
},
{
@@ -8,7 +8,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
let thisObject = {
node: undefined,
networkNode: undefined,
lanNetworkNode: undefined,
exchange: undefined,
market: undefined,
product: undefined,
@@ -85,12 +85,12 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
thisObject.product = productDefinition.config.singularVariableName
/*
We will find the networkNode that leads to this Product Definition
We will find the lanNetworkNode that leads to this Product Definition
and is related to this exchange and market.
*/
let networkNode = fincNetworkNode(network, productDefinition, thisObject.exchange, thisObject.market)
let lanNetworkNode = fincNetworkNode(network, productDefinition, thisObject.exchange, thisObject.market)
if (networkNode === undefined) {
if (lanNetworkNode === undefined) {
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> Network Node not found.")
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> Initialization Failed because we could not find where the data of this dataset is located within the network. Check the logs for more info.");
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> Could not find where " + productDefinition.name + " for " + thisObject.exchange + " " + thisObject.market + " is stored within the network.");
@@ -99,9 +99,9 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
}
/* We found where the data is located on the network. */
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving data from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving data from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort);
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort);
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE, true);
} catch (err) {
@@ -113,7 +113,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
function finalize() {
fileStorage = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
thisObject.exchange = undefined
thisObject.market = undefined
bot = undefined
@@ -206,7 +206,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
*/
let found = false
let networkNode
let lanNetworkNode
let splittedMarket = market.split('-')
let baseAsset = splittedMarket[0]
let quotedAsset = splittedMarket[1]
@@ -214,7 +214,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
scanNodeMesh(network)
if (found === true) {
return networkNode
return lanNetworkNode
} else {
return
}
@@ -235,12 +235,12 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
return
}
if (startingNode.type === 'Network Node') {
if (startingNode.type === 'LAN Network Node') {
/*
We will store the Network Node here so that if we find the rignt path
we can know from which Netwrok Node it going through.
*/
networkNode = startingNode
lanNetworkNode = startingNode
}
if (
@@ -8,7 +8,7 @@
let thisObject = {
networkNode: undefined,
lanNetworkNode: undefined,
initialize: initialize,
finalize: finalize,
start: start,
@@ -90,11 +90,11 @@
and need to exactly the same task to exist, you should split the network in two
different networks, each one with unique tasks so as to avoid confussion.
*/
for (let i = 0; i < network.networkNodes.length; i++) {
let networkNode = network.networkNodes[i]
if (networkNode.dataTasks !== undefined) {
for (let z = 0; z < networkNode.dataTasks.projectDataTasks.length; z++) {
let projectDataTasks = networkNode.dataTasks.projectDataTasks[z]
for (let i = 0; i < network.lanNetworkNodes.length; i++) {
let lanNetworkNode = network.lanNetworkNodes[i]
if (lanNetworkNode.dataTasks !== undefined) {
for (let z = 0; z < lanNetworkNode.dataTasks.projectDataTasks.length; z++) {
let projectDataTasks = lanNetworkNode.dataTasks.projectDataTasks[z]
if (projectDataTasks.exchangeDataTasks === undefined) {continue}
for (let j = 0; j < projectDataTasks.exchangeDataTasks.length; j++) {
let exchangeTasks = projectDataTasks.exchangeDataTasks[j]
@@ -118,22 +118,22 @@
We found where the task that runs the process definition
we are waiting for is located on the network.
*/
thisObject.networkNode = networkNode
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME,
"[INFO] initialize -> Connecting to Websockets Server " + networkNode.name +
" -> host = " + networkNode.config.host +
' -> port = ' + networkNode.config.webSocketsPort + '.');
"[INFO] initialize -> Connecting to Websockets Server " + lanNetworkNode.name +
" -> host = " + lanNetworkNode.config.host +
' -> port = ' + lanNetworkNode.config.webSocketsPort + '.');
eventServerClient = TS.projects.foundations.taskModules.eventServerClient.newFoundationsTaskModulesEventServerClient(networkNode.config.host, networkNode.config.webSocketsPort)
eventServerClient = TS.projects.foundations.taskModules.eventServerClient.newFoundationsTaskModulesEventServerClient(lanNetworkNode.config.host, lanNetworkNode.config.webSocketsPort)
eventServerClient.initialize(onConnected)
function onConnected() {
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Connected to Websockets Server " + networkNode.name +
" -> host = " + networkNode.config.host +
' -> port = ' + networkNode.config.webSocketsPort + '.');
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Connected to Websockets Server " + lanNetworkNode.name +
" -> host = " + lanNetworkNode.config.host +
' -> port = ' + lanNetworkNode.config.webSocketsPort + '.');
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE);
@@ -173,7 +173,7 @@
processThisDependsOn = undefined
currentProcessKey = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
bot = undefined
thisObject = undefined
}
@@ -202,7 +202,7 @@
eventServerClient.listenToEvent(key, 'Process Execution Finished', undefined, callerId, responseCallBack, eventsCallBack)
TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting for " + thisObject.networkNode.name + "->" + processThisDependsOn.parentNode.parentNode.name + "->" + processThisDependsOn.parentNode.config.codeName + "->" + processThisDependsOn.config.codeName)
TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting for " + thisObject.lanNetworkNode.name + "->" + processThisDependsOn.parentNode.parentNode.name + "->" + processThisDependsOn.parentNode.config.codeName + "->" + processThisDependsOn.config.codeName)
function responseCallBack(message) {
if (message.result !== TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) {
@@ -12,7 +12,7 @@
const MODULE_NAME = "Status Report"
let thisObject = {
networkNode: undefined,
lanNetworkNode: undefined,
mainUtility: undefined,
file: undefined, // Here we have the JSON object representing the file content.
initialize: initialize,
@@ -106,13 +106,13 @@
let network = TS.projects.foundations.globals.taskConstants.NETWORK_NODE
let processThisDependsOn = statusDependencyNode.referenceParent.parentNode
for (let i = 0; i < network.networkNodes.length; i++) {
let networkNode = network.networkNodes[i]
for (let i = 0; i < network.lanNetworkNodes.length; i++) {
let lanNetworkNode = network.lanNetworkNodes[i]
if (checkThisDataBranch(networkNode.dataTasks) === true) { return }
if (checkThisTradingBranch(networkNode.testingTradingTasks) === true) { return }
if (checkThisTradingBranch(networkNode.productionTradingTasks) === true) { return }
if (checkThisLearningBranch(networkNode.learningTasks) === true) { return }
if (checkThisDataBranch(lanNetworkNode.dataTasks) === true) { return }
if (checkThisTradingBranch(lanNetworkNode.testingTradingTasks) === true) { return }
if (checkThisTradingBranch(lanNetworkNode.productionTradingTasks) === true) { return }
if (checkThisLearningBranch(lanNetworkNode.learningTasks) === true) { return }
function checkThisDataBranch(branch) {
if (branch === undefined) { return }
@@ -151,10 +151,10 @@
We found where the task that runs the process definition this status report depends on
and where it is located on the network.
*/
thisObject.networkNode = networkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort)
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort)
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE)
return true
}
@@ -203,10 +203,10 @@
We found where the task that runs the process definition this status report depends on
and where it is located on the network.
*/
thisObject.networkNode = networkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort)
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort)
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE)
return true
}
@@ -255,10 +255,10 @@
We found where the task that runs the process definition this status report depends on
and where it is located on the network.
*/
thisObject.networkNode = networkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort)
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort)
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE)
return true
}
@@ -294,7 +294,7 @@
function finalize() {
fileStorage = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
bot = undefined
thisObject = undefined
}
@@ -98,21 +98,21 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
let networkNode = rootNode
scanNetworkNode(networkNode)
if (rootNode.type === 'LAN Network') {
let lanNetworkNode = rootNode
scanNetworkNode(lanNetworkNode)
}
}
function scanNetworkNode(networkNode) {
if (networkNode === undefined) { return }
function scanNetworkNode(lanNetworkNode) {
if (lanNetworkNode === undefined) { return }
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Trading Session')
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Learning Session')
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Trading Session')
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Learning Session')
scanSessionArray(backtestingSessionsArray)
scanSessionArray(fordwardTestingSessionsArray)
@@ -130,19 +130,19 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
let market = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(session, 'Market Trading Tasks', undefined, true, false, true, false)
if (market.payload.referenceParent === undefined) { continue }
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenById(node, session, true) === true) {
createTimeMachine(node, session, market.payload.referenceParent, networkNode, rootNodes)
createTimeMachine(node, session, market.payload.referenceParent, lanNetworkNode, rootNodes)
}
}
}
}
}
function createTimeMachine(dashboard, session, market, networkNode, rootNodes) {
function createTimeMachine(dashboard, session, market, lanNetworkNode, rootNodes) {
let mineProducts
let timeMachine = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(dashboard, 'Time Machine')
let exchange = market.payload.parentNode.payload.parentNode
UI.projects.foundations.functionLibraries.attachDetach.referenceAttachNode(timeMachine, session)
timeMachine.name = session.name + ' ' + session.type + ' ' + networkNode.name + ' ' + exchange.name + ' ' + market.name
timeMachine.name = session.name + ' ' + session.type + ' ' + lanNetworkNode.name + ' ' + exchange.name + ' ' + market.name
timeMachine.payload.floatingObject.collapseToggle()
timeMachine.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
timeMachine.timeFrameScale.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
@@ -151,7 +151,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
/*
We will create 3 Time Line Charts for the Trading Mine Products
*/
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Trading Mine Products')
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Trading Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
@@ -210,7 +210,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
/*
We will create 3 Time Line Charts for the Learning Mine Products
*/
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Learning Mine Products')
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Learning Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
@@ -269,7 +269,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
/*
We need to create a Timeline Chart for each Data Mine Products.
*/
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Data Mine Products')
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Data Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
@@ -302,7 +302,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
function addMissingDashboards(node, rootNodes) {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.type === 'LAN Network') {
let network = rootNode
scanNetwork(network)
}
@@ -311,25 +311,25 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
function scanNetwork(network) {
if (network === undefined) { return }
for (let j = 0; j < network.networkNodes.length; j++) {
let networkNode = network.networkNodes[j]
scanNetworkNode(networkNode)
for (let j = 0; j < network.lanNetworkNodes.length; j++) {
let lanNetworkNode = network.lanNetworkNodes[j]
scanNetworkNode(lanNetworkNode)
}
function scanNetworkNode(networkNode) {
let testingTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Testing Trading Tasks', node, true)
let productionTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Production Trading Tasks', node, true)
function scanNetworkNode(lanNetworkNode) {
let testingTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Testing Trading Tasks', node, true)
let productionTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Production Trading Tasks', node, true)
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenById(node, testingTradingTasks, true) === true) {
let dashboard = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard')
UI.projects.foundations.functionLibraries.attachDetach.referenceAttachNode(dashboard, testingTradingTasks)
dashboard.name = testingTradingTasks.type + ' ' + networkNode.name
dashboard.name = testingTradingTasks.type + ' ' + lanNetworkNode.name
}
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenById(node, productionTradingTasks, true) === true) {
let dashboard = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard')
UI.projects.foundations.functionLibraries.attachDetach.referenceAttachNode(dashboard, productionTradingTasks)
dashboard.name = productionTradingTasks.type + ' ' + networkNode.name
dashboard.name = productionTradingTasks.type + ' ' + lanNetworkNode.name
}
}
}
@@ -232,7 +232,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.type === 'LAN Network') {
installInNetwork(rootNode)
}
}
@@ -248,12 +248,12 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
function installInNetwork(network) {
for (let j = 0; j < network.networkNodes.length; j++) {
let networkNode = network.networkNodes[j]
installInNetworkNode(networkNode)
for (let j = 0; j < network.lanNetworkNodes.length; j++) {
let lanNetworkNode = network.lanNetworkNodes[j]
installInNetworkNode(lanNetworkNode)
}
function installInNetworkNode(networkNode) {
function installInNetworkNode(lanNetworkNode) {
let tradingSessionsCreatedArray = []
let learningSessionsCreatedArray = []
@@ -270,9 +270,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Tasks
*/
let dataTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Tasks', node, true)
let dataTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Tasks', node, true)
if (dataTasks === undefined) {
dataTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Tasks')
dataTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Tasks')
}
/*
We will make ourserves sure that the Project Data Tasks nodes are there.
@@ -303,9 +303,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Learning Tasks
*/
let learningTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Learning Tasks', node, true)
let learningTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Learning Tasks', node, true)
if (learningTasks === undefined) {
learningTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Learning Tasks')
learningTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Learning Tasks')
}
/*
We will make ourserves sure that the Project Learning Tasks nodes are there.
@@ -339,7 +339,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
learningSessionsCreatedArray = learningSessionsCreatedArray.concat(allSessionsArray)
dashboardsArray.push({ environmentNode: learningTasks, networkNode: networkNode, sessionsArray: allSessionsArray })
dashboardsArray.push({ environmentNode: learningTasks, lanNetworkNode: lanNetworkNode, sessionsArray: allSessionsArray })
}
}
@@ -357,9 +357,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Now we install the environmnet at the current Network Node
*/
let tradingTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, environmentType, node, true)
let tradingTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, environmentType, node, true)
if (tradingTasks === undefined) {
tradingTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, environmentType)
tradingTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, environmentType)
}
/*
We will make ourserves sure that the Project Trading Tasks nodes are there.
@@ -395,7 +395,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
.concat(forwardSessionsArray)
tradingSessionsCreatedArray = tradingSessionsCreatedArray.concat(allSessionsArray)
dashboardsArray.push({ environmentNode: tradingTasks, networkNode: networkNode, sessionsArray: allSessionsArray })
dashboardsArray.push({ environmentNode: tradingTasks, lanNetworkNode: lanNetworkNode, sessionsArray: allSessionsArray })
}
}
}
@@ -404,9 +404,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Mines Data
*/
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Storage', node, true)
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true)
if (dataStorage === undefined) {
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')
}
let dataMinesData = UI.projects.foundations.utilities.branches.findInBranch(dataStorage, 'Data Mines Data', node, true)
if (dataMinesData === undefined) {
@@ -443,9 +443,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Mines Data
*/
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Storage', node, true)
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true)
if (dataStorage === undefined) {
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')
}
let learningMinesData = UI.projects.foundations.utilities.branches.findInBranch(dataStorage, 'Learning Mines Data', node, true)
if (learningMinesData === undefined) {
@@ -498,9 +498,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Mines Data
*/
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Storage', node, true)
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true)
if (dataStorage === undefined) {
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')
}
let tradingMinesData = UI.projects.foundations.utilities.branches.findInBranch(dataStorage, 'Trading Mines Data', node, true)
if (tradingMinesData === undefined) {
@@ -575,7 +575,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
*/
let arrayItem = dashboardsArray[i]
let dashboard = UI.projects.foundations.utilities.nodeChildren.findOrCreateChildWithReference(projectDashboards, 'Dashboard', arrayItem.environmentNode)
dashboard.name = arrayItem.environmentNode.type + ' ' + arrayItem.networkNode.name
dashboard.name = arrayItem.environmentNode.type + ' ' + arrayItem.lanNetworkNode.name
/*
We delete all the existing Time Machines related to the market we are currently installing.
For that, we make a new array with the existing Time Machines so that the deleting
@@ -611,7 +611,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
*/
for (let j = 0; j < arrayItem.sessionsArray.length; j++) {
let session = arrayItem.sessionsArray[j]
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.createTimeMachine(dashboard, session, node, arrayItem.networkNode, rootNodes)
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.createTimeMachine(dashboard, session, node, arrayItem.lanNetworkNode, rootNodes)
}
}
}
@@ -678,7 +678,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/* Scan Networks for the market being unistalled to delete it. */
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.type === 'LAN Network') {
uninstallInNetwork(rootNode)
}
}
@@ -104,13 +104,13 @@ function newFoundationsFunctionLibraryDataStorageFunctions() {
}
function addMissingTradingSessionReferences(node, rootNodes) {
let networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'Network Node', undefined, true, false, true, false)
if (networkNode === undefined) { return }
let lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'LAN Network Node', undefined, true, false, true, false)
if (lanNetworkNode === undefined) { return }
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Trading Session')
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Trading Session')
addMissingSession(backtestingSessionsArray)
addMissingSession(fordwardTestingSessionsArray)
@@ -131,11 +131,11 @@ function newFoundationsFunctionLibraryDataStorageFunctions() {
}
function addMissingLearningSessionReferences(node, rootNodes) {
let networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'Network Node', undefined, true, false, true, false)
if (networkNode === undefined) { return }
let lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'LAN Network Node', undefined, true, false, true, false)
if (lanNetworkNode === undefined) { return }
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Learning Session')
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Learning Session')
addMissingSession(backLearningSessionsArray)
addMissingSession(liveLearningSessionsArray)
@@ -13,13 +13,13 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* Nodes that do not belong to a network can not get ready. */
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
/* First we setup everything so as to listen to the response from the Task Server */
let eventSubscriptionIdOnStatus
@@ -47,14 +47,14 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
node.payload.uiObject.run(eventsServerClient, callBackFunction)
@@ -174,14 +174,14 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let key = node.name + '-' + node.type + '-' + node.id
eventsServerClient.raiseEvent(key, 'Stop Learning Session')
@@ -240,7 +240,7 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
return
}
result.networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'Network Node', undefined, true, false, true, false)
result.lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'LAN Network Node', undefined, true, false, true, false)
if (node.learningSystemReference === undefined) {
node.payload.uiObject.setErrorMessage('Session needs a child Learning System Reference.')
@@ -56,13 +56,13 @@ function newFoundationsFunctionLibraryTaskFunctions() {
return thisObject
function syncronizeTaskWithBackEnd(node) {
let networkNode = validations(node)
if (networkNode === undefined) {
let lanNetworkNode = validations(node)
if (lanNetworkNode === undefined) {
/* Nodes that do not belong to a network can not get ready. */
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
/* First we setup everything so as to listen to the response from the Task Manger */
let eventSubscriptionIdOnStatus
@@ -90,14 +90,14 @@ function newFoundationsFunctionLibraryTaskFunctions() {
function runTask(node, isDebugging, callBackFunction) {
let networkNode = validations(node)
if (networkNode === undefined) {
let lanNetworkNode = validations(node)
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
for (let i = 0; i < node.bot.processes.length; i++) {
let process = node.bot.processes[i]
@@ -161,7 +161,7 @@ function newFoundationsFunctionLibraryTaskFunctions() {
let taskDefinition = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, taskLightingPath)
let networkLightingPath = '->Network->Network Node->' +
let networkLightingPath = '->LAN Network->LAN Network Node->' +
'Data Storage->' +
'Data Mines Data->Trading Mines Data->Learning Mines Data->' +
'Project Data Products->Project Trading Products->Project Learning Products->' +
@@ -185,7 +185,7 @@ function newFoundationsFunctionLibraryTaskFunctions() {
'Market->' +
'Process Definition->'
let networkDefinition = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(networkNode.payload.parentNode, false, true, true, false, false, networkLightingPath)
let networkDefinition = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(lanNetworkNode.payload.parentNode, false, true, true, false, false, networkLightingPath)
/*
We will also send all the project schemas we have to the Task Server.
@@ -218,13 +218,13 @@ function newFoundationsFunctionLibraryTaskFunctions() {
}
function stopTask(node, callBackFunction) {
let networkNode = validations(node)
if (networkNode === undefined) {
let lanNetworkNode = validations(node)
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let event = {
taskId: node.id,
@@ -288,24 +288,24 @@ function newFoundationsFunctionLibraryTaskFunctions() {
return
}
let networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(taskManager, 'Network Node', undefined, true, false, true, false)
let lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(taskManager, 'LAN Network Node', undefined, true, false, true, false)
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(networkNode.payload, 'host') === undefined) {
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(lanNetworkNode.payload, 'host') === undefined) {
node.payload.uiObject.setErrorMessage('Network Node needs to have a valid Host property at its config.')
return
}
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(networkNode.payload, 'webPort') === undefined) {
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(lanNetworkNode.payload, 'webPort') === undefined) {
node.payload.uiObject.setErrorMessage('Network Node needs to have a valid webPort property at its config.')
return
}
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(networkNode.payload, 'webSocketsPort') === undefined) {
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(lanNetworkNode.payload, 'webSocketsPort') === undefined) {
node.payload.uiObject.setErrorMessage('Network Node needs to have a valid webSocketsPort property at its config.')
return
}
return networkNode
return lanNetworkNode
}
function runAllTasks(taskManager) {
@@ -13,13 +13,13 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* Nodes that do not belong to a network can not get ready. */
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
/* First we setup everything so as to listen to the response from the Task Server */
let eventSubscriptionIdOnStatus
@@ -47,14 +47,14 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let key = node.name + '-' + node.type + '-' + node.id
@@ -200,14 +200,14 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let key = node.name + '-' + node.type + '-' + node.id
eventsServerClient.raiseEvent(key, 'Stop Trading Session')
@@ -266,7 +266,7 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
return
}
result.networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'Network Node', undefined, true, false, true, false)
result.lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'LAN Network Node', undefined, true, false, true, false)
if (node.tradingSystemReference === undefined) {
node.payload.uiObject.setErrorMessage('Session needs a child Trading System Reference.')
@@ -426,6 +426,21 @@ function newFoundationsFunctionLibraryUiObjectsFromNodes() {
) {
node.project = 'Foundations'
}
/* Migration code from beta 11 to beta 12 */
if (
node.type === 'Network'
) {
node.type = "LAN Network"
if (node.lanNetworkNodes === undefined && node.networkNodes !== undefined) {
node.lanNetworkNodes = node.networkNodes
}
}
if (
node.type === 'Network Node'
) {
node.type = "LAN Network Node"
}
/*
This function can be called with a positionOffset to change the node
saved position and all of its descendants positions as well with an
@@ -171,12 +171,12 @@ function newPlottersManager() {
}
}
let host = layer.networkNode.config.host
let webPort = layer.networkNode.config.webPort
let host = layer.lanNetworkNode.config.host
let webPort = layer.lanNetworkNode.config.webPort
if (host === undefined) { host = window.location.hostname }
if (webPort === undefined) { webPort = window.location.port }
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(layer.networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(layer.lanNetworkNode.id)
storage.initialize(
mine,
@@ -143,15 +143,15 @@ function newWorkspace() {
for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
let rootNode = thisObject.workspaceNode.rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.networkNodes === undefined) { continue }
for (let j = 0; j < rootNode.networkNodes.length; j++) {
let networkNode = rootNode.networkNodes[j]
if (rootNode.type === 'LAN Network') {
if (rootNode.lanNetworkNodes === undefined) { continue }
for (let j = 0; j < rootNode.lanNetworkNodes.length; j++) {
let lanNetworkNode = rootNode.lanNetworkNodes[j]
let eventsServerClient = newEventsServerClient(networkNode)
let eventsServerClient = newEventsServerClient(lanNetworkNode)
eventsServerClient.initialize()
thisObject.eventsServerClients.set(networkNode.id, eventsServerClient)
thisObject.eventsServerClients.set(lanNetworkNode.id, eventsServerClient)
}
}
}
@@ -473,25 +473,25 @@ function newWorkspace() {
function stopAllRunningTasks() {
for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
let rootNode = thisObject.workspaceNode.rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.networkNodes !== undefined) {
for (let j = 0; j < rootNode.networkNodes.length; j++) {
let networkNode = rootNode.networkNodes[j]
if (networkNode.dataTasks !== undefined && networkNode.dataTasks.payload !== undefined) {
networkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
networkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
if (rootNode.type === 'LAN Network') {
if (rootNode.lanNetworkNodes !== undefined) {
for (let j = 0; j < rootNode.lanNetworkNodes.length; j++) {
let lanNetworkNode = rootNode.lanNetworkNodes[j]
if (lanNetworkNode.dataTasks !== undefined && lanNetworkNode.dataTasks.payload !== undefined) {
lanNetworkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
lanNetworkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
}
if (networkNode.learningTasks !== undefined && networkNode.learningTasks.payload !== undefined) {
networkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
networkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
if (lanNetworkNode.learningTasks !== undefined && lanNetworkNode.learningTasks.payload !== undefined) {
lanNetworkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
lanNetworkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
}
if (networkNode.testingTradingTasks !== undefined && networkNode.testingTradingTasks.payload !== undefined) {
networkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
networkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
if (lanNetworkNode.testingTradingTasks !== undefined && lanNetworkNode.testingTradingTasks.payload !== undefined) {
lanNetworkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
lanNetworkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
}
if (networkNode.productionTradingTasks !== undefined && networkNode.productionTradingTasks.payload !== undefined) {
networkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
networkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
if (lanNetworkNode.productionTradingTasks !== undefined && lanNetworkNode.productionTradingTasks.payload !== undefined) {
lanNetworkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
lanNetworkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
}
}
}
@@ -272,7 +272,7 @@ function newFoundationsFloatingSpace() {
payload.node.type === 'Learning System' ||
payload.node.type === 'Trading Engine' ||
payload.node.type === 'Learning Engine' ||
payload.node.type === 'Network' ||
payload.node.type === 'LAN Network' ||
payload.node.type === 'Crypto Ecosystem' ||
payload.node.type === 'Charting Space' ||
payload.node.type === 'Data Mine' ||
@@ -23,7 +23,7 @@ function newLayer() {
plotterTypeIcon: undefined,
baseAssetIcon: undefined,
quotedAssetIcon: undefined,
networkNode: undefined,
lanNetworkNode: undefined,
checkStatusAtShutDown: checkStatusAtShutDown,
physics: physics,
draw: draw,
@@ -132,7 +132,7 @@ function newLayer() {
thisObject.plotterTypeIcon = undefined
thisObject.baseAssetIcon = undefined
thisObject.quotedAssetIcon = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
thisObject.bot = undefined
thisObject.productDefinition = undefined
thisObject.mine = undefined
@@ -166,8 +166,8 @@ function newLayer() {
'Market Trading Products->Exchange Trading Products->' +
'Market Learning Products->Exchange Learning Products->' +
'Project Data Products->Project Learning Products->Project Trading Products->' +
'Data Mines Data->Trading Mines Data->Learning Mines Data->Data Storage->Network Node->' +
'Data Storage->Network Node->' +
'Data Mines Data->Trading Mines Data->Learning Mines Data->Data Storage->LAN Network Node->' +
'Data Storage->LAN Network Node->' +
'Backtesting Session->Paper Trading Session->Forward Testing Session->Live Trading Session->' +
'Back Learning Session->Live Learning Session->' +
'Trading System Reference->Trading Engine Reference->Trading System->Trading Engine->' +
@@ -285,8 +285,8 @@ function newLayer() {
return
}
thisObject.networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Network Node', undefined, false, true, true, true)
if (thisObject.networkNode === undefined) {
thisObject.lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'LAN Network Node', undefined, false, true, true, true)
if (thisObject.lanNetworkNode === undefined) {
thisObject.payload.uiObject.setErrorMessage('Network Node not Found')
return
}
@@ -26325,13 +26325,13 @@
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [],
@@ -50044,13 +50044,13 @@
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [],
@@ -13213,12 +13213,12 @@
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
"savedPayload": {
"position": {
"x": 7692.307692307692,
"y": 21250
"x": 39655.1724137931,
"y": 18250
},
"targetPosition": {
"x": 7692.307692307692,
"y": 21250
"x": 39655.1724137931,
"y": 18250
},
"floatingObject": {
"isPinned": false,
@@ -62,12 +62,12 @@
"id": "baa2f02c-2920-4edb-a103-d452fc61d82f",
"savedPayload": {
"position": {
"x": 30769.230769230762,
"y": 21250
"x": 29310.344827586196,
"y": 24250
},
"targetPosition": {
"x": 30769.230769230762,
"y": 21250
"x": 29310.344827586196,
"y": 24250
},
"floatingObject": {
"isPinned": false,
@@ -62,12 +62,12 @@
"id": "36c2b050-631f-4291-987c-418adc94317d",
"savedPayload": {
"position": {
"x": 28846.15384615384,
"y": 18250
"x": 27586.206896551714,
"y": 21250
},
"targetPosition": {
"x": 28846.15384615384,
"y": 18250
"x": 27586.206896551714,
"y": 21250
},
"floatingObject": {
"isPinned": false,
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because it is too large. Load diff
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",