UserReplaceTool - Automating Dashboard Ownership Transfers - Useful for Deleting User Accounts
Managing and deleting user accounts in Sisense can create manual processes when users leave an organization or change roles. A frequent issue is the reassignment of dashboard ownership to prevent losing Sisense dashboards when a given user account is deleted, as deleting a Sisense user will delete all dashboards owned by that user. The UserReplaceTool addresses this task by automating the transfer of dashboard ownership of all dashboards owned by a given user, ensuring continuity and data integrity. UserReplaceTool is a Python-based, API-based Tool solution designed to seamlessly transfer the ownership of dashboards and data models from one user to another in Sisense. This tool simplifies and automates this process, allowing organizations to reassign dashboard ownership without manual processes or the risk of losing dashboards and widgets. All components are accomplished by using Sisense API endpoint requests.867Views2likes0CommentsHow to properly reboot a k8s node(s)
As part of maintaining a healthy and robust Kubernetes (K8s) cluster, occasional reboots of nodes might be necessary. Whether for system updates, hardware maintenance, or other reasons, it's essential to follow a structured process to ensure minimal disruption to running workloads. Below is a step-by-step guide on safely rebooting nodes within a Kubernetes cluster, covering both Red Hat Enterprise Linux (RHEL) and Ubuntu systems.7.6KViews2likes0CommentsHow to change color of the links in Text widget?
How to change the color of the links in the Text widget? To change the color of the link, please do the following. Press 3 dots on the Text widget - Edit Script, paste next script, and press the Save button: const customStyle = { color: 'red' }; widget.on('initialized', () => { const computedStyles = getStyles(); const fakeDiv = document.createElement('div'); fakeDiv.innerHTML = widget.style.content.html; const fontElements = fakeDiv.getElementsByTagName('a'); for (let i = 0; i < fontElements.length; i++) { fontElements[i].style = computedStyles; fontElements[i].setAttribute('target', '_blank'); } widget.style.content.html = fakeDiv.innerHTML; }); function getStyles() { let newStyles = ''; for (let key in customStyle) { newStyles += `${key}: ${customStyle[key]};`; } return newStyles; } As the result, we will have a red color on the link Disclaimer: This blog post contains one possible custom workaround solution for users with similar use cases. We cannot guarantee that the custom code solution described in this post will work in every scenario or with every Sisense software version. As such, we strongly advise users to test solutions in their environment before deploying them to ensure that the solutions proffered function as desired. To avoid doubt, the content of this blog post is provided to you “as-is” and without warranty of any kind, express, implied, or otherwise, including without limitation any warranty of security and or fitness for a particular purpose. The workaround solution described in this post incorporates custom coding, which is outside the Sisense product development environment and is, therefore, not covered by Sisense warranty and support services.2.2KViews2likes0Comments