我如何根据 IronPython 中的当前用户 'hide' Spotfire 中的选项卡?

How can I 'hide' a tab in Spotfire depending on the current user in IronPython?

我有一个选项卡,其中包含用于数据验证和测试的可视化效果。我想把那个标签留在那儿,只向开发人员展示。

我可以通过这种方式获取当前用户,但找不到如何'hide' 选项卡。

from System.Threading import Thread 
print Thread.CurrentPrincipal.Identity.Name 

我很确定隐藏标签页是不可能的。不过,还有一些其他可能的解决方案。

  1. 将导航样式从 Titled Tabs 更改为 History Tabs,然后使用脚本填充的文本区域处理页面之间的导航.这是最简单的解决方案,但如果您在此分析中有超级敏感数据并且您的用户正在通过 Analyst 客户端访问,则用户可以更改导航样式。
  2. 根据用户组,编写一个脚本来动态创建任何具有可视化效果的页面。对于具有 Analyst 和脚本访问权限的用户来说,这个也有风险,并且创建和维护的工作要多得多(但如果您喜欢脚本,它也非常酷和有趣!)。
  3. 根据 "user group" 进行不同的分析。可能不是最好的解决方案,因为您需要为每个分析重复任何更新。这为您提供了最大的安全性,但我认为长期成本最高(假设分析会随着时间的推移而改变)。

更新给可能感兴趣的人:

在 spotfire 10+ 中,您可以在文本区域中插入一些代码,以便在 Web 上查看时隐藏仪表板页面中的选项卡(这不会隐藏 Analyst 客户端上的选项卡):

navigationBar = $("#id10") 
navigationBar.css("display", "none"); 

然后您可以使用 IPython 来检查用户名并在文本区域实时添加或删除此代码。这将根据用户名隐藏和显示选项卡。

要显示其他选项卡,您可以按照 niko 的选项 1,并使用文本区域中的其他 HTML/CSS 创建您自己的导航。

如果您使用的是 Spotfire 10.8 或更高版本,您有更强大的解决方案,您可以将以下两个 IronPython 脚本合并为一个,在分析负载时执行。

1)获取用户名或组 2)隐藏页面 3)CustomDateTime Function to trigger IP on load of analysis.

这适用于消费者许可用户。

https://community.tibco.com/wiki/how-fetch-information-about-logged-user-tibco-spotfirer-using-ironpython-script

https://community.tibco.com/wiki/how-show-or-hide-pages-consumer-users-viewing-mode-tibco-spotfirer-using-ironpython-script

https://community.tibco.com/wiki/custom-datetime-data-function-tibco-spotfire