SharePoint中可以通过Visio Service可以在浏览器中查看Visio图,功能部署到系统中,一切安好。
而现实总是很折磨人,使用该功能后,相关使用者随后提出,Visio图能否与我的业务数据进行绑定,实现数据变动,图形也随之变化?
记得这个功能是有的,在2010时代就有,一直没尝试使用过。
测试案例
以IT运维中服务器监控为例,建一“服务器列表”的自定义列表
字段清单:标题、状态(下拉选项:正常、警告、关机)、IP地址
录入一部分数据,如下图所示:
打开Visio,创建新文档,类型选择“基本网络图”
在Visio中将各个服务器图形画好,然后点击顶部菜单中“数据”选项卡,点击“将数据链接到形状”,如下图的示:
?
在数据源中,选择SharePoint 列表?
在网站地址框中输入列表所在的站点地址,然后点击下一步,选择要绑定的列表
点击“完成”,可以看到数据源已经添加到visio页面中
?
数据添加到页面中后,需要对数据和图形做关联关系,点击“自动链接”
自动链接可以按照指定的关系进行链接,也可以手动链接
绑定成功后,就可以看到绑定的数据信息显示在图形上:
下面我们需要将图形右侧的文本信息显示改变成直接的图形标记,右键图形,选择“数据”---“编辑数据图形”
删除默认的标题和ID信息
然后点击“新建项目”,将“状态”字段显示出来,在“显示为”下拉框中选择所需的样式
显示样式可选择如下几种,本例选择“图标集”
图标集也有不同的预置风格供选择使用,选择完成后,在图标规则中配置相应图标显示的条件
配置完成后,Visio中就可以根据数据显示出相应服务器的状态图标了:
Visio中的设计基本完成,下面需要把该文档发布到SharePoint文档库中,以便于在WEB上展示,
更改下数据,将FTP服务器设置为“正常”
然后刷新web界面
如上图所示,结果有点失望,图形居然没发生变化,经错误排查,其原因在于visio service展示数据图形有缓存时间,默认5分钟时间
解决方法
进入管理中心,点击“管理服务应用程序”,选中Visio Graphics Service,点击“管理”按钮
点击“全局设置”
在设置界面中,将“最小缓存保留时间”改为0,然后保存设置
重新刷新页面,就可以看到图形已经显示成最初的预期效果:
附加问题
可能会有人问,这个案例意义何在?数据还是需要手工更改,没有实际意义,其实不是这样,本案例中的数据的更新,其实你可以做一个定时程序,尝试用WMI抓取服务器状态,或者只是简单的Ping测试均可,根据你的实际需求,将定时提取的数据更新到相应的列表中即可。
本例仅提供一个指导,抛砖引玉,这种方案可以有很多发挥的地方,至于数据源也不只是SharePoint列表,也可以sql server数据库等,你可以直接调用你的业务数据进行绑定展示,比如各部门费用额度展示(报销系统中建一视图即可)、员工座位分布图及闲忙状态(闲忙状态可以考勤系统决定,或由员工在门户中自行手动设置,或者由Lync状态决定),设备状态、车辆空闲情况等。
存在的缺陷
……