为之则易 不为则难

如果不能改变环境,那么就去适应环境

导航

SharePoint中使用Visio Service展示业务数据

Posted on 2013-07-10 12:30  为之则易  阅读(2183)  评论(0编辑  收藏  举报

SharePoint中可以通过Visio Service可以在浏览器中查看Visio图,功能部署到系统中,一切安好。

而现实总是很折磨人,使用该功能后,相关使用者随后提出,Visio图能否与我的业务数据进行绑定,实现数据变动,图形也随之变化?

记得这个功能是有的,在2010时代就有,一直没尝试使用过。

测试案例

以IT运维中服务器监控为例,建一“服务器列表”的自定义列表

字段清单:标题、状态(下拉选项:正常、警告、关机)、IP地址

录入一部分数据,如下图所示:

image

打开Visio,创建新文档,类型选择“基本网络图”

image

在Visio中将各个服务器图形画好,然后点击顶部菜单中“数据”选项卡,点击“将数据链接到形状”,如下图的示:

image

在数据源中,选择SharePoint 列表

image

在网站地址框中输入列表所在的站点地址,然后点击下一步,选择要绑定的列表

image

点击“完成”,可以看到数据源已经添加到visio页面中

image

数据添加到页面中后,需要对数据和图形做关联关系,点击“自动链接”

image

自动链接可以按照指定的关系进行链接,也可以手动链接

image

绑定成功后,就可以看到绑定的数据信息显示在图形上:

image

下面我们需要将图形右侧的文本信息显示改变成直接的图形标记,右键图形,选择“数据”---“编辑数据图形”

image

删除默认的标题和ID信息

image

然后点击“新建项目”,将“状态”字段显示出来,在“显示为”下拉框中选择所需的样式

显示样式可选择如下几种,本例选择“图标集”

image

图标集也有不同的预置风格供选择使用,选择完成后,在图标规则中配置相应图标显示的条件

image

配置完成后,Visio中就可以根据数据显示出相应服务器的状态图标了:

image

Visio中的设计基本完成,下面需要把该文档发布到SharePoint文档库中,以便于在WEB上展示,

image

更改下数据,将FTP服务器设置为“正常”

image

然后刷新web界面

image

如上图所示,结果有点失望,图形居然没发生变化,经错误排查,其原因在于visio service展示数据图形有缓存时间,默认5分钟时间

解决方法

进入管理中心,点击“管理服务应用程序”,选中Visio Graphics Service,点击“管理”按钮

image

点击“全局设置”

image

在设置界面中,将“最小缓存保留时间”改为0,然后保存设置

image

重新刷新页面,就可以看到图形已经显示成最初的预期效果:

image

附加问题

可能会有人问,这个案例意义何在?数据还是需要手工更改,没有实际意义,其实不是这样,本案例中的数据的更新,其实你可以做一个定时程序,尝试用WMI抓取服务器状态,或者只是简单的Ping测试均可,根据你的实际需求,将定时提取的数据更新到相应的列表中即可。

本例仅提供一个指导,抛砖引玉,这种方案可以有很多发挥的地方,至于数据源也不只是SharePoint列表,也可以sql server数据库等,你可以直接调用你的业务数据进行绑定展示,比如各部门费用额度展示(报销系统中建一视图即可)、员工座位分布图及闲忙状态(闲忙状态可以考勤系统决定,或由员工在门户中自行手动设置,或者由Lync状态决定),设备状态、车辆空闲情况等。

存在的缺陷

  • 不适合很多图形的展示,如员工座位分布图,如果你把1000个员工画在一个visio页面中,那么这个展示将意义不大,而且也有可能无法展示,如果存在这种情况,建议分多个visio文件,可以按部门建目录,或按办公室;
  • 对于经常变动的数据,维护工作量较大,以员工分布图为例,员工异动都需要更改Visio图形,重新上传;