Giter VIP home page Giter VIP logo

eapowertools-archive / governedmetricsservice Goto Github PK

View Code? Open in Web Editor NEW
32.0 20.0 17.0 23.26 MB

Unsupported - Qlik Sense Governed Metrics Service - Deploy centralized metric definitions to specific apps in Qlik Sense.

Home Page: http://eapowertools.github.io/GovernedMetricsService/

License: MIT License

JavaScript 60.00% Batchfile 0.39% HTML 5.86% CSS 32.77% PowerShell 0.99%
qlik sense qliksense powertools gms governed self-service

governedmetricsservice's Introduction

Status

Project Status: Unsupported – The project has reached a stable, usable state but the author(s) have ceased all work on it. A new maintainer may be desired.

Governed Metrics Service

Latest Release == 2.0.5

Documentation

Please read the Governed Metrics Service documentation before installing the Governed Metrics Service.

Minimum Requirements:

The Governed Metrics Service uses the Qlik Sense Service Dispatcher and Nodejs to launch a REST api as a background service for updating metrics in Qlik Sense applications. Therefore, the Governed Metrics Service requires Qlik Sense Server.

The Governed Metrics Service has been tested with Qlik Sense 3.1.x and 3.2.

For now, the Governed Metrics Service requires a licensed Qlik Sense server site running version 2.2.4 or higher.

Please do not install for use with Qlik Sense desktop. The Governed Metrics Service will not work.

Before installing the Governed Metrics Service, we highly recommend going through the Qlik Sense server QMC configuration instructions in the documentation. Application, custom property, and task names will be requested during the install and it's easier on your memory if you have created them in advance. Direct Link to QMC configuration section in docs

Install

To install the Governed Metrics Service, use the installer.

Description

Qlik Sense enables self-service visualization with a balance of control and agility that gives IT confidence that the visualizations that users are empowered to create are correct. One way this is enabled is through the use of masteritems.png Master Items. A Master Item is a dimension or measure that is defined by a central IT or BI team or line of business analyst and deployed to users in conjunction with a Qlik Sense application.

This capability enables users to create visualizations with trusted dimensions and measures without having to author or understand the underlying business logic. This is an important requirement of modern self-service analytics platforms.

The Qlik Governed Metrics Service (GMS) Power Tool builds upon this capability by allowing metrics that are defined externally to Qlik Sense to be loaded and applied to one or more applications. The metrics that are loaded to each application are configurable and managed through the Qlik Management Console via custom properties.

  • Metrics defined in an external database or XLS.
  • Metrics extracted into a Metrics Library QVF application.
  • GMS Power Tool reads the Metrics Library QVF and applies metrics to one or more applications.

Promotion

The Governed Metrics Service is part of the EA Team Governed Self-Service Reference Deployment. To learn more about governed self-service and how to centrally manage master library dimensions and measures in your Qlik Sense site, visit the Governed Self-Service space on Qlik Community.

License

MIT

If you experience an issue, do not contact Qlik Support. Please open an issue here: Issues

For more information, please visit the EAPowertools space on Qlik Community.

governedmetricsservice's People

Contributors

alexbjorlig avatar dfarache avatar goldbergjeffrey avatar jparis avatar rmterenzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

governedmetricsservice's Issues

"Reload Metrics Library and Update" doesn't finish update?

I initially successfully executed "Reload Metrics Library App" and then "Update Metrics in Apps"; both completed, although the latter took fifteen or twenty minutes.

Later, I added another dimension definition to my source table, and this time I decided to use the "Reload Metrics Library and Update" button. The "reload" step successfully completed; however, after perhaps an hour, the "update" step still has not indicated completion. Did it fail to run? Did it abend? Is it still correctly executing? Is it in an infinite loop? Is there any way that I can tell? Any suggestions?

Thanks. Below is the output of the status window:

Status output:

Testing connection...
...connection test successful.

Starting metrics library reload...
...Task Completed in 4698 milliseconds with message Changing task state from Started to FinishedSuccess

Updating metrics in all the apps...
...All apps processed.

Reloading metrics library and update apps started...
...reloading app was successful, now updating the master library...

Pressing "Update metrics" in 2.0.1 breaks the connection to hub

Hi!

