Thingsboard - Widget custom action - Link to another dashboard - hyperlink

I have an overview dashboard with a map and many markers for the machines. Every machine has its own dashboard. Since i can not work with states because every machine has different parameters, i need to link the existing dashboards by the custom action function.
All dashboards are named the same as the devices so it should be possible to link them trough entitiyName. But there is no documentation how to get the dashboard name with JavaScript in the custom action and how then open the dashboard instead of a state.
I hope somebody can help. Thanks!

Related

GoogleAnalytics hit to wrong view

I have a problem. The sent data from the SDK mobile to analytics go to the wrong view. I'd like them to go to the type-view "APP" but they go to the website view instead. I've tried to set up the "APP" data source but it doesn't work. Screenviews are correctly send to the "APP" view but events are send to the wrong "website" view.
I use a basic POST call to send my events. My payload is similar to this:
"v=1&t=event&tid=UA-XXXXXY&cid=555&ec=video&ea=play&el=holiday&ev=300&ds=app"
How can I solve the problem?
First of all, the data is not stored in the views but in the properties.
Unless you have a very good reason not to, I suggest having separate properties for apps and websites. That means different tracking-IDs.
If you absolutely want to store both in a single property and don't want to see them in the same view, you'd have to look into Google Analytics Filters. Using filters, you can easily create separate views for app and web traffic.
This is how a filter that excludes all App traffic would look like:
More about filters on this link.

Use one connection throughout tabs in node-red

I'm fairly new to nod-red oder nodejs in generel. But I think with time I got a decent understanding.
At the moment I'm using node-red-dashboard to give my home automation a nice touch and easy controlling interface.
All my devices communicate via MQTT and I organize my rooms (for example) with different tabs in node-red.
Maybe it's just a missunderstanding of mine, but how do I use the same mqtt-connection (or db connection, etc.) throughout different tabs? I've configured a new one for each tab and can see in the log, that individual connections are made for each tab.
The connection from another tab is not shown inside the nodes on another tab.
Maybe you can point me in the right direction.
Cheers,
Patrik
In the mqtt-broker configuration node's edit dialog, there is a select box where you can pick the 'scope' of the node. It defaults to the tab you're currently on, but if you change that to 'global', the config node will be available on all tabs.

Durandal+Knockout to develop a Single Page Application: Selectively show portions of page based upon authorization

I am using Durandal, knockout to create a Single Page Application. I need to do following (two pretty simple things):
Show/hide widgets that are only for administrator, based upon the user's authorization,
Change menu options based upon whether user is authenticated or not (for anonymous show - login/sign up and when authenticated show "Welcome .." .
If this was a regular MVC4 application I would have done it using
#if (User.Identity.IsAuthenticated) { ... } check in razor views, but with views in durandal this is ruled out.
I want to avoid putting sensitive business logic in javascript - user need not know what kind of options could have been available to him if he was an administrator.
What's the best way to achieve this in Durandal & Knockout? I have been coding so far using classic ASP.NET and lately using ASP.NET MVC. Developing SPA using Durandal is a new game for me...If anyone can give me only steps/pointers to do this that will help a lot too..thanks in advance!
The way I do it.
My menus are build inside a menubar.js file. The menuItems are observableArrays([]) initially and I subscribe to a topic "user-logged-in".
When the user logs in, I get the user's permissions/roles and store them locally in storage. and then send out notification "user-logged-in" with the user data.
My menubar recieves the notification, checks the permissions/roles and adds various menu items appropriately.
the shell.html has a view composition for the menubar.js. So if there are menuitems, it shows up, else it does not. so when the user logs in, the menuItems are populated and at this point the menu items show up.
When the user logs out, I clear the local storage cache and send out a message "user-logged-out".
The menubar.js recieves this message and clears it's menu items, essentially clearing the menu on the menubar.htm
You can essentially do the same for the widgets and use a visible binding to a property which hides or shows for a particular permission/role.
Also important is router.guardRoute. read up on this so that people cannot directly go to a route without logging in.
Hope that helps

How to use internal links with wildcard items in Sitecore?

I have a multiple site Sitecore solution. All the sites share a product range which is stored inside a 'Shared data' node that sits at the same level as the root nodes of the sites. The individual product pages on a site use a wildcard item to lookup the product based on the last part of the URL.
This means that we can't use internal links in the rich text editor to point to the product page on any of the sites because the product item does not have a specific site URL.
Does anyone know of a way to overcome this, or perhaps know of a way to augment the default behavior of interal links?
Have you considered using cloned items, see here for details.
This would allow you to share the content whilst having the appearance to the end user of the Products being inside the content tree allowing you to use the RTE and internal link look ups?
For extra information about clones, see here and here
You'd also need to do some work in the link provider to link to the cloned version of a product if you wanted. See this question.

MOSS 2007: How to programmatically store web part properties for a user?

I have a web part which shows data in one of 3 different formats. The format is selected by clicking one of 3 buttons in the web part. This works fine.
A request has come through to store the last selected state so that the user does not always have to click their favourite view.
It seemed logical to define a Property and define Personalizable(PersonalizationScope.User) but this does not seem to work for most users as they only have Read rights for the page.
What is the best way forward here? Is Sharepoint the right place to store such info or should I be using my own storage?
Thanks
Using your own storage is an option but this means its some more development work for you. How about this option.
Modify your WebPart and add the option to the Web Part property.
Create a new permission level and add the following permission
Update Personal Web Parts - Update
Web Parts to display personalized
information.
This will make sure that users with read only access can only update webparts.
Step 2 will allow them to odify all webparts. You can modify each webpart and remove the following option for webparts which you dont want you users to edit.
Allow Editing in Personal View [Advanced]
This way you can lock all webparts except the one you want.

Resources