共用方式為


Project Server 可程式性

瞭解 Project Server 2013 中的主要可程式性功能。 本文包含針對舊版 Project Server 所建置之移植應用程式的相關信息。

Project Server 2013 的設計目的是要支援針對 Project Server 2010 開發的大部分應用程式,以及適用於多個平臺的新解決方案,讓應用程式可以存取在線和內部部署 Project Server 安裝。 針對 Project Server 2003 或更早版本開發的應用程式和延伸模組,必須重新設計為使用客戶端物件模型 (CSOM) 或 Project Server Interface (PSI) 。 針對 Office Project Server 2007 或 Project Server 2010 開發的應用程式可能需要進行一些變更,並重新編譯才能使用 PSI;若要使用 CSOM,這些應用程式需要重新設計。

Project Server 平台藉由建置 SharePoint Server 2013、.NET Framework 4,以及使用 CSOM 的 OData 通訊協定,來實現高階的程式設計人員生產力。 開發人員可以使用應用程式、應用程式元件和網頁元件擴充 Project Web App、使用 SharePoint Designer 2013 定義工作流程,以及針對 Project Server 事件使用遠端事件接收器來強制執行商務規則。

Project Server 和 SharePoint Server

Project Web App 建置在 SharePoint Server 2013 上,並使用主版頁面和網頁元件,讓您更輕鬆地建置自定義應用程式和 Project Web App 解決方案。 Project Server 2013 與 SharePoint Server 2013 深度整合,作為專案共同作業、報告、網站管理、安全性和工作流程管理的平臺。

專案網站包含小組成員的詳細資訊和共同作業選項,您可以在其中新增預設應用程式,包括專案摘要、具有時程表的工作特製化 SharePoint 清單、追蹤問題、風險、專案交付專案,以及小組行事曆,以及文檔庫和小組討論。 Project Server 2013 的自定義應用程式提供小組共同作業的延伸模組和彈性。 您也可以使用相同的機制,在編輯頁面時新增和編輯網頁元件,以新增應用程式元件來自定義應用程式。 您可以在安裝 Project Server 的 SharePoint 伺服器陣列內的任何位置找到項目網站。 若要使用 SharePoint Server 2013 的其他核心服務,例如 Excel Services 和企業搜尋,系統管理員可以啟用和設定服務。

當您安裝 Project Server 2013 時,您會在 SharePoint Web Services 網站中布建 Project Service 應用程式。 Project Service 應用程式包含本機 Windows Communication Foundation (WCF) 服務和適用於 PSI 的 ASMX Web 服務。 服務應用程式的其他範例包括 SharePoint 搜尋和 SharePoint 檔管理。 如需詳細資訊,請參閱 SharePoint Server 2013 開發人員檔。

Project Service 應用程式是邏輯服務提供者,可管理多個 Project Web App 實例。 Project Server 布建會在 SharePoint Web 應用程式內建立特定 Project Web App 網站。 Project Web App 的首頁包含 Project Center 頁面、資源中心頁面和商務智慧中心頁面的連結,以及包含其他標準應用程式清單的頁面。 圖 1 顯示 Project Web App 首頁上 [設定] 下拉式清單中的 [編輯頁面] 命令,可讓您新增或編輯網頁元件。

注意事項

Project Web App 中的某些系統管理頁面,例如 [PWA 設定] 頁面,無法編輯,而且不會顯示 [編輯頁面] 命令。 Project Web App 不允許您使用 SharePoint Designer 2013 來編輯頁面。 您可以使用 SharePoint Designer 2013 來編輯專案網站頁面。

圖 1: 在 Project Web App 中使用 [編輯頁面] 功能表

在 Project Web Access 中編輯首頁