When entering the GMS interface at https://servername:8590/masterlib/testpage the connection to the hub is being interrupted, both apps and front-end hub.
The only thing in the interface being reported is:
Status output:
{"level":"info","msg":"Getting app list on server","meta":{"module":"routes"}}
{"level":"info","msg":"App List retrieved","meta":{"module":"routes"}}

It also breaks the exception to the non-trusted certificate in Chrome. Yes, we are using a custom external certificate - naturally a different one from the self-trusted internal one. When using the server locally it asks to confirm the security exception. Externally it uses a different DNS where the certificate is valid. Shouldn't case the issue.

hub
chrome
datamodelviewer

Calculated dimensions

I would like to be able to use calculated dimensions with GMS.

If I use:
IF("Field Name"='My value', 1, 0)
as a dimension, it comes out in the app as:
[IF("Field Name"='My value', 1, 0)]

Reload Metrics Library app not working

I just installed GMS and I am using the demo data to test it out. I followed the exact steps on the QMC configuration page. I was able to get onto the test page and test my connection to our Qlik Sense 3.1 server successfully. I then tried to reload the metrics library app and it just hangs. I then looked at the log and saw the following error:

{"module":"doWork","level":"debug","message":"reloadMetricsApp::reloadMetrics","timestamp":"2016-10-24T16:02:46.502Z"}
{"module":"reloadmetrics","level":"info","message":"reloadMetrics::Starting Task::Reload Metrics Library","timestamp":"2016-10-24T16:02:46.502Z"}
{"module":"reloadmetrics","level":"debug","message":"reloadMetrics::PATH::/task/start/synchronous?name=Reload Metrics Library","timestamp":"2016-10-24T16:02:46.502Z"}
{"module":"doWork","level":"error","message":"reloadMetricsApp::reloadMetrics::ReferenceError: reject is not defined","timestamp":"2016-10-24T16:02:46.533Z"}
{"module":"routes","level":"error","message":"POST reload failure::Error: ReferenceError: reject is not defined","timestamp":"2016-10-24T16:02:46.533Z"}

I have uploaded the log and any help would be greatly appreciated.

Thanks!

2016-10-24.gms.zip

Does GMS maintain metric identity when the name may change?

If I have a metric, the name of which needs to change, does GMS maintain the continuity of that metric from one reload to the next in some way, perhaps using the ID field?

Thus the existing metric in Qlik could have its name changed, rather than a new one getting created (which would then require searching for all uses of the old one and replacing them with the newly-created metric).

I suppose in this case, I would want to assign the ID number in the source table, rather than having Qlik generate it upon load...

Thanks.

How to avoid creating multiple tags using GMS tool

Hi,

As of now, GMS tool is creating 4 tags. I would like to delete 3 tags which are not required. As per requirement, I need to maintain only one tag.

Is there any possibility to prevent GMS tool from generating extra tags which are not required in the application?

Thanks and Regards,
Chandra

Add a chapter to the Readme with: How to Contribute

It would be awesome with a description of what it takes to contribute.
It would especially be nice to get a description of how to set up a test environement, essentially a small guide answering:

Do you develop GMS on a Qlik Sense server?
If not - how do you run it on your local machine?
What are the requirements?

This would make it a lot easier for me, and others, to help close issues with pull requests ❤️

GMS 2.0 not removing MasterItems fimported from earlier version of GMS.

Hi,
After updating to newest GMS version the earlier imported measures using GMS is not removed and overwrittin by measures from the new version.

What looks like happens is that the old measures has their tags removed. New measures are imported as copies with tags and new object ID's. This leaves the app with "incomplete visualization" in objects cause Sense cannot find the old Master Items.

I do not know what happens "behind the scenes", but this is unfortunately not good. One thing is to renew all the objects in the app. Another thing is that all reports made in NPrinting has to be redesigned.

I've noticed that the old GMS made a tag off Custom Property Name and ID from Excel Metrics. This tag has changes to only the Custom Property. Unfortunately NPrinting is using this tag as identifier for the field and when this tag changes - NPrinting cannot find the field.

Can you help me solve some of the above problems ?

If so - a remote session is fine with me så that you can see what is happing.

Thank you for your prompt answer !

Best regards,

Sune

Feature request : Include variables.

Hi - and thanks for the great work done here !
I do not know if it is technical possible to include variables i this tool. But it could be a great feature cause a lot of measures uses variables and obviously does not work if the variables are missing in the app.

