Integration with external analytical tools

Hello colleagues,

I have a task to draw some analytical charts, that are showed in attached files. I red some topics in the community (i.e. https://community.terrasoft.ua/forum/topic/7488) and was consulted by support team, but it seems it is difficult to draw such types of charts by standard Terrasoft Graphs engine. More over, customer needs, that these charts would be interactive, I mean, they should have some browsing, zooming functions, it also should have pivots, etc. So it seems, that some analytical tool is needed in this case.

My question is do You have any experience of Terrasoft application integration with some external analytical tools, that able to draw difficult charts, have pivots. In some cases we used Excell, but we are looking for some other tools.

Thank You.


Нравится

14 комментариев

Hello Aurimas,
We found a solution for topic http://www.community.terrasoft.ua/forum/topic/7488
an answer will be published when client commits that our solution fully satisfy him.
Unfortunately, to date we don't have experience integration with systems like Matlab or Mathcad.

There was some Zabbix integration solution, however it depends on task and information source.

Also if you would be able to publish those graphs in the web, then you can just use Web tab to display them in Terrasoft. It is the simplest solution, not the best.

"Alimova Anna" написал:

There was some Zabbix integration solution, however it depends on task and information source.


Thank You, I will try Zabbix.
By the way, maybe someone have tried Dundas products (http://www.dundas.com)?

Aurimas, there was no integrations with Dundas yet, but I think you succeed integration it as a web-service.

It is not hard to insert it as browser object. What kind of integration do you need?

1. Do you need to display information from Dundas in Terrasoft?
2. Do you need to draw graphs in Dundas with data from Terrasoft database?
3. Do you need to import/export any information?
4. Are there any other integration options?

I contacted Dundas for the integration API, they can provide.
I tried demo, I can connect Dundas tool to Terrasoft database and setup charts. Customer can run this application as separate web application, which can work with Terrasoft database, but the functionality I would like to do, is to include Dundas web application into Terrasoft forms, probably as a web object, like You suggested, and to pass some parameters from Terrasoft parameter forms. I will try to find out, if I can pass any params to Dundas application as get parameters or in some other way.

"Яворский Алексей" написал:
We found a solution for topic http://www.community.terrasoft.ua/forum/topic/7488

an answer will be published when client commits that our solution fully satisfy him.


Thank You, Алексей, I will check the answer, You will provide in that topic.

If in any case MS Excell would be used for this task, how to show MS Excell file content in the Terrasoft application form correctly?
I tried to include Excell file into Terrasoft form using instruction from http://www.community.terrasoft.ua/developer/faq/3846
Excell should be opened inside Terrasoft form, not in new window, so I used parameter -1.

My code:
var URL = 'c:\\temp\\test.xlsx';
ActiveXControl.ActiveXObject.Navigate(URL, -1);

I received error:
"Your current security settings do not allow this file to be downloaded".

I tried to change security settings, but it did not help. Have You succeded such integration with Excell?

Dear Aurimas,

possibly the problem is because you have not defined opening program for the URL.

What value have you got in ActiveXControl.ActiveXProgID?

Could you please provide full code?

Here is an example from existing configuration:

function Navigate() {
	var URL = WWWDetail.URL;
	var URLFields = WWWDetail.URLFields;
	for (var i = 0; i < URLFields.Count; i++) {
		var DataFieldName = URLFields.Items(i);
		var Value =
			GetFieldDisplayValueFromDisabledField(WWWDetail.WorkspaceDataset,
			DataFieldName, true);
		if (IsEmptyValue(Value)) {
			Value = '';
		}
		Value = String(Value);
		var EncodedValue = encodeURIComponent(Value);
		if (WWWDetail.EncodeURIType == eutAlternateKOI8) {
			EncodedValue = Encode(Value);
		}
		URL = ReplaceString(URL, '#' + DataFieldName + '#', EncodedValue);
	}
	edtFullURL.Value = URL;
	if (!Assigned(ActiveXControl.ActiveXObject)) {
		ActiveXControl.ActiveXProgID = WWWDetail.ActiveXProgID;
		ActiveXControl.ActiveXGUID = WWWDetail.ActiveXGUID;
	}
	try {
		ActiveXControl.ActiveXObject.Navigate(URL);
	} catch(e) {
		ActiveXControl.ActiveXObject.Stop();
	}
}

ActiveXControl.ActiveXProgID has "Shell.Explorer.2" in it as this example is for Web detail. We will need Excel opened from shell.

Basically, IE won't open Excel, just offer to run application itself.

You may need to open the file with following activeX object:

var ExcelApplication = new ActiveXObject('Excel.Application');

Dear Anna,

the code for testing is simple, only 2 lines:

var URL = 'c:\\temp\\test.xlsx';
ActiveXControl.ActiveXObject.Navigate(URL, -1);

These are defined in the ActiveXControl object:

ActiveXControl.ActiveXProgID is Shell.Explorer.2
ActiveXControl.ActiveXGUID is {8856F961-340A-11D0-A96B-00C04FD705A2}

Here we go: Shell.Explorer.2 ActiveX object won't open Excel file as it is very limited version of common Intrenet Explorer.

You have to use

var ExcelApplication = new ActiveXObject('Excel.Application');

or

var ExcelSheet = CreateObject("Excel.Sheet")

object to open the file.

Do You mean to change the ActiveXControl.ActiveXProgID value Shell.Explorer.2 to Excel.Application?
Or in some other way? Maybe You have any sample?
As a result Excell file will be opened in separate window of Excell application?

We integrated TS application with external web chart tool as a web object.
I wonder if there is any way to get back any params from website to ActiveXObject, for example the current URL of the website (it can be changed when browsing).

Hello Aurimas,
If I get your idea you are using Shell.Explorer.2 as an ActiveXObject to show web object, and now the question how to get URL from Shell.Explorer.2
In case Shell.Explorer.2 you can use 'LocationURL' property. An example you can see in wnd_WebInfoDetailScript

function ActiveXControlOnClick(Control) {
	Log.Write(1, Control.ActiveXObject.LocationURL);
}

If you use other ActiveXObject you should use methods and properties that object supports.

Thank You, Алексей.

Показать все комментарии