用於 Team Foundation Server 和 Project Server 整合的同步處理程序概觀
您可以更有效率地管理 Visual Studio Team Foundation Server 2012 與 Microsoft Project Server 的整合,如果您知道同步處理引擎如何處理資料流程在兩種伺服器產品之間。同步處理引擎支援在 Project Professional 中執行工作的專案管理人員,以及在 Team Foundation 中執行工作的小組組長和小組成員之間,彼此獨立的工作流程。各領域的交付項目和工作可獨立進展。
本主題內容
三種同步處理
隨同步處理改變的資料
更新期間和送出時執行的資料驗證
鏡像欄位和「兩組記錄」
支援同步處理所需的使用權限
錯誤通知、事件記錄和可追蹤性
三種同步處理
同步處理引擎會執行三種類型的同步處理。這個程序會擷取並更新 Team Foundation Server 和 Project Server 中與工作和資源相關的資料,同時尊重專案計劃中專案管理人員的資料擁有權。專案管理人員進行變更使用 Microsoft Project Professional 並透過 Project Web Access 核准更新或 Project Web App App。開發小組成員會使用 Team Foundation 用戶端,將更新送出至 Project Server。
如下圖中所示,資料同步處理包含七個主要步驟。
用於 Team Foundation Server 和 Project Server 整合的同步處理程序
同步處理引擎是單獨一項工作服務,這項工作服務會依照固定排程執行,而且不會在各工作項目更新時執行。同步處理工作會依下列順序執行三個程序:
發行同步處理: |
專案管理人員會定義或更新工作或交付項目,並且將要同步處理之每項工作的 [發行至 Team 專案] 值設定為 [是]。 專案管理人員會使用 Microsoft Project Professional 發行企業專案計劃。變更會直接儲存到 Project Server 的資料庫。 同步處理引擎會從 Project Server 提取資料,並且根據設定要進行同步處理的資料,來判斷要更新哪些資料。只會更新設定要進行同步處理的物件、工作和工作項目。 同步處理引擎會建立或更新 Team Foundation 中的工作項目,並且定義連結,將 Project 中的工作繫結至 Team Foundation 中的工作項目。 |
狀態同步處理: |
小組組長或小組成員會修改 Team Foundation 中連結至企業專案之工作的工作項目,或是建立工作項目並且將 [送出至 Project Server] 值設定為 [是]。同步處理引擎會查詢對於對應之 Team 專案所做的變更,並且將要求傳送至 Project Web Access 或 Project Web App (PWA) 中的核准佇列。 |
核准同步處理: |
每一位專案管理人員都會檢閱其核准佇列,並且核准或拒絕每一個狀態更新要求。 核准更新之後,專案管理人員必須先發行專案計劃,更新才會出現在 Project Server 中。
重要事項
當同步處理引擎將多個層級的工作項目送出至 Project Server 時,必須核准第一層,並將其發行至 Project Server,然後才可以送出下一層。例如,您可以送出包含三層子項目的一批新工作項目。在該情況下,專案管理人員必須為所有工作項目發行專案計劃四次,才能與 Project Server 同步。
Project Server 中處理核准的事件處理常式會將核准的決策傳送至同步處理引擎,接著同步處理引擎就會依據核准狀態更新 Team Foundation Server 中的工作項目。 |
回到頁首
管理核准和拒絕
連結至 Project Server 之工作項目的所有變更都必須送出,以供對應至 Team 專案之企業專案計劃的專案管理人員進行核准。您可以設定自動核准,以便自動核准來自 Team Foundation 的所有更新。如需詳細資訊,請參閱核准或拒絕工作更新 (英文)。
核准的工作項目通常會復原至企業專案計劃中。拒絕的工作項目則需要解決並重新送出。
工作項目的 [記錄] 欄位中會針對拒絕的更新顯示一則訊息。這個訊息會指出遭拒絕的值和拒絕更新者。針對對應至裝載於 Project Server 2010 之專案計劃的 Team 專案,這個訊息還會包含專案管理人員所提供的任何註解,說明項目遭拒絕的原因。小組成員必須協調解決衝突並重新送出工作項目,或是將它移除而不要送出至企業專案。此外,小組成員可以建立工作項目查詢,依據 [Project Server 上次送出狀態] 尋找所有被拒絕的項目。如需詳細資訊,請參閱監視工作項目送出並解決拒絕。
同步處理和重試間隔
資料同步處理會依照排程執行,而且不會在各工作項目更新時執行。同步處理工作服務每 30 秒會執行一次。在這段時間內,它會查詢 Project Server 或 Team Foundation Server 中已修改的,或是專案管理人員已核准的相關工作項目和欄位。
同步處理引擎每小時會重新送出先前無法更新的工作項目。如需詳細資訊,請參閱變更同步作業的重試或重新送出間隔。
回到頁首
隨同步處理改變的資料
有兩個層級的組態可決定哪些物件可以參與同步處理,以及哪些資料已同步處理完成。Team Foundation 的系統管理員可執行數個層級的對應來設定可以參與同步處理的物件。在第二層級,專案管理人員和 Team Foundation 的使用者可控制要同步處理的特定工作和工作項目。
回到頁首
設定要參與同步處理的物件
下列組態可決定哪些物件要參與同步處理程序。Team Foundation 的系統管理員一般會執行這些組態。不過,專案管理人員也可以將其企業專案計劃對應至 Team 專案。
對應至 Team 專案集合的 PWA 執行個體:這個對應會將 Team 專案集合設定為支援同步處理,並且決定哪些 PWA 執行個體可以與集合同步處理。
對應至 Team 專案的企業專案計劃:這個對應會同時將企業專案計劃和 Team 專案設定為參與同步處理。這個對應也會決定哪些企業專案可以與 Team 專案同步處理。
為進行同步處理而對應的工作項目類型:當您將企業專案計劃對應至 Team 專案時,會指定可同步處理的工作項目類型。這個對應會將 [Project Server] 索引標籤加入至工作項目表單,並且將各工作項目類型的驗證規則加入至企業專案計劃。
對應至 Project Server 欄位的工作項目欄位:根據預設,同步處理引擎會同步處理下列 Team Foundation 欄位:[標題]、[指派給]、[已完成工作]、[剩餘工作]、[原始評估]、[開始日期] 和 [結束日期]。您可以加入欄位並設定決定如何同步處理欄位的參數。例如,您可以決定工作項目表單上要出現哪些欄位,以及是否允許特定欄位擁有不同的值。
如需詳細資訊,請參閱將 Project Server 元件對應至 Team Foundation 元件與指定可同步處理的工作項目類型。
設定要進行同步處理的個別工作和工作項目
專案管理人員可決定企業專案計劃中要發行至 Team Foundation Server 的工作。小組成員可決定 Team 專案中要送出至 Project Server 的工作項目。專案管理人員可以將交付項目和工作的詳細分工發行至 Team Foundation Server,或是僅發行和管理摘要工作項目。部分限制適用於發行附屬工作或父子式工作項目,本主題稍後的更新期間和送出時執行的資料驗證將提供相關說明。
如需詳細資訊,請參閱在對應至 Team 專案的企業專案計劃中管理專案詳細資料與由上而下計劃對應至 Team 專案之企業專案計劃中的商業需求。
注意事項 |
---|
您可以將多個企業專案計劃對應至一個 Team 專案,但是只能將專案計劃中的一項工作對應或連結至 Team Foundation 中的一個工作項目。企業專案計劃中的每項工作在 Project Server 中都不同。送出至 Project Server 的工作只會更新 Team Foundation 中的一個工作項目。此外,在 Team Foundation 中建立且送出至 Project Server 的工作項目只會更新一個企業專案計劃。 |
更新期間和送出時執行的資料驗證
同步處理程序會在標記為要進行同步處理的工作和工作項目發行至 Project Server 之前,先進行驗證。資料驗證會在企業專案計劃與 Team 專案中強制執行。
專案管理人員發行企業專案計劃時
在 Project Professional 中工作的專案管理人員發行對應至 Team 專案的企業專案計劃時,系統會執行特定驗證檢查。Team Foundation 增益集會對設定為發行至 Team Foundation (也就是 [發行至 Team 專案=是]) 的工作執行下列驗證檢查:
針對 [工作項目類型] 欄位設定的值,必須符合其中一種設定為要參與目標 Team 專案之同步處理的工作項目類型。
重要事項 [文字30] 是與 [工作項目類型] 資料行相關聯的預設 Project 欄位,這個資料行用於同步處理工作與工作項目。如果您使用 [小組] 功能區功能表上的 [選擇 Team 專案] 選項,將專案計劃連接至 Team Foundation Server,則同樣標示為 [工作項目類型] 的額外 Project 欄位就會變成可用的欄位。這個欄位 (預設 Project 欄位是 [文字24]) 支援對應繫結至 Team Foundation 的專案計劃,但不支援同步處理計劃。以 [文字24] 為基礎的欄位包含 Team 專案工作項目類型的完整清單。您可以指向欄位並確認是否顯示 [文字30],藉此驗證欄位是否正確。
對應之 Project 欄位的所有值都必須通過特定檢查,以確保其值並未違反針對目標工作項目類型所設定的規則。這些規則會在企業專案計劃對應至 Team 專案時加入至該計劃。
工作發行之後,就不能變更針對 [發行至 Team 專案] 和 [工作項目類型] 設定的值。如果您不想要繼續同步處理某一項工作,則必須將該工作刪除。
如果工作和它的其中一個附屬工作都標記為要進行同步處理,則兩者之間的所有工作也都必須標記為要進行同步處理。
工作的 [資源名稱] 欄位值必須符合目標 Team 專案中有效參與者的名稱。
如果有多個資源指派給同一項工作,只需要選取其中一個做為使用中的資源指派。如需詳細資訊,請參閱讓計劃管理辦公室能夠查看 Agile 小組進度。
所有值都必須符合 Project Server 套用至特定欄位定義的規則。例如,如果您將某個值指派給與查閱資料表相關聯,但不在查閱資料表中的對應欄位,可能會發生錯誤。
只要違反一項或多項規則,[驗證解析] 對話方塊就會出現。專案管理人員必須先解決各項錯誤,才能發行變更。
開發人員從 Team Foundation 送出新的或更新的工作項目時
在 Team Foundation 中工作的開發人員建立或更新工作項目並且儲存變更時,系統會對設定為發行至 Project Server (也就是 [送出至 Project Server=是]) 的工作項目執行下列驗證檢查:
[指派給] 欄位的值必須對應同樣已加入至企業資源集區和專案計劃之專案資源的小組成員。如需詳細資訊,請參閱指派權限以支援 Project Server 和 Team Foundation Server 的整合。
如果只有一個企業專案計劃對應至 Team 專案,則新建立之工作項目的 [Project Server] 索引標籤上的 [企業專案] 欄位中,會自動出現該企業專案計劃的名稱。
如果有多個企業專案對應至 Team 專案,則您必須為新建立且其 [送出至 Project Server] 值設定為 [是] 之工作項目的 [企業專案] 欄位指定值。
當工作項目已經連結至 Project 工作之後,您就無法變更工作項目的階層結構。如需詳細資訊,請參閱在多個層級巢嵌之工作項目的摘要工作、工作階層以及送出。
已加入至對應的工作項目類型的規則可能會導致驗證錯誤,當您發行專案計劃時。例如,條件式規則可以限制值使用者可以指派給欄位。如需詳細資訊,請參閱使用欄位規則。
基本規則,例如查閱資料表,對應於欄位定義 Project Server 的可能狀態同步處理時發生錯誤。例如,將會發生錯誤,如果您使用的是查閱資料表定義欄位加入至 Team Foundation 的欄位中欄位的專案中,對應的有效值,然後將 Team Foundation 的欄位為不在查閱資料表中的值。
工作項目發行至 Project Server 之後,該項目就會繫結至目標企業專案計劃中的某一項工作。這個繫結也稱為連結。連結在同步處理期間會被鎖定。若要移除連結,您必須刪除 Project 中對應的工作,或是在移除專案計劃或工作項目類型的對應時使用 /force 選項。如需詳細資訊,請參閱移除元件使其不再參與資料同步處理。
回到頁首
鏡像欄位和「兩組記錄」
由於同步處理引擎會執行三種類型的同步處理,並且在排定的交涉中與兩個資料庫進行通訊,因此不會發生資料合併。取而代之的是,資料同步處理會依照兩個步驟的順序執行,而引擎也會允許兩種產品之間出現分歧。針對 Team Foundation 中每一個同步處理的欄位,您可以定義鏡像欄位來儲存 Project Server 中對應之對應欄位的值。在定期同步處理作業期間,如果在 Team Foundation Server 中更新值,兩個欄位的時間將會不同,直到專案管理人員核准更新,並發行專案計劃為止。
對於您要對應的每個欄位,您可以為您如何指定下列其中一個選項要同步處理引擎更新 Team Foundation的參考欄位:
請一律更新 Team Foundation Server 的參考欄位與從 Project Server (PSWins) 的值。
允許參考欄位值。 Team Foundation Server 與在 Project Server 中指派的值不同。此策略稱為「兩組記錄」。
當您維護兩組記錄時,可以建立一個查詢來尋找兩個值不同的那些工作項目。如需詳細資訊,請參閱了解管理特定欄位更新的方式與尋找在 Team Foundation 中的工作與在 Project Server 中的工作不相同的工作項目。
如需詳細資訊,請參閱Team Foundation Server 和 Project Server 之整合的欄位對應 XML 項目參考。
回到頁首
支援同步處理所需的使用權限
以下為在 Team Foundation Server 和 Project Server 之間進行資料同步處理時必要的使用權限:
針對 Project Server 2007,您必須對執行 TfsJobAgent 的服務帳戶授與共用服務提供者的存取權。如需詳細資訊,請參閱將 Team Foundation Server 的服務帳戶加入至 Project Server 2007 的共用服務提供者。
針對 Project Server 2010,您必須對執行 TfsJobAgent 的服務帳戶授與 [完全控制] 權限,以便存取 Project Server 服務應用程式。如需詳細資訊,請參閱將 Team Foundation Server 的服務帳戶加入至 Project Server 2010 的 Project Server 服務應用程式。
您必須將存取每一個對應的 PWA 執行個體所需的使用權限,授與執行 TfsJobAgent 的服務帳戶。
指派給 Project Professional 中的工作或 Team Foundation 中的工作項目的使用者,必須在 Team 專案中識別為「參與者」。這些使用者也必須識別為企業專案計劃的資源,並且獲得登入參與同步處理程序之 PWA 執行個體的使用權限。
如需詳細資訊,請參閱指派權限以支援 Project Server 和 Team Foundation Server 的整合。
回到頁首
錯誤通知、事件記錄和可追蹤性
同步處理引擎會處理發行至 Project Server 的專案更新,接著處理狀態更新和核准更新。當您發行時,您要更新 Project Server,並將工作和工作詳細資料加入至企業專案計劃中。發行同步處理會將資料從 Project Server 提取到 Team Foundation Server 中。狀態同步處理會從 Team Foundation 提取資料來更新專案管理人員的核准佇列,而核准同步處理會將像是 [剩餘工作] 和 [已完成工作] 這類欄位的更新發行至 Project Server,以起始新的同步處理週期。
每一種類型的同步處理都可對 Project Professional 或 PWA 執行個體中的專案管理人員顯示相關狀態和錯誤訊息。此外,與同步處理引擎及其組態相關聯的狀態和錯誤訊息也可以寫入 Team Foundation Server 和 Project Server 中適當的管理介面。
專案管理人員、小組成員和系統管理員都可以檢視和診斷與同步處理相關的訊息 (如果發生的話)。訊息會寫入下列位置:
在 Project Professional 中,企業專案計劃的狀態列會顯示發行進度。
在 PWA 執行個體中,[核准中心] 會顯示更新之工作的佇列。
在 Team Foundation 的工作項目表單中,[Project Server] 索引標籤會指出最近一次同步處理工作項目的狀態和時間。
在 Team Foundation 的工作項目表單中,[記錄] 欄位會在每一次更新工作項目之後記錄同步處理狀態和錯誤訊息。當您與 Project Server 2010 整合時,專案管理人員核准或拒絕狀態更新時所寫入的註解也會記錄到 [記錄] 欄位中。
參與資料同步處理之應用程式層伺服器的事件記錄檔會保留所有同步處理事件和錯誤的記錄。
系統管理員可以使用 TfsAdmin ProjectServer /GetSyncMessages 命令擷取最近一次發生之事件的訊息。如需詳細資訊,請參閱檢視同步處理引擎錯誤訊息。若要收集更詳細的資訊,您可以為執行服務的 Team Foundation 背景工作代理程式啟用詳細追蹤功能。如需詳細資訊,請參閱Team Foundation 背景工作代理程式。
回到頁首
請參閱
概念
管理 Team Foundation Server 和 Project Server 的整合
其他資源
Managing Projects Using Project Professional Mapped to a Team Project