Error: Updating metrics in all the app - "Tag does not exist..."

I get the following error when using the endpoint POST /update/all:

Status output:

Updating metrics in all the apps...
...POST update/all failure::Error: Tag does not exist, shutting down run.

What could be wrong?

I have a custom property called "ManagedMasterItems"?

Unable to update Metrics in the app

I have installed v2.0.3 of GMS. I followed every step as described in your documentation and I am able to do following

  1. Test Connection on the GMS page
  2. Reload the GMS App using "Reload Metrics Libarary App" Button

But I am unable to update Metrics in the app. I am using your GMS.xlsx and applying this on your Executive Dashboard.qvf. I am getting the "Error at getmetricshypercube during data retrieval" error.

Please find the log file along with GMS app @ https://drive.google.com/file/d/0By0DuMkHgFUEVlRuclV4bGhBbGs/view?usp=sharing

2017-02-22.gms.log.txt

Installation error and broken link

The link to the documentation is broken.

When I try to install the program I get a Runtime Error:

capture

I am trying to install the program on my local machine.

Approved/Published flags

Hi,
We applied the new updates and we noticed that the approved/published flags were not being set to True in the postgre db for the master items.
Content admins for example, were able to see the list of master items, but not other users.

Installed Governed Metrics Service, but it's not working (no successful test)

Installed & configured GMS as described in http://eapowertools.github.io/GovernedMetricsService/user-guide/ . Can access https://localhost:8590/masterlib/testpage without any issues and the logfiles don't indicate any issues (the Governed Metrics app can be reached), but when clicking "Test connection" nothing happens. I've tried to install GMS on another system (the CN, as now it's installed on the Scheduler server), but got same results.
Please find attached the logfiles
Appreciate some guidance on how can further troubleshoot.

Documentation - Default Task Name Incorrect

In the GMS documentation, screenshot shows the GMA default task name however it is preceded by a reference to the 1.0 default.

on step 3, "Reload task of Metrics Library" should change to "Reload Governed Metrics Application" and the screen shot should align.

Error at https://localhost:8590/masterlib/testpage when Update Metrics in App

I just installed Governed Metrics Service and I get the following errors when i press Update Metrics in App.
The Reload Metrics Library is working BTW!
GMS.xlsx

thanks in advance for your help!
Emma

Status output:
{"level":"info","msg":"POST update/all","meta":{"module":"routes"}}
{"level":"info","msg":"Checking for existence of gms tag in the qrs","meta":{"module":"doWork","method":"updateMetrics"}}
{"level":"info","msg":"Found ManagedMasterItems in list of custom properties","meta":{"module":"doWork"}}
{"level":"debug","msg":"getMetricsTable","meta":{"module":"doWork"}}
{"level":"info","msg":"running getmetricshypercube.getMetricsTable","meta":{"module":"getmetricshypercube"}}
{"level":"info","msg":"getDocId::running getdoc.getDocId","meta":{"module":"getdocid"}}
{"level":"debug","msg":"getDocId::qrsInteract::/app?filter=name eq 'Governed Metrics Application'","meta":{"module":"getdocid"}}
{"level":"debug","msg":"getDocId::qrsInteract::Governed Metrics Application id:d4a73b27-d3cc-47fe-97cb-ef6a129a8fb0","meta":{"module":"getdocid"}}
{"level":"debug","msg":"getMetricsTable::Metrics Library AppId: d4a73b27-d3cc-47fe-97cb-ef6a129a8fb0","meta":{"module":"getmetricshypercube"}}
{"level":"info","msg":"getMetricsTable::Opening the doc with data","meta":{"module":"getmetricshypercube"}}
{"level":"error","msg":"getMetricsTable::Error at getmetricshypercube during data retrieval::{"code":403,"parameter":"","message":"Forbidden"}","meta":{"module":"getmetricshypercube"}}
{"level":"error","msg":"getMetricsTable::{"code":403,"parameter":"","message":"Forbidden"}","meta":{"module":"doWork","method":"updateAll"}}
{"level":"error","msg":"POST update/all failure::{"code":403,"parameter":"","message":"Forbidden"}","meta":{"module":"routes"}}

Delete Metrics from an App does not work

When I use the GMS API endpoint /masterlib/delete/all I get a response 404 Not Found.
But when using networks monitor in dev tools on the testpage, I can see that the delete button results in a POST request to the endpoint masterlib/delete/fromapp.

