SharePoint 2010 設計BCS工作流

2022-09-16 08:27:09 字數 1779 閱讀 2333

一起使用sharepoint工作流和bcs可以實現很多複雜的業務場景。

比如,有乙個簡單的費用報銷流程,客戶希望:僅當總費用超過某個限額時,工作流會把費用報告傳送給審批者;如果低於這個限額,則自動審批通過。而每個人的限額是不同的,每個人的限額可以從某個外部系統中獲取到。我們可以考慮利用bcs獲取到這個資料。如果這個資料是通過外部資料列表暴露在sharepoint的,工作流就可以查詢到這個資料。

一般來講,我們有2種工具來設計bcs工作流。一是採用sharepoint designer 2010提供的開箱即用的activity來設計,再有,就是使用visual studio。

設計bcs工作流時,有幾個點非常重要。

工作流不能關聯到外部資料列表

在sharepoint 2010裡,工作流不能直接關聯到外部資料列表。這是因為外部資料不是儲存在sharepoint裡,所以當列表條目發生變化時無法通知給工作流。但這並不意味著外部資料無法使用工作流。我們可以建立乙個站點工作流,或者為某個常規列表(如文件庫)建立乙個工作流,並讓這個列表從外部資料列表讀取/更新資料。當然,我們也可以將外部資料列表項作為spd任務處理的目標,儘管任務鏈結總是外部資料列表項沒有標題。

訪問bcs的工作流必須以服務賬號執行,即使在身份模擬步驟下

工作流會一直以服務賬號來執行(一般是iis的應用程式池賬號),並且只有當使用secure store service或者reverttoself(因為安全原因,預設情況下被關閉)時才支援工作流。這樣的限制是為了保護sharepoint受到惡意模型/開發人員的攻擊。因為對後台系統的訪問總會以某個服務賬號觸發,所以我們無法跟蹤到底是誰修改了資料。要解決這個問題,我們可以讓工作流把spuser的名稱傳遞到外部資料列表的某個列,或者是某個使用bdc api的自定義activity,但這僅僅是為了資訊追蹤的目的而不是乙個可靠的安全保護措施。

使用spd list item activity和使用外部資料列表是非常類似的,2者最大的差別是對於spd list item activity,我們識別它時需要使用其identifying列而不是id。

接下來我們開始設計前面提及的費用報銷工作流。

使用safelimit外部內容型別,建立外部資料列表,命名為safelimits;

建立乙個名稱為expensereports的文件庫;

在spd中,開啟expensereports文件庫;

點選"new list workflow";

為工作流起乙個名稱,並且輸入描述資訊,然後點選下一步;

新增乙個"set workflow variable"的動作;

點選工作流變數鏈結,點選"create new variable",命名為 safelimit;

點選"value",然後 點選

按鈕 建立外部資料列表查詢;

選擇safelimits外部資料列表作為資料來源;

選擇顯示safe limit的字段limit;

選擇emplyeeid;

點選對話方塊中的

按鈕,在新對話方塊中選擇"current item",然後再選擇employeeid。

完成上面的操作後,結果如下圖。現在可以選擇safelimit變數,並且在工作流中使用它來作決策了。

備註:當點選"ok"後,會有乙個如下的警示資訊。這對於外部資料列表來講是正常的,無需在意。它只是告訴我們如果外部資料列表專案沒有唯一值,那麼系統將返回第乙個找到的專案。

如果需要建立、更新或者刪除外部資料列表的一小部分條目。

簡單配置 SharePoint 2010

一 初始場配置嚮導 sharepoint 產品配置嚮導 安裝完成之後,自動轉到 初始場配置嚮導 其鏈結位址為 http moss10 2012 admin adminconfigintro.aspx?scenarioid adminconfig welcomestringid farmconfigu...

簡單配置 SharePoint 2010

一 初始場配置嚮導 sharepoint 產品配置嚮導 安裝完成之後,自動轉到 初始場配置嚮導 其鏈結位址為 http moss10 2012 admin adminconfigintro.aspx?scenarioid adminconfig welcomestringid farmconfigu...

SharePoint 2010 許可權內容

對於 sharepoint 2010 的許可權來說,需要理解 sharepoint 使用者組的概念,使用者組對訪問 sharepoint 的使用者進行分組,以便於許可權管理。而許可權分類則類似於通常意義上的角色。需要特別注意的一點是,sharepoint 使用者組是屬於整個 集,而不是屬於某個 在 ...