Skip to content

Commit 018f16a

Browse files
authored
3.11.0 (Vienna Jaguarundi) - March 2020 (#125)
* feat: datalake only * chore: prepare for release * 3.11.0 * chore: fixed the year
1 parent 357fb18 commit 018f16a

File tree

8 files changed

+235
-92
lines changed

8 files changed

+235
-92
lines changed

CHANGELOG.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
# Changelog
22

3-
## 3.11.0 (Vienna Jaguarundi) - March 2020
3+
## 3.11.0 (Vienna Jaguarundi) - March 2021
44

55
## New Features 3.11.0
66

7+
- **Important** Bugfix for Unitless Mapping (see below)
8+
- Implemented Support for EU2 Data Lake
9+
- New setting: **Data Lake Only** - the node will not try to retrieve configuration if it only used for data lake
10+
- New setting: **Emit control message** - the node will emit a message which can be used to control the data ingest
11+
- New setting: **Hide request statatus information** - reduces the node verbosity
712
- New example flows on [https://playgound.mindconnect.rocks](https://playgound.mindconnect.rocks) - queing the messages, handling ingest pressure
8-
- Node now emits control messages which can be used to control the behavior of your data ingestion flow
9-
- New switch to reduce the node verbosity
13+
- Documented how to manage the node configuration from the flow on playground.
1014
- Bumped all dependencies
1115
- Restructured files for better readability
1216
- Upgraded json schema definitions for ajv v7 reqirements
1317

18+
## Bugfix 3.11.0
19+
20+
- **Important** - There is now a new type of mapping in MindSphere (unitless mapping) which versions before 3.11.0 are not aware of and which was causing the node to create mappings with the *"null"* unit. (that is "null" as a string). This is fixed in version 3.11.0. It is **strongly recommended** to upgrade to 3.11.0 if you are using automatic mapping feature.
21+
1422
## 3.10.0 (Vienna European Shorthair) - November 2020
1523

1624
## New Features 3.10.0

package-lock.json

Lines changed: 179 additions & 78 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mindconnect/node-red-contrib-mindconnect",
3-
"version": "3.11.0-2",
3+
"version": "3.11.0",
44
"description": "node red mindconnect node using mindconnect-nodejs library.",
55
"main": "index.js",
66
"scripts": {
@@ -57,7 +57,7 @@
5757
}
5858
},
5959
"dependencies": {
60-
"@mindconnect/mindconnect-nodejs": "^3.11.0",
60+
"@mindconnect/mindconnect-nodejs": "^3.11.2",
6161
"ajv": "^7.2.1",
6262
"ajv-formats": "^1.5.1",
6363
"debug": "^4.3.1",

src/mindconnect-schema.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,13 @@ export const remoteConfigurationSchema = {
363363
default: false,
364364
examples: [true],
365365
},
366+
datalakeonly: {
367+
$id: "#/properties/datalakeonly",
368+
type: "boolean",
369+
title: "The datalakeonly Schema",
370+
default: false,
371+
examples: [true],
372+
},
366373
supressverbosity: {
367374
$id: "#/properties/supressverbosity",
368375
type: "boolean",

src/mindconnect-utils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export const copyConfiguration = (node: IConfigurationInfo, config: IConfigurati
3636
node.chunk = config.chunk;
3737
node.disablekeepalive = config.disablekeepalive;
3838
node.emitcontrol = config.emitcontrol;
39+
node.datalakeonly = config.datalakeonly;
3940
node.supressverbosity = config.supressverbosity;
4041
node.retry = config.retry;
4142
node.parallel = config.parallel;
@@ -66,6 +67,9 @@ export const configureAgent = (mcnode: IConfigurationInfo, newConfig?: IConfigur
6667
mcnode.supressverbosity = mcnode.supressverbosity || false;
6768
startlogmessage += ` verbose info: ${mcnode.supressverbosity ? "disabled" : "enabled"}`;
6869

70+
mcnode.datalakeonly = mcnode.datalakeonly || false;
71+
startlogmessage += ` data lake only: ${mcnode.datalakeonly}`;
72+
6973
mcnode.parallel = mcnode.parallel || "1";
7074
mcnode.asyncduration = mcnode.asyncduration || "10";
7175
startlogmessage += ` parallel requests: ${mcnode.parallel} async requests wait: ${mcnode.asyncduration}s`;

src/mindconnect.html

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
&nbsp;&nbsp;<a href="https://opensource.mindsphere.io/docs/node-red-contrib-mindconnect/index.html" target="_new" class="headerLink" title="Documentation">
77
<i class="fa fa-globe"></i> MindConnect Node-RED Agent
88
</a>
9-
</span> <span style="color:#aaaaaa !important">v3.11.0 (alpha)</span>
9+
</span> <span style="color:#aaaaaa !important">v3.11.0</span>
1010
</div>
1111

1212
<div class="form-row">
@@ -174,6 +174,13 @@
174174
</div>
175175

176176

177+
<div class="form-row node-text-editor-row">
178+
<label for="node-input-datalakeonly"></label>
179+
<label for="node-input-datalakeonly" style="width:70%" data-toggle="tooltip" data-placement="top" title="The node is only used to send data to data lake.">
180+
<input type="checkbox" id="node-input-datalakeonly" style="display:inline-block; width:22px; vertical-align:baseline;">Data lake only.</label>
181+
</div>
182+
183+
177184
<div class="form-tips">
178185
<i class="fa fa-info-circle"></i> <b>Tip:</b>
179186
Use Agent Configuration to automatically configure and map the agent to a selected asset or
@@ -209,6 +216,10 @@
209216
If switched on, the node will stop showing the status of every single message below the node.
210217
This setting can greatly reduce node verbosity. It is recommended to turn this on if you are ingesting a lot of data at the same time.
211218
<br/><br/>
219+
<i class="fa fa-info-circle"></i> <b>Data Lake Only:</b>
220+
If the node is marked as data lake only, it will not try to get the configuration from MindSphere. Use this
221+
if you are only sending data to the MindSphere integrated data lake.
222+
<br/><br/>
212223
</div>
213224
</script>
214225

@@ -726,6 +737,9 @@
726737
emitcontrol: {
727738
value: false,
728739
},
740+
datalakeonly: {
741+
value:false,
742+
},
729743
supressverbosity: {
730744
value: false,
731745
},

src/mindconnect.ts

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,22 @@ export = function (RED: any): void {
8282
await retryWithNodeLog(node.retry, () => agent.OnBoard(), "OnBoard", node);
8383
}
8484

85-
if (!agent.HasDataSourceConfiguration() || (msg._forceGetConfig && msg._forceGetConfig === true)) {
86-
node.status({ fill: "grey", shape: "dot", text: `getting configuration` });
87-
node.model = await retryWithNodeLog(
88-
node.retry,
89-
() => agent.GetDataSourceConfiguration(),
90-
"GetConfiguration",
91-
node
92-
);
85+
if (!node.datalakeonly) {
86+
if (
87+
!agent.HasDataSourceConfiguration() ||
88+
(msg._forceGetConfig && msg._forceGetConfig === true)
89+
) {
90+
node.status({ fill: "grey", shape: "dot", text: `getting configuration` });
91+
node.model = await retryWithNodeLog(
92+
node.retry,
93+
() => agent.GetDataSourceConfiguration(),
94+
"GetConfiguration",
95+
node
96+
);
97+
}
98+
} else {
99+
!node.supressverbosity &&
100+
node.status({ fill: "green", shape: "dot", text: `Data lake communication only` });
93101
}
94102

95103
let timestamp = msg._time ? msg._time : new Date();

test/mindconnect-utils.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ describe("MindConnect Utils", () => {
5656
parallel: "1",
5757
asyncduration: "3",
5858
emitcontrol: false,
59+
datalakeonly: false,
5960
supressverbosity: false,
6061
};
6162

0 commit comments

Comments
 (0)