So I guess the documentation should be updated. In either case it actually does not delete the Master Data Items when I test it.

Not updating apps

I've followed the QMC setup instructions, using all the default values and set up a few test metrics.
I've installed the service and am able to test the connection and reload the Metrics Library app fine.
However, when I click to Update Metrics in Apps, nothing happens in the UI other than the "Updating metrics in all the apps..." message showing.
Digging into the logs (C:\Program Files\Qlik\Sense\EAPowerTools\GovernedMetricsService\log), it's found the 2 test apps but all it says is that they're not published (which isn't actually true - one is and one isn't).

Attaching log file for info.

masterlib.log.txt

Not sure what else to try... is there something I need to do in the apps themselves other than setting the correct Custom Property? I even tried adding one of the Metrics as a master item in one of the apps to see if it would overwrite it, but nope...

Feature Request: Update Pre-existing dims and measures if titles are same in qlik app and metrics library app

I had created a few Master Items within a Qlik Sense app itself. But when I try to update those Master Items with new expressions from a Metrics Library app, the GMS creates new Master Items with the same titles. Is it possible to somehow update the Master Items by Title instead of creating new items?
As of now, I have to replace the old Master Items with the new ones in all the charts and then delete the old ones. This way when I update them the next time using GMS, they are updated correctly as GMS is able to identify the Master Items. So, when you have to start using GMS, it is a lengthy manual process when the Master library is big. Is there a way to save the developer the trouble of manually replacing the Master Items the first time?

Thank you

Update Metrics Inconsistent / Not working after ownership change

After a few days of working with this solution, I've run into a problem. It appears the mechanism that updates the metric library within the .qvf files is a bit inconsistent. So far, I've been able to repeat the steps enough times that the metrics eventually update. However, there does not appear to be a consistent set of steps that works every time. I'm also not sure if there is a processing delay that starts to happen as you scale this up. After learning of the size limitation, I now have 913 kpi formulas now in my governed excel sheet.

Initially, I was able to get the kpis to update via the "update metrics in apps" button in the GMS service on the server. After updating the metrics, I changed ownership of the app to a colleague. The colleague made charts in the app and then I took ownership back of the app. I then wanted to update the KPIs which I had updated. I performed the following steps.

  1. Go to qlik sense server and run the localhost GMS application. I click test connection, then reload metrics library, then reload metrics in apps. I get a positive response for each step (i.e. "task completed 1200 milliseconds" and "all apps processed").
  2. I then open the governed app on the my work section of the qliksense/hub. The update didn't happen so I thought I would try again. I repeated a few times and then wondered if I need to reload the app to trigger the process.
  3. I then log on to QMC and reload the governed app. However, that also didn't work.

Eventually, I was able to get the kpis to update but noticed a few issues.

Issue #1: When more than one app has the metrics library attached, I do not get a "all apps processed" updated from the GMS after pressing the "reload metrics in app" button. When I remove the library from the other apps, and just have one, then the "all apps processed" message is returned.

Issue #2: Inconsistency. Each time I'm not certain exactly what is happening in the update governed apps steps to understand the delay or issue. Note, in every case, the metrics library app always shows the new kpis added after clicking "reload metrics library" in the GMS on the qlik sense server.

Issue #3: After removing the custom property for the metrics library and adding it back to an app, I ended up getting double the metrics in the app. It seems the original metrics remained after removing the property from the app and then all the metrics get added in again when adding back.

Issue #4: To correct from issue #3 above, I used the delete metrics button. While there was a several minute lag, it ended up indeed deleting all metrics in that app. However, I have been unable to get the metrics back into that app after the delete. Nothing seems to work to re-populate that original app with the governed metrics.

Issue #5: I've found some errors in my operational monitor that could be also part of the inconsistency.
I get this error:

  • Command=Global::ReplaceAppFromID;Result=9000;ResultText=Error: Write Failed
  • Global::ReplaceAppFromID
  • REST client response error

All the feedback is because I really believe in this approach and product. Hopefully, the consistency can improve so I can reliable use this service. Thanks again!

Cannot access Governed Metrics Service testpage

The testpage: https://localhost:8591/masterlib/testpage (or any variations of it IP fullname etc.) returns "This page can’t be displayed".