若要存取 Project Web App 中的 [網站設定] 頁面,請選擇頁面右上角的 [設定] 圖示。 [網站設定] 頁面 ( https://ServerName/ProjectServerName/_layouts/15/settings.aspx) 可變更外觀和風格及網站主題、新增自定義網頁元件,以及修改或建立專案網站的主版頁面。

不支援在 ASPX 頁面中自定義程式碼,或使用 SharePoint Designer 2013 自定義 Project Web App 主版頁面。 在 Project Web App 頁面中自定義程式代碼可能會導致 Project Server 更新和 Service Pack 發生問題。

使用 SharePoint 套件自定義 Project Web App

因為 Project Web App 是 SharePoint 應用程式,而且項目網站是 SharePoint 網站,所以您可以使用 SharePoint 套件 (.wsp 檔案) 或 sharePoint 應用程式, (.spapp 檔案) ,來新增自定義應用程式、網頁元件、事件處理程式、自定義字段和其他功能。 SharePoint 套件或應用程式套件可以包含多個 Project Server 實體,其中實體定義是在套件內的 elements.xml 檔案中指定。

針對 Project Online,您可以將按鈕新增至 Project Web App 功能區,但無法移除或重新命名現有的產品按鈕,也無法建立新的功能區索引標籤。 如需詳細資訊,請 參閱建立自定義動作以使用 SharePoint 應用程式進行部署

注意

當您安裝 SharePoint 套件或應用程式套件時,Project Server 實體的類型必須以 PSEntityProvision.xsd 架構指定的順序顯示,或是套件的架構驗證失敗,且安裝未完成。

PSEntityProvision.xsd 架構檔案可在 Project 2013 SDK 下載的 子目錄中 Documentation\Schemas\AppProvisioning 取得。 圖 2 顯示 Visual Studio 中 PSEntityProvision 架構的 XML 架構總管檢視,其中 會展開 LookupTable 序列。

圖 2: Project Server 實體布建架構的 Visual Studio 檢視

Project Server 實體架構

安裝 Project Server 功能的 SharePoint 套件可以包含一或多個遵循 PSEntityProvision 架構的 elements.xml 檔案。 單一 XML 檔案中的 Project Server 實體必須以下列順序出現:

  1. 工作流程階段

  2. 查閱表格

  3. 自訂欄位

  4. 工作流程階段

  5. 企業專案類型

  6. 事件處理常式

當您建立包含 Project Server 實體的 SharePoint 套件時,可以將實體定義放在多個 elements.xml 檔案中。 每個 XML 檔案都可以通過架構驗證,但整個封裝中的實體可能不是正確順序。 例如,第一個 XML 檔案中的自定義欄位實體可以參考第二個 XML 檔案中的查閱表格。 在安裝期間,無法建立自定義欄位,因為尚未建立查閱表格。

如果封裝安裝失敗,已建立的物件會保留在 Project Web App 中,但套件不會完全安裝。 重新安裝套件可以運作,但對於客戶而言,這不是很好的體驗。 當實體定義跨越多個 elements.xml 檔案時,請在整個 SharePoint 套件中組織 Project Server 實體,以確保安裝遵循正確的順序。 使用 Project 2013 SDK 下載中的 PSEntityProvision.xsd 架構,可以開發工具來檢查 XML 檔案中指定的實體順序。

使用 Project Server API 升級應用程式

當您升級針對舊版 Project Server 開發的應用程式時,可以選擇使用 CSOM 或 PSI 作為程式設計介面,其中包含在 CRUD 作業) (建立、讀取、更新和刪除項目實體的方法。 雖然 CSOM 會在內部呼叫 PSI,但不會完全取代所有 PSI 方法。 如需 PSI 和 CSOM 的案例和限制,請參閱 PSI 的用途和不執行的動作 ,以及 CSOM 的用途和作用

注意事項

如果 CSOM 包含您所需的功能,建議您將應用程式升級為使用 CSOM。 CSOM 可讓應用程式用於 Project Server 2013 的內部部署和在線安裝。

如果您的應用程式主要從 Project Server 讀取資料,您可以針對內部部署案例使用 Project Server 資料庫中的報告資料表和檢視。 如果您想要將應用程式與 Project Online 搭配使用,您可以使用 ProjectData 服務的 OData 通訊協定,以提供報表數據的內部部署和在線存取。 如需詳細資訊,請參閱 ProjectData - Project OData 服務參考

使用 PSI

PSI 可讓完全信任的用戶端應用程式,包括 Project 專業版 2013、Project Web App 和 LOB 應用程式,存取 SharePoint 伺服器陣列內的 Project Server 資料。 PSI 是與 .NET Framework 4 一起建置和使用,並提供一些優點,例如具有內建安全性、錯誤處理和垃圾收集的已知開發環境。

PSI 是透過 WCF 服務或 ASMX Web 服務來存取。 ASMX 介面是以 WCF 為基礎。 每個 PSI 服務通常會包含基類,其中包含該類別內專案的 CRUD 方法。 專案是由相關 DataSet 類別指定。 例如, CustomFields 服務包含 CustomFields 類別與 CreateCustomFields2 之類的方法。 一或多個企業自定義欄位的數據是在 CustomFieldDataSet 中指定。

注意事項

在 Project Server 2013 中,PSI 的 ASMX Web 服務介面已被取代。 雖然 ASMX 介面仍然可用,但使用 PSI 的新應用程式應該使用 WCF 介面,或者,如果可能的話,新的應用程式應該使用 CSOM,而不是 PSI。 未來的 Project Server 版本需要升級現有的 ASMX 型應用程式,才能使用 PSI 的 WCF 介面或使用 CSOM。

WCF 介面和 ASMX 介面中有 22 個公用、記載的 PSI 服務重複。 PSI 也包含八個未記載的私人服務。 Project Web App 和 Project 專業版 使用公用 PSI 服務和私人 PSI 服務。 PSI 通常會被納入考慮,以符合商業物件。 也就是說,每個 PSI 方法都會與行事 資源等商務對象相關聯。 PSI 是商務物件的主要介面。 由於商務層提供可重複使用的商業規則元件,因此與 Project Server 數據互動的不同應用程式會使用相同的商業規則。

以異步方式與 Project Server 互動的 PSI 方法具有以 Queue 開頭的名稱。 每個 PSI 方法都是使用使用強型別數據的個別介面來實作。 例如,Project 服務中的 QueueCreateProject 方法會接受 ProjectDataSet 類型的數據集參數。 ProjectDataSet 類別衍生自 DataSet 類型。 Visual Studio 中 .NET Framework 和 IntelliSense 完成的類型檢查有助於減少使用 PSI 開發時的錯誤。 如需 PSI 命名空間、類別、方法、屬性、事件和相關元件的詳細參考簡介,請參閱 專案 PSI 參考概觀

Project Server 2013 會使用 .NET Framework 的例外狀況處理。 所有錯誤都會記錄在伺服器的 PSI 堆疊頂端。 有些錯誤會將簡單的報表傳送至用戶端,例如 ASMX 介面的 SoapException 物件或 WCF 介面的 FaultException 物件。 例外狀況可以記錄在應用程式事件記錄檔中,而某些錯誤也會在整合記錄服務 (ULS) 追蹤記錄中記錄伺服器上的詳細報告。

對於本機完全信任應用程式,PSI 也可擴充。 您可以使用可提供新功能的服務來新增 .NET 元件、使用相同的 Project Server 安全性基礎結構,以及呼叫其他 PSI 方法或繼承自 PSI 類別。 PSI 擴充功能也可以提供新功能所需的商業規則和數據庫存取權。

使用 CSOM

使用 CSOM,您可以開發可存取 Project Online 或內部部署 Project Server 2013 安裝的應用程式。 應用程式可以散佈在公用 Office 市集或私人應用程式目錄中。 CSOM 是設計成容易使用的 API,可透過 LINQ 查詢直接依名稱取用或提供數據,而不是傳遞數據集和建構 changeXml 參數或 XML 篩選 參數。 CSOM 會實作主要實體的 Project Server 介面 (PSI) 的主要功能,例如 ProjectTaskEnterpriseResourceAssignment。 CSOM 包含許多其他實體,例如 CustomFieldLookupTableWorkflowActivitiesEventHandlerQueueJob,可支援其他常見的 Project Server 功能。

將下列資源複製到本機開發計算機,即可使用 CSOM:

  • 若要 .NET Framework 4 開發,請複製%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll元件。

    如需 CSOM 類別和成員的檔,請參閱 Microsoft.ProjectServer.Client 命名空間。 如需範例應用程式,請 參閱開始使用 CSOM 和 .NET

  • 針對 Microsoft Silverlight 開發,請複製 %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Silverlight.dll 元件。

  • 若要開發 Windows Phone 8 的應用程式,請複製%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Phone.dll元件。

  • 若要使用 JavaScript 來開發其他裝置的 Web 應用程式和應用程式,請複製 %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js 檔案和 PS.debug.js 檔案。 如需範例 Web 應用程式,請 參閱開始使用 Project Server 2013 JavaScript 物件模型

CSOM 會在內部呼叫 PSI;因此,如果 PSI 無法執行作業,CSOM 也無法執行。 如需 CSOM 的限制,請參閱 CSOM 的用途和不執行 的動作,以及 PSI 的用途和不執行的動作。 如需使用 CSOM 進行開發的詳細資訊,請參閱 Project 2013 中開發人員的 匯報,以及 Project 2013 的客戶端物件模型 (CSOM)

為 Project Server 2003 建置的移植應用程式

在 Project Server 2003 中,許多數據和功能僅適用於 Project 專業版 2003 或直接數據庫存取。 Project Server 2007 中引進的 PSI 會移除大部分的限制。 不同於 Project Data Service (Project Server 2003 中的 PDS) ,PSI 和 CSOM 為 Project Server 中的商務物件提供完整的介面。

針對 PDS 開發的應用程式與更新版本的 Project Server 不相容。 CSOM 和 PSI 提供 PDS 的功能同位,但不符合 PDS 方法或參數。

注意事項

由於必須針對 Project Server 2013 完全重新設計 PDS 應用程式,因此建議您使用 CSOM。

如需 PDS 相容性的詳細資訊,以及將 PDS 擴充功能移植到 PSI 的指導方針,請參閱 PSI Web 服務中的 PDS 同位

為 Project Server 2007 和 Project Server 2010 建置的移植應用程式

Project Server 2013 中的 PSI 是 Office Project Server 2007 和 Project Server 2010 中 PSI 物件模型的超集。 許多針對兩個舊版 Project Server 建置的應用程式會繼續在 Project Server 2013 的本機完全信任內部部署安裝中運作。 不過,下列類型的應用程式需要更新或重新設計:

  • 將 CSOM 用於適用於與 Project Online 搭配使用的應用程式。

  • 針對適用於行動裝置和 Tablet 電腦上使用的應用程式,請使用 CSOM。

  • 針對 Office 市集中的應用程式或私人應用程式類別目錄中可用的應用程式,請使用 CSOM。

  • 對於修改專案排程的應用程式,請使用 CSOM,或將應用程式變更為使用 QueueUpdateProject2 PSI 方法。

  • 登入不同 Project Web App 實例之使用者的本機或 Web 應用程式,應該針對 CSOM 或 PSI 的 WCF 端點使用程式設計設定。 方法已被取代。 應用程式應該使用 OAuth 驗證來取代窗體驗證,並搭配 Project Online 使用。 如需詳細資訊,請參閱 SharePoint 2013 中應用程式的授權和驗證

  • 依賴或修改特定 Project Server 安全性設定的應用程式。

    注意事項

    Project Server 2013 的預設內部部署安裝會使用 SharePoint 許可權模式,其中 Project Server 安全性設定無法透過 PSI 存取。 To change to the Project permission mode, see the SharePoint Permission Mode section in What's new for IT pros in Project Server 2013.

  • 針對許多自定義 Project Server 工作流程,您可以使用 SharePoint Designer 2013 來建立宣告式工作流程。 對於需要其他程序設計的自定義工作流程,您 不應該 直接使用 Microsoft.Office.Project.Server.Workflow 命名空間中的類別或成員。 請改用 CSOM 中的 Microsoft.ProjectServer.Client.WorkflowActivities 類別。

  • 一般而言,應該重寫使用仿真的應用程式,以使用 PSI 的 WCF 介面。 為其他用戶進行簡單狀態更新的應用程式不需要模擬。 他們可以在 CSOM 中使用 StatusAssignment.SubmitStatusUpdates 方法,或使用 PSI 中的 Statusing.SubmitStatusForResource 方法。

  • 在 Project Server 計算機上執行的中間件元件只能安裝供內部部署使用,而且必須使用 PSI 的 WCF 介面。 例如,使用 ASMX 介面在內部部署 Project Web App 與外部時程表應用程式之間交換資料的中間件元件,必須重寫才能使用 PSI 的 WCF 介面。 若要使用 Project Online,元件必須重新設計為應用程式,並使用 CSOM。

自訂解決方案的移轉和相容性

PSI 公用 ASMX 和 WCF 介面中的類別和成員完全相同。 但是,在 Project Server 2013 和前兩個 Project Server 版本之間,PSI 方法所使用或傳回的數據表數據行數目和大小可能會不同。 相較於舊版的報表資料庫,報告數據表和檢視也有差異。

重要事項

強烈建議您先在 Project Server 2013 的非生產環境安裝上徹底測試解決方案,再將它們部署到生產伺服器。

當您將方案移轉至 Project Server 2013 時,或如果方案未如預期般運作,您至少應該執行下列動作:

  • 在 Visual Studio 2012 中開啟解決方案以更新解決方案。 某些解決方案也可以使用 Visual Studio 2010。

  • 將目標變更為 .NET Framework 4。

  • 變更元件參考以使用 Project Server 2013 元件,例如 Microsoft.Office.Project.Server.Library.dll 和 Microsoft.Office.Project.Server.Events.Receivers.dll。

  • 建立 ASMX Web 參考或 WCF 服務參考和命名空間名稱的清單,然後刪除 Project Server 參考。

  • 新增 ProjectServerServices.dll Proxy 元件,您可以在 Project 2013 SDK 下載中從 WCF Proxy 來源檔案建置,或新增必要 WCF 服務的 Proxy 來源檔案。 針對 ASMX 服務,請使用相同的命名空間名稱,再次新增前端 ASMX Web 服務參考;或新增 ProjectServerServices.dll Proxy 元件,您可以在 Project 2013 SDK 下載中從 WSDL 來源建置。

    注意事項

    在 Project 2013 SDK 下載中,Proxy 來源檔案中的命名空間全都是以 Svc 開頭。 例如,WCF Proxy 檔案和 ASMX Proxy 檔案中的 資源 服務命名空間是 SvcResource。 > 如果您的應用程式使用不同的命名空間名稱,您可以重新編譯 Proxy 元件以使用您的命名空間,或變更應用程式中的 PSI 命名空間。 例如,您可以修改CompileWCFProxyAssembly.cmd腳本,然後從 SDK 下載中的 Proxy 來源檔案重新編譯 ProjectServerServices.dll。

  • 如果您從使用 PSI 的 ASMX 介面變更為 WCF 介面,您可以透過程式設計方式或在 app.config 中使用 WCF 端點來初始化用戶端類別。當您必須快速切換至不同的 Project Web App 實例,或開發使用 PSI 的網頁元件時,請使用程式設計初始化。

  • Project Server 2013 中的 PSI 服務中有數個新方法和數據集,有些 DataRow 類別包含新的屬性。 例如,PSI 中的 QueueUpdateProject2 方法會使用 Project Server 排程引擎來重新排程更新的專案,而不需要在 Project 專業版 2013 中開啟專案,也允許在相同的呼叫中新增或刪除項目實體。

  • 編譯和測試解決方案。

伺服器上的專案排程

Project Server 2013 有兩個排程引擎。 較新的排程引擎與 Project 專業版 2013 中的排程引擎相同。 當您在 Project Web App 或項目網站中使用 [排程網頁元件] ([專案詳細數據] 頁面) ,或使用 CSOM 進行排程變更併發佈變更時,日期、成本、工期、剩餘工時、基準和其他與排程相關的變更,與您使用 Project 專業版 2013 進行變更及發佈專案一樣。 不過,除了 QueueUpdateProject2 方法之外,PSI 方法會使用從 Project Server 2010 移轉的舊版排程引擎。 原因是要確保舊版應用程式在 Project Server 2013 中的行為與先前相同。

注意事項

若要在 Project Server 2013 中使用更新的排程引擎,應用程式可以使用 CSOM。

較舊和較新的排程引擎都有下列限制:

  • 僅限單一專案排程排程只會影響目前的專案、透過 PSI 或 CSOM 的工作狀態更新或使用 Project Web App 進行變更時。 如果目前的專案具有其他專案、子專案或主要項目的連結,則不會變更連結的專案。

  • 摘要任務 摘要任務在 Project Server 上通常是唯讀的。 例如,無法建立摘要任務的指派,而且無法修改完成百分比。 不過,Project Server 支援編輯手動排程摘要工作的日期和持續時間。

    Project Server 上的實際值不會自動新增至摘要任務指派,因為這樣會略過 Project Server 中的核准程式。 在 Project 專業版 中,當您將實際值新增至子工作時,也會針對摘要任務的指派新增實際值。 使用者的行為差異可能會造成混淆。

    如果子任務工期縮短或完成日期變更,Project Server 會刪除摘要任務指派的實際值。

    注意

    雖然 Project 專業版 可以這麼做,但建議您不要對摘要工作進行指派。

以下是使用舊版 Project Server 排程引擎進行 PSI 程式設計的問題和限制:

  • 變更工作的使用中狀態如果數據集參數的 ProjectDataSet 物件中有多個變更,當您使用 QueueUpdateProject 方法來變更工作的使用中狀態時,較舊的 Project Server 排程引擎可能會顯示不一致的開始或完成時間。 如果 TASK_IS_ACTIVE 屬性是 QueueUpdateProject數據集參數中的唯一變更,您可以更新專案。

    如需非使用中工作和較舊排程引擎的詳細資訊,請參閱部落格文章介紹 Project 2010 和 Project Server 2010 中的非使用中工作:網頁排程、PSI 和 Project 專業版。 如需在 Project 專業版 2010 和 Project Server 2010 中 Project Web App 排程的比較,請參閱 Web 型排程管理比較

  • 未計算所獲得的值 較舊的排程引擎不會計算獲利的值字段:ACWP、BAC、BCWP、BCWS、CPI、CV、CV%、EAC、SPI、SV、SV%、TCPI、VAC、持續時間差異、開始差異、完成差異、成本差異和工作差異。 如果專案具有這些欄位的值,而且使用 QueueUpdateProject 方法更新專案,則域值不會變更。 若要避免此問題,請使用 QueueUpdateProject2 方法。

您可以透過下列方式處理 PSI 排程限制:

  • 如果 CSOM 具有應用程式所需的方法,請使用 CSOM 而非 PSI。

  • 在 Project 專業版 中開啟專案,並將其儲存回 Project Server。

  • 在報表中,請勿包含 PSI 不會更新的欄位。

  • 在報表中新增可能過時數據的附註。

報表數據表和 Cube 中有旗標可協助您偵測某些項目數據何時未更新。 MSP_EpmProject資料表和 MSP_EpmProject_UserView 中的報表資料包含下列欄位:

  • ProjectWbsIsStale – 指出工作大綱) 階層 (的工作分解結構是否已過時。

  • ProjectEarnedValueIsStale – 指出所獲值字段已過時。

  • ProjectRollupsAreStale – 指出草稿資料庫中已更新子專案,但不會更新主要專案。 來自子項目的匯總值已過時。

  • ProjectHierarchyNotSynchronized – 主要專案不會與其子專案同步處理。 當子項目明確發佈,而不是主要項目發佈的一部分時,就會發生這種情況。

  • ProjectCalculationsAreStale – Project 專業版 儲存專案而不計算排程 (也就是,計算模式會在 [項目選項] 對話框) 的 [排程] 索引卷標上設定為 [手動]。

  • ProjectGhostTaskAreStale – 類似於 ProjectHierarchyNotSynchronized,但會警告跨專案鏈接數據。 可能沒有任何主要專案存在,但連結一端的項目數據比另一端更新。

關於存取 Project Server 資料庫

如果您在 Microsoft SQL Server 中具有存取 Project Server 資料庫的許可權,您可以讀取報表數據表和檢視。 如果您有必要的 Project Server 許可權,您也可以使用 OData 查詢從報告數據表讀取數據。 強烈建議開發人員透過 Project Server 資料庫中的 SQL Server 查詢,直接存取草稿、已發佈或封存數據表。 直接變更 Project Server 資料庫中的任何數據表,可能會損毀引用完整性,並透過 Project Server 佇列服務干擾數據庫存取。

重要事項

沒有任何項目可主動防止您使用直接的程式設計數據庫存取來更新數據。 您應該注意,Project 專業版 快取、已發行的數據表和報告數據表都依賴可由直接數據編輯中斷的快取同步處理通訊協定。 如果您使用直接存取變更數據來損毀 Project Server 資料庫或損毀 Project 專業版 用戶端快取,則會收到警告,指出產品支援將無法提供協助!

直接存取草稿、已發佈或封存數據表和檢視的應用程式也取決於資料庫架構,而資料庫架構可能會在 Service Pack 或更新版本的 Project Server 2013 中變更。 直接存取資料庫的應用程式也會失去內建的 Project Server 安全性、一般商業規則、追蹤、稽核、錯誤檢查、報告、工作流程和其他功能。 在 Project Server 2013 更新之後,您可能必須重寫這類應用程式。

基於上述所有原因,Project 專業版 和 Project Web App 不會直接呼叫草稿、已發佈或封存數據表;任何其他與 Project Server 整合的應用程式都不應直接呼叫。

未記載草稿、已發行和封存數據表的架構。 您可以使用報告數據表來協助產生報表,而報表數據表和檢視的架構則記載於 Project 2013 SDK 下載中。 如需報告數據的 OData 架構,請參閱 ProjectData - Project OData 服務參考

另請參閱