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圖形,重新上傳;