We successfully installed and configured GMS on our system but now a few weeks later when I return to the server to configure new expressions I cannot insert them into my apps.

Firewall is turned of Qlik Sense Service dispatcher restarted, https used. Is there any other ways of updating the metrics than using the testpage?

Update Metrics in Apps error: TypeError: Cannot read property 'split' of undefined

When doing "Update Metrics in Apps" we get an error
{"module":"objectManagement","app":"MetricTest3(1)","level":"error","message":"[TypeError: Cannot read property 'split' of undefined]","timestamp":"2016-11-09T08:21:11.510Z"}
This is from the log:

{"module":"routes","level":"info","message":"POST update/all","timestamp":"2016-11-09T08:21:10.807Z"}
{"module":"doWork","level":"info","message":"Found ManagedMasterItems in list of custom properties","timestamp":"2016-11-09T08:21:10.823Z"}
{"module":"getmetricshypercube","level":"info","message":"running getmetricshypercube.getMetricsTable","timestamp":"2016-11-09T08:21:10.823Z"}
{"module":"getdocid","level":"info","message":"getDocId::running getdoc.getDocId","timestamp":"2016-11-09T08:21:10.823Z"}
{"module":"doWork","level":"debug","message":"getMetricsTable","timestamp":"2016-11-09T08:21:10.823Z"}
{"module":"getdocid","level":"debug","message":"getDocId::qrsInteract::/app?filter=name eq 'Metrics Library'","timestamp":"2016-11-09T08:21:10.823Z"}
{"module":"getdocid","level":"debug","message":"getDocId::qrsInteract::Metrics Library id:932f96b6-feec-483f-a724-d0bed152797a","timestamp":"2016-11-09T08:21:10.854Z"}
{"module":"getmetricshypercube","level":"debug","message":"getMetricsTable::Metrics Library AppId: 932f96b6-feec-483f-a724-d0bed152797a","timestamp":"2016-11-09T08:21:10.854Z"}
{"module":"getmetricshypercube","level":"info","message":"getMetricsTable::Opening the doc with data","timestamp":"2016-11-09T08:21:10.885Z"}
{"module":"getmetricshypercube","level":"debug","message":"getMetricsTable::Creating session object","timestamp":"2016-11-09T08:21:11.041Z"}
{"module":"getmetricshypercube","level":"info","message":"Closing connection to Metrics Hypercube","timestamp":"2016-11-09T08:21:11.057Z"}
{"module":"doWork","level":"debug","message":"getSubjectAreas","timestamp":"2016-11-09T08:21:11.057Z"}
{"module":"doWork","level":"debug","message":"subjectAreas:[\"Finance\",\"Customer\"]","timestamp":"2016-11-09T08:21:11.057Z"}
{"module":"doWork","method":"updateAll","level":"debug","message":"Getting list of apps that have ManagedMasterItems applied","timestamp":"2016-11-09T08:21:11.057Z"}
{"module":"doWork","method":"updateAll","app":"MetricTest3(1)","level":"info","message":"Updating app:MetricTest3(1) with id:e1bd2cac-e3c8-4406-9ddd-441202e0eb6acurrently owned by TELE\\goran.korsgren","timestamp":"2016-11-09T08:21:11.088Z"}
{"module":"updateMetrics","method":"updateMetrics","app":"MetricTest3(1)","level":"info","message":"Calling updateMetrics on application:MetricTest3(1) with id:e1bd2cac-e3c8-4406-9ddd-441202e0eb6a","timestamp":"2016-11-09T08:21:11.088Z"}
{"module":"objectManagement","app":"MetricTest3(1)","level":"info","message":"Beginning Object Management","timestamp":"2016-11-09T08:21:11.088Z"}
{"module":"updateMetrics","method":"updateMetrics","app":"MetricTest3(1)","level":"info","message":"[ 'Customer' ]","timestamp":"2016-11-09T08:21:11.088Z"}
{"module":"objectManagement","app":"MetricTest3(1)","level":"error","message":"[TypeError: Cannot read property 'split' of undefined]","timestamp":"2016-11-09T08:21:11.510Z"}
{"module":"updateMetrics","app":"MetricTest3(1)","level":"debug","message":"[TypeError: Cannot read property 'split' of undefined]","timestamp":"2016-11-09T08:21:11.510Z"}
{"module":"objectManagement","app":"MetricTest3(1)","level":"info","message":"undefined","timestamp":"2016-11-09T08:21:11.510Z"}
{"module":"objectManagement","app":"MetricTest3(1)","level":"info","message":"Object Management Complete","timestamp":"2016-11-09T08:21:11.510Z"}

