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状态决定),设备状态、车辆空闲情况等。

存在的缺陷

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

SharePoint中使用Visio Service展示业务数据的更多相关文章

  1. 凭借K2 SmartObject框架,在SharePoint中集成数据

    随着SharePoint 2013的发布,Microsoft已提供Business Connectivity Services(BCS)增强功能以及外部列表功能,确保您可以更简单地在SharePoin ...

  2. 5.Flink实时项目之业务数据准备

    1. 流程介绍 在上一篇文章中,我们已经把客户端的页面日志,启动日志,曝光日志分别发送到kafka对应的主题中.在本文中,我们将把业务数据也发送到对应的kafka主题中. 通过maxwell采集业务数 ...

  3. SharePoint 2013 SSO-Secure Store Service在实际案例中的应用

    文章目录: Secure Store Service介绍 Secure Store Service部署 Secure Store Service应用 之前有一篇博客讲到使用EMSManagedAPI操 ...

  4. “认证发布”和“获取展示”,如何在 SharePoint 中正确使用 RSS Feed。

    在我们进行的日常工作中,是由一部分信息需要 Share 给其他人或者组织的.SharePoint 虽然支持在某个 Site Collection 中互通信息,但是跨 Site Collection 的 ...

  5. Android中Activity和Service的数据通讯

    在Android中,我们通常需要Activity跟Service进行通讯,很多人只知道Activity掉用Service,却不知道Service如何将数据返回给Activity.其实Service返回 ...

  6. 在DevExpress程序中使用PopupContainerEdit和PopupContainer实现数据展示

    在一些数据的即时查询场景中,我们可能需要对输入信息进行模糊查询并进行选择,例如在一些文本输入场景,如输入某个站点编码或者设备编码,然后获取符合的列表供用户选择的场景,本篇随笔介绍在DevExpress ...

  7. Vue单页面中进行业务数据的上报

    为什么要在标题里加上一个业务数据的上报呢,因为在咱们前端项目中,可上报的数据维度太多,比如还有性能数据.页面错误数据.console捕获等.这里我们只讲解业务数据的埋点. 业务数据的上报主要分为: 各 ...

  8. 利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理

    在Asp.net Web API中,对业务数据的分页查询处理是一个非常常见的接口,我们需要在查询条件对象中,定义好相应业务的查询参数,排序信息,请求记录数和每页大小信息等内容,根据这些查询信息,我们在 ...

  9. Android中Service通信(一)——启动Service并传递数据

    启动Service并传递数据的小实例(通过外界与服务进行通信): 1.activity_main.xml: <EditText android:layout_width="match_ ...

随机推荐

  1. HDU 4665 Mutiples on a circle (圆环DP)

    题意 N个数的圆环上有多少种方案可以使得选出来的一段数是K的倍数(N<=50000, K<=200, a[i]<=1000). 思路 多校第七场1004.圆上的DP--大脑太简单处理 ...

  2. Java 进阶7 并发优化 5 并发控制板方法

    Java 进阶7 并发优化 5 并发控制板方法 20131114 前言:          Java 中多线程并发程序中存在线程安全的问题,之前学习 Java的同步机制,掌握的同步方法只有一种就是使用 ...

  3. HDU 3923 Invoker(polya定理+乘法逆元(扩展欧几里德+费马小定理))

    Invoker Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 122768/62768K (Java/Other) Total Subm ...

  4. log4cpp之Layout布局

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. Docker的安装及操作

    1. 在Ubuntu中安装Docker 更新ubuntu的apt源索引 sudo apt-get update 安装包允许apt通过HTTPS使用仓库 sudo apt-get install \ a ...

  6. Eclipse上安装springsource-tool-suite

    spring tool suite 是一个基于eclipseIDE开发环境中的用于开发spring应用程序的工具.提供了开箱即用的环境用于实现,调试和部署你的spring应用,包括为关键的的服务器和云 ...

  7. 启动Windows防火墙提示“0x8007042c"

    win8.1 启动防火墙是报错:启动Windows防火墙提示“0x8007042c" 一.检查服务 1,右击开始->运行->输入“services.msc” 打开服务 在框中找到 ...

  8. 2PC

    两阶段提交()Two-Phase Commit):是计算机网络尤其是在数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务处理过程中能够保持原子性和一致性而设计的一种算法.通常,二阶段提交协议 ...

  9. Okhttp之RealConnection建立链接简单分析

    在之前的博客中我们知道Okhttp在发起链接请求先从链接池中获取连接,如果链接池中没有链接则创建新的链接RealConnection对象,然后执行其connet方法打开SOCKET链接(详见< ...

  10. Vim技能修炼教程(15) - 时间和日期相关函数

    Vimscript武器库 前面我们走马观花地将Vimscript的大致语法过了一遍.下面我们开始深入看一下Vimscript都给我们准备了哪些武器.如果只用这些武器就够了,那么就太好了,只用Vimsc ...