MetricSubject tag unique id

I noticed that a tag gets created that appears to be precisely the contents of the MetricSubject field, and another one that appears to be based upon the MetricSubject field and a sequential surrogate number. Is that number supposed to match the ID field?

gms tag for null value

gms tag for null value - table

René

Master Dimensions Visibility

Hello,

Hope you can help.
I used this tool and the master items (dimensions, measures) were successfully created.
However they're not being visible to the users (non-owners of the app).
Please can you point out what else needs to be done?

Thanks.

GMS test page does not work

Hi,

We have QS server 3.1 installed. since the installation of the last GMS version 1.0.1.0 the test page does not seems to work anymore

I'm getting "The localhost page isn’t working

localhost didn’t send any data.
ERR_EMPTY_RESPONSE" error when trying to access the test page on http://localhost:8590/masterlib/testpage

GMS Test Page won't load

I am stuck on the step asking to load the GMS test page. I tried using the provided URL with localhost, ad also tried different variations of the host name (instead of localhost). I could not get the page to load with any combinations of URLs.

After poking around in the files installed, I noticed that the test page was renamed to "index.html" in the "app" folder. I tried changing that in the URL but still could not get the page to load.

Default Task name does not match the installer default

The installer asks for a task name and by default uses “Manually triggered reload of Metrics Library” However in the QMC, when you go to create a task the default is "Reload task of Metrics Library". We should change the installer to match the QMC default or at least update the installation docs to have a note in case a user runs through the installer quickly.

Update all faile in silence

EDIT --> I now see this is already an open issue.. You can close this issue.

When I update metrics in all the apps it fails, with no error message.

It seems like this only happens if no tags a present on the master data item.

I suspect is has something today with lib/objectManagement.js line 132 failing, since it tries to split tags and has no error handling if there is no tags?

I will try to fix it later, but for now I just added tags to my dimensions.

From the log:
{"module":"objectManagement","app":"Test of MDIS","level":"error","message":"[TypeError: Cannot read property 'split' of undefined]","timestamp":"2016-11-17T09:25:28.795Z"}
{"module":"updateMetrics","app":"Test of MDIS","level":"debug","message":"[TypeError: Cannot read property 'split' of undefined]","timestamp":"2016-11-17T09:25:28.797Z"}
{"module":"objectManagement","app":"Test of MDIS","level":"info","message":"undefined","timestamp":"2016-11-17T09:25:28.795Z"}
{"module":"objectManagement","app":"Test of MDIS","level":"info","message":"Object Management Complete","timestamp":"2016-11-17T09:25:28.795Z"}

Unable to retrieve Master Data Items using /masterlib/getAllMDI

Using Postman, I'm testing the new version.

GET {{url}}/masterlib/version
returns 2.0.3.0

GET {{url}}/masterlib/getAllMDI
returns []
when the @MaterLibrarySource is not set on any app.

However when I add a @MaterLibrarySource custom property to an app,
GET {{url}}/masterlib/getAllMDI
just times out.

Log output from testpage:
{"level":"debug","msg":"metricSubject:Tilstandsrapport","meta":{}}

Not found

I am on Qlik Sense Server with a install of GMS. I have used a REST endpoint I created myself to "host" the repo.

When I use the /masterlib/testpage:
"Test Connection" works.
"Reload Metrics Library" works.
"Update Metrics in Apps" returns the following error:
POST http://localhost:8590/masterlib/update/all 400 (Bad Request)

I hope you can help me to solve this. Are there any logs I can check - and is there a way to validate the Metrics Library application?

This is a screenshots from the "Metrics Library" app:
udklip

Absent [MetricTags] in the MDI connection string causes Update of Metrics to fail.

Hi!

When using MetricTags and no tags are being used, the Update of Metrics will fail.

In script:
LIB CONNECT TO 'MasterLibrarySource';

RestConnectorMasterTable:
SQL SELECT
"ID",
"UID",
"MetricSubject",
"MetricType",
"MetricName",
"MetricDescription",
"MetricFormula",
"MetricOwner",
"MetricTags",
"MetricGrouping",
"MetricColor"
FROM JSON (wrap on) "root";

[ID] AS [ID],
[UID] AS [UID],
[MetricSubject] AS [MetricSubject],
[MetricType] AS [MetricType],
[MetricName] AS [MetricName],
[MetricDescription] AS [MetricDescription],
[MetricFormula] AS [MetricFormula],
[MetricOwner] AS [MetricOwner],
[MetricTags] AS [MetricTags],
[MetricGrouping] AS [MetricGrouping],
[MetricColor] AS [MetricColor]
RESIDENT RestConnectorMasterTable;

DROP TABLE RestConnectorMasterTable;

Status window output:
{"level":"info","msg":"POST update/all","meta":{"module":"routes"}}
{"level":"info","msg":"Checking for existence of gms tag in the qrs","meta":{"module":"doWork","method":"updateMetrics"}}
{"level":"info","msg":"Found ManagedMasterItems in list of custom properties","meta":{"module":"doWork"}}
{"level":"debug","msg":"getMetricsTable","meta":{"module":"doWork"}}
{"level":"info","msg":"running getmetricshypercube.getMetricsTable","meta":{"module":"getmetricshypercube"}}
{"level":"info","msg":"getDocId::running getdoc.getDocId","meta":{"module":"getdocid"}}
{"level":"debug","msg":"getDocId::qrsInteract::/app?filter=name eq 'Metrics Library'","meta":{"module":"getdocid"}}
{"level":"debug","msg":"getDocId::qrsInteract::Metrics Library id:0c9fbad5-aa0b-43bc-a28c-159b20dbc355","meta":{"module":"getdocid"}}
{"level":"debug","msg":"getMetricsTable::Metrics Library AppId: 0c9fbad5-aa0b-43bc-a28c-159b20dbc355","meta":{"module":"getmetricshypercube"}}
{"level":"info","msg":"getMetricsTable::Opening the doc with data","meta":{"module":"getmetricshypercube"}}
{"level":"debug","msg":"getMetricsTable::Creating session object","meta":{"module":"getmetricshypercube"}}
{"level":"info","msg":"Closing connection to Metrics Hypercube","meta":{"module":"getmetricshypercube"}}
{"level":"debug","msg":"getSubjectAreas","meta":{"module":"doWork"}}
{"level":"debug","msg":"subjectAreas:["Customer Service","Finance","Marketing","Sales","IT"]","meta":{"module":"doWork"}}
{"level":"debug","msg":"Getting list of apps that have ManagedMasterItems applied","meta":{"module":"doWork","method":"updateAll"}}
{"level":"info","msg":"Updating app:MLS receive with id:552da7cc-2711-46ec-b0dd-ff7222157159currently owned by STENAMETAD\$erigus","meta":{"module":"doWork","method":"updateAll","app":"MLS receive"}}
{"level":"info","msg":"Calling updateMetrics on application:MLS receive with id:552da7cc-2711-46ec-b0dd-ff7222157159","meta":{"module":"updateMetrics","method":"updateMetrics","app":"MLS receive"}}
{"level":"info","msg":"[ 'Finance' ]","meta":{"module":"updateMetrics","method":"updateMetrics","app":"MLS receive"}}
{"level":"info","msg":"Beginning Object Management","meta":{"module":"objectManagement","app":"MLS receive"}}
{"level":"error","msg":"[TypeError: Cannot read property 'length' of undefined]","meta":{"module":"objectManagement","app":"MLS receive"}}
{"level":"info","msg":"undefined","meta":{"module":"objectManagement","app":"MLS receive"}}
{"level":"info","msg":"Object Management Complete","meta":{"module":"objectManagement","app":"MLS receive"}}
{"level":"debug","msg":"[TypeError: Cannot read property 'length' of undefined]","meta":{"module":"updateMetrics","app":"MLS receive"}}

The result is that the metrics won't be updated. The field MetricTags is not null if it is missing values, it just has no values.

Workaround:
In the script, write:
if(len(trim([MetricTags])) = 0, null(),[MetricTags]) AS [MetricTags]

Ports used need to be in the installation documentation

My IT Servers Admin likes to keep things locked down, so traffic isn't allowed through ports unless they be opened for an app.

I found that port 8590 that is specified on installation needs to be permitted for inbound communications.

Are there any others? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.