共用方式為


Project 中開發人員的更新

Project Server 2013 中的擴充性功能適用於 Project Online 和內部部署安裝的載入宏。 新功能包括客戶端物件模型 (CSOM) 、REST 介面、用於報告的 OData 服務、遠端事件接收器、宣告式工作流程,以及 Project 用戶端的工作窗格載入宏。 另請瞭解不應用於新開發的已淘汰功能。

Project Server 2013 建置在 Microsoft Office Project Server 2007 和 Project Server 2010 所擴充的架構上。 Project Server 2013 (CSOM) 新增客戶端物件模型,該模型會從 Project Server 介面 (PSI) 重構和簡化,並包含適用於 Windows 應用程式的 JavaScript 連結庫和 .NET Framework 4 連結庫、Windows Phone 8 和 Microsoft Silverlight。 CSOM 是專為 Project Online 開發而設計,也適用於內部部署 Project Server 安裝。

Project Server 資料庫會合併成單一資料庫;您可以透過 OData 服務存取線上報告資料表和檢視。 CSOM 和 OData 服務包含具表示狀態傳輸 (REST) 介面。 Project Server 工作流程可以使用 SharePoint Designer 2013 來建立。 Project Professional 2013 可以使用工作窗格的 Office 載入宏擴充性模型,與 Project Server 報告數據、SharePoint 工作清單和其他外部內容整合。 Project Standard 2013 可以使用工作窗格載入宏與一般外部內容整合。

如需 Project Server 2013 中重大變更的圖表和詳細資訊,請參閱 Project Server 2013 架構

注意事項

Project Server 2013 建置在 SharePoint Server 2013 平臺上,而 Project 2013 包含與其他 Office 2013 應用程式相同的大部分基礎結構。 如需 SharePoint 載入宏、SharePoint 型工作流程、網頁元件、其他 SharePoint 功能的開發,以及 Office 載入宏檔的模型檔,請參閱 SharePoint 載入宏、 Office 載入宏和 SharePoint 2013 開發概觀

Project 2013 中的主要新功能

Project Standard 2013 和 Project Professional 2013 的新功能包括改良的使用者介面,其符合其他 Office 2013 應用程式,並支援 Windows 8 中的新式樣式使用者介面、與報表的 Office Art 物件整合、待處理報表,以及報表的新可程式性功能。 Project Professional 2013 可讓您在 SharePoint Server 2013 上進行更廣泛的共用和同步處理專案,以及同樣在 Word、Excel 和 Outlook 等其他 Office 2013 應用程式中實作的工作窗格載入宏。

Project Server 2013 中有許多新功能。 有些沒有主要的可程式性案例,例如 Project Web App 中的新時程表。 這些功能將記載在 Microsoft Office Online 的產品說明和用戶檔中,以及Microsoft TechNet 上以系統管理員和 IT 專業人員為目標的主題中。 其他新功能,例如改良的時程表,可讓第三方開發人員更輕鬆地透過 Project Server 介面 (PSI) 與時程表互動和狀態。

新增 Project Online 和 Office 市集 (https://office.microsoft.com/store) 專案載入宏是深遠的變更,其中 Project Server 可透過 Microsoft Azure 存取。 對 Project Server 的雲端存取會使用客戶端物件模型 (CSOM) ,以使用使用 JavaScript 的 Microsoft .NET Framework、Microsoft Silverlight、Windows Phone 和 Web 應用程式來開發載入宏。 Project Online 的一項需求是將舊版的四個 Project Server 資料庫合併成一個資料庫。

Project Server 2013 效能和延展性已在許多方面改善,例如工作狀態、時程表和專案管理。 Project Server 工作流程是使用第 4 版的 Windows Workflow Foundation (WF4) 重新設計。 搭配 PSI 使用 .NET Framework 4 和 Windows Communication Foundation (WCF) 可改善安全性、效能和延展性。 例如,您可以使用組態檔來變更 WCF 型應用程式的傳輸通訊協定,而不需要變更應用程式程式代碼或重新編譯。 Project Web App 會快取許多 PSI 呼叫,其中的數據不會大幅變更。

注意事項

若要使用 Project Server 2013 進行開發,您可以使用 Visual Studio 搭配 Office 和 SharePoint 工具延伸模組,以原生方式建立 Office 2013 產品的載入宏。 Project Server 2013 需要 Visual Studio 完全啟用功能的開發,例如專案詳細數據頁面和以 WCF 為基礎的應用程式。 Visual Studio 中的 SharePoint 工具延伸模組可以將 Web 元件和其他 SharePoint 功能直接部署到 Project Web App 和其他 SharePoint 網站。

Visual Studio 不再需要開發 Project Server 工作流程,這些工作流程使用可在 Project Web App 中管理的自定義欄位、階段、階段和企業項目類型。 雖然您可以使用 Visual Studio 來開發工作流程,但使用 SharePoint Designer 建立工作流程通常更容易且更快速。 Visual Studio 可用於需要存取 CSOM 或其他外部 API 的工作流程。

專案載入宏

軟體的散發和行銷已隨著載入宏的概念而徹底改變。 針對 Project 2013,載入宏可以從公用 Office 市集購買和下載,或在 SharePoint 的私人目錄內散發。 載入宏通常是獨立的互動式程式,可執行少量的相關工作。 Project 載入宏可以是 Project Standard 2013 或 Project Standard 2013 用戶端的工作窗格載入宏,也可以是 Project Server 2013 或 Project Online 的載入宏。

如需 Project 桌面用戶端載入宏的相關信息,請參閱 Project 中的工作窗格載入宏。 如需 Project Server 2013 範例,請參閱 建立 SharePoint 裝載的 Project Server 載入宏。 除了 Office 和 SharePoint 載入宏 SDK 中的文章之外, Office 部落格 還有許多與 Project 2013 和 Project Online 相關的文章。

Project Server 2013 的載入宏可以同時使用內部部署安裝和 Project Online。 Project Server 載入宏可以包含網頁元件、遠端事件接收器和商業規則。 存取載入宏中的 Project Server 物件模型是透過 CSOM,而不是 PSI。 數據記憶體可以是雲端式記憶體,例如使用 SQL Azure,外部,例如透過 Microsoft Business Connectivity Services (BCS) 、內部與本機資料庫或混合。

載入宏安全性

一般而言,載入宏所採取的動作會代表執行載入宏的用戶執行;您不會明確使用模擬或指定誰可以執行載入宏。 動作不能超過執行載入宏之使用者的許可權等級。

在 Office Developer Tools for Visual Studio 2012 中,AppManifext.xml 檔案具有圖形化編輯器,您可以在其中設定許可權要求範圍。 例如,若要建立可讓項目經理更新其專案的載入宏,請在 [AppManifest.xml 設計工具] 窗格的 [許可權] 索引標籤上,針對範圍選取 [多個專案],然後選取 [入] 作為許可權。 如果載入宏使用者具有專案經理許可權,她就可以針對自己管理的專案執行載入宏。 AppManifest.xml 檔案中的程式代碼會包含下列專案:

  <AppPermissionRequests>
    <AppPermissionRequest Scope="https://sharepoint/projectserver/projects" Right="Write" />
  </AppPermissionRequests>

表 1. Project Server 載入宏的許可權要求範圍

範圍 權限
Project Server
管理 (需要 Project Server 系統管理員許可權。)
多個專案
取、 入 (需要某些作業的專案經理許可權;基本讀取作業的專案小組成員許可權,例如工作分派.)
單一專案
取、 入 (至少需要專案小組成員許可權;存取專案中的某些數據取決於其他許可權等級。)
企業資源
取、 入 (需要資源管理員許可權。)
狀態
SubmitStatus (需要提交項目狀態的許可權。)
報表
取 (需要登入 Project Server 的許可權。)
工作流程
提高 (需要執行工作流程的許可權。載入宏會以較高的許可權執行,以在工作流程中啟用從階段到階段的轉換。載入宏控件階段 transitions.) 中的商業規則

注意事項

Project Server 2013 和 Project Online 不會使用 SharePoint 2013 中的僅限應用程式驗證模型 (請參閱 SharePoint 2013) 中的載入宏授權原則類型

如需開發、散發、裝載和管理載入宏的相關信息,請參閱 SharePoint Server 2013 和 Office 2013 開發人員檔中的 SharePoint 載入宏和 Office 載入宏,以及相關主題。 如需其他 SharePoint 載入宏許可權要求範圍的相關信息,請參閱 SharePoint 2013 中的載入宏許可權

與 SharePoint Server 整合

Project Web App 中的許多功能都需要 SharePoint Server 2013 中的新基礎結構,例如 OAuth 和宣告型驗證、Project Server 透過 SharePoint 群組的授權和許可權、使用 SharePoint 工作列表同步處理專案,以及 Project Server 宣告式工作流程。 Project Service 應用程式可以與 SharePoint 伺服器陣列中的任何網站集合相關聯。 專案同步處理可以與 SharePoint 工作清單搭配使用,其中 SharePoint 會維護專案。 企業專案也可以與 SharePoint 工作清單同步處理,其中 Project Server 會維持完全控制權。 如需架構圖表和專案同步處理的說明,請參閱 Project Server 2013 架構

SharePoint Server 2013 有許多新功能。 如需詳細資訊,請參閱 適用於開發人員的 SharePoint

與工作流程整合

工作流程是項目組合管理的核心功能。 專案生命週期可以包含跨多個階段的長時間執行進程。 治理階段包括專案提案、業務影響分析,以及選取、建立、規劃、管理和追蹤專案。

Project Server 2013 工作流程建置在使用 WF4 的 SharePoint 2013 工作流程平臺上。 不同於舊版,Project Server 2013 的宣告式工作流程可以使用 SharePoint Designer 2013 來建立,並可供內部部署和在線使用。 Project Server 工作流程會搭配 OAuth 使用 SharePoint 工作流程安全性模型,而且可以安裝在 Project Web App 網站上。 圖 1 顯示 SharePoint Designer 2013 可以將階段新增至「需求管理」的網站工作流程,其中的階段是在 Project Web App 中定義。

圖 1: 使用 SharePoint Designer 將階段新增至 Project Web App 的工作流程

在SPD中將階段新增至工作流程

您可以在設計工具中新增工作流程階段、動作、條件和其他元素,以建置宣告式工作流程,這可以是SharePoint Designer 2013 或Visual Studio 2012。 設計工具接著會將工作流程儲存為 XAML 程式代碼,該程式代碼會在運行時間解譯。 宣告式工作流程可以在 Project Server 2013 內部部署或 Project Online 中執行。 藉由使用 Visual Studio 2012,您也可以建置自定義動作和窗體以進行其他控制,並儲存工作流程範本,以便與多個 Project Web App 實例重複使用。 SharePoint Designer 2013 可以取用 Visual Studio 2012 中建立的自定義動作。

Project Server 2013 工作流程可作為應用程式,其中具有 Project Web App 設計許可權的系統管理員可以發佈宣告式工作流程,並將其與 EPT) (企業專案類型建立關聯。 EPT 必須是企業專案,其中 Project Server 會維持完整控制權。 SharePoint 工作列表無法使用 Project Server 工作流程。

OAuth 可讓具有專案建立許可權的項目經理在不使用模擬的情況下叫用工作流程。 對 Project Server 的工作流程呼叫,例如讀取自定義域值,以決定要遵循哪個分支,會代表專案經理進行。 若要防止項目經理建立自動前進到下一個階段的工作流程,移至下一個工作流程階段的呼叫會以工作流程作者 (系統管理員) 執行。 相反地,舊版 Project Server 2010 工作流程的使用者會透過工作流程 Proxy 用戶帳戶進行模擬呼叫,以取得整個工作流程的系統管理員存取權。

雖然 Project Server 2013 內部部署可以使用已編譯的 WF3.5 型工作流程,但建議您將舊版工作流程升級為以 WF4 為基礎的宣告式工作流程。 較新的技術更可擴充且更強固。 商務分析師和 PMO 人員可以使用 Visio 2013 建立或更新工作流程設計,並實作 Project Server 工作流程,而不需要使用 SharePoint Designer 2013 撰寫程式代碼。

如需建立 Project Web App 宣告式工作流程的資訊,請 參閱開始開發 Project Server 工作流程。 如需 SharePoint Designer 和 Visual Studio 工作流程功能的比較,請參閱 使用 Visual Studio 開發 SharePoint 2013 工作流程

用戶端物件模型

以程序設計方式存取 Project Online 需要建置在 SharePoint CSOM 上的 CSOM。 Project Online 驗證會搭配 OAuth 使用 Windows Live ID,而不是 Project Server Forms 驗證或 Windows 驗證。

以下是 Project Server 2013 中 CSOM 的原則和功能:

  • CSOM 是專為方便使用所設計。 例如,方法和屬性會直接使用或依名稱提供數據,而不需要許多 GUID、 changeXml 參數或傳遞數據集。

  • Project Server CSOM 會根據第三方解決方案最常見的需求,實作 PSI 功能的子集。

  • CSOM 會在內部呼叫 PSI,但系結方式不同。 例如,所有狀態變更的更新都是透過 StatusAssignmentCollection.SubmitAllStatusUpdates 方法來完成,而不是透過使用者 的 Statusing.SubmitStatus PSI 方法或其他資源的 SubmitStatusForResource 方法來完成。

  • CSOM 可透過一個 WCF 服務存取 (Client.svc) ,而不是透過 PSI 的 22 個公用服務存取。

  • Project Server CSOM 的初始化是直接透過 ProjectContext 類別搭配 Project Web App URL,而不是使用 WCF 參考或 Proxy 元件。

  • CSOM 會實作多個用戶端連結庫和介面,內部 SharePoint CSOM 基礎結構支援這些連結庫和介面。 用戶端連結庫和介面包含下列專案:

    • 在 Microsoft.ProjectServer.Client.dll 元件中Microsoft .NET 用戶端連結庫

    • Microsoft.ProjectServer.Client.Silverlight.dll 元件中的 Silverlight 連結庫

    • Microsoft.ProjectServer.Client.Phone.dll 元件中的 Windows Phone 8 連結庫

    • PS.js 檔案或 PS.debug.js 檔案中 Web 應用程式的 JavaScript 連結庫

    • REST 端點,用於使用 OData 通訊協定進行存取

    • 使用篩選的 LINQ 查詢原生支援,以限制傳回的數據量

  • CSOM 可以用於 Project Online 方案和內部部署解決方案,不受 PSI 和其他 Project Server 元件的影響,例如 Microsoft.Office.Project.Server.Library.dll。

  • 根據 Project Server 合作夥伴和開發人員社群的要求,可能會考慮 Project Server 2013 CSOM 的其他功能來進行累積更新和 Service Pack。

注意事項

CSOM 是第三方 Project Server 開發人員慣用的介面。 如果 CSOM 包含應用程式所需的功能,建議您使用 CSOM 來開發新的應用程式。

如需使用 CSOM 進行開發的相關信息,請參閱 Project 2013 的客戶端物件模型 (CSOM) 。 如需 SharePoint 應用程式中 REST 介面的相關信息,請參閱 SharePoint 2013 開發人員檔中的 使用 SharePoint REST 服務 進行程式設計。

報表資料庫中的變更

Project Server 2010 中的四個資料庫會合併成 Project Server 2013 中的單一 Project 資料庫。 Project 資料庫的預設名稱是 ProjectService。 報表數據表和檢視表會保留其先前的名稱,而來自 Draft、Published 和 Archive 資料庫的數據表和檢視在 ProjectService 資料庫中具有 、 pubver 前置draft詞。 例如,已發佈的項目數據表是 pub。MSP_PROJECTS。

重要事項

草稿 (前置詞) 、發行 () draft,以及) 數據表和ver檢視表的封存 (pub 不支援直接存取。 報表應該只使用具有 dbo 前置詞的報告數據表和檢視表。 例如,dbo。MSP_EpmProject表包含 Project Web App 實例中的項目清單。

沒有任何方法可以主動防止您使用直接的程式設計數據庫存取來更新 Project 資料庫中任何數據表和檢視中的數據。 您應該注意,Project Professional 快取、草稿和已發佈數據的數據表,以及報表數據表全都依賴可由直接數據編輯中斷的快取同步通訊協定。 如果您使用直接存取變更數據來損毀 Project Server 資料庫或損毀 Project Professional 用戶端快取,系統會警告產品支援將無法提供協助!

Project Server 2013 引進用於在線和內部部署存取的 OData 服務。 在線報告數據表和檢視只會由 OData 介面公開;針對內部部署使用,您可以使用 OData 介面,或直接存取 SharePoint 伺服器數位中 ProjectService 資料庫中的報告數據表和檢視。 Project Online 不支援多租用戶資料庫。 也就是說,Project Web App 的多個實例各有自己的 Project 資料庫。 OData 服務會在內部對報告數據表和檢視執行 SQL 查詢,並提供 XML 或 JSON 承載。 如需 Project Server 2013 中報告的 OData 服務簡介,以及 ProjectData 架構參考的簡介,請參閱 ProjectData - Project OData 服務參考

如需 OData 查詢的一般資訊,請參閱 OData:URI 慣例。 例如,您可以在瀏覽器中使用下列查詢,在 Project Web App 的內部部署實例中看到專案名稱開頭為 “Test” 的所有專案。 以滑鼠右鍵按兩下瀏覽器頁面,然後按兩下 [ 檢視來源]

https://ServerName /ProjectServerName /_api/ProjectData/Projects?$filter=startswith(ProjectName, 'Test') eq true

若要將專案數據匯入 Excel 2013 中的 PowerPivot,請在 [數據] 功能區上,選取 [從其他來源] 下拉功能表中的 [從 OData 數據摘要]。 在 [ 數據連線精靈] 對話框中,輸入 https://ServerName/ProjectServerName/_api/ProjectData/ 數據摘要位置,選擇 [ 下一步],然後在精靈的 [選取數據表] 頁面中選取 [ 專案 ] 數據 。 命名並儲存 .odc 檔案,然後選擇 [ 完成]。 在 [ 匯入數據 ] 對話框中,選擇 [ 數據透視表]。 在 Excel 工作表上,為您想要顯示的數據透視表數據列和數據行選擇欄位。

具有正確許可權的內部部署 Project Server 使用者可以透過 Microsoft SQL Server 直接存取報告數據表和檢視,以建立報表,就像在 Project Server 2010 中所做的一樣。 在 Project Server 2013 中,使用者也可以透過 OData 介面存取內部部署報告數據表。 您可以透過 OData 服務的 REST 端點,在線或內部部署擷取 Project Server 資料。 例如,dbo。MSP_PROJECT數據表和 dbo。MSP_EpmProject_UserView檢視可用於報表。 具有、 pub或 前置詞的任何數據表或ver檢視draft僅供 Project Server 內部使用,且不適用於報表使用。 例如,草稿。MSP_TASKS數據表和發佈。MSP_PROJECTS_WORKING_VIEW檢視不會記載,且僅供內部使用。

注意事項

您可以在個別的資料庫中新增數據表、檢視表、欄位和預存程式,以擴充內部部署報告。 您不應該修改 Project Server 資料庫中的現有報告數據表和檢視。

Project 資料庫中的報告數據表、檢視和欄位將會記錄在 Project 2013 SDK 下載的後續更新中的 HTML 說明檔中。 如需 ProjectData 服務的 OData XML 架構檔,請參閱 ProjectData - Project OData 服務參考。 在大部分情況下,針對 Project Server 2010 建立的報表數據表和檢視查詢會使用 Project Server 2013 中的 Project 資料庫。 內部部署使用者可以像目前一樣,存取 SQL Server Analysis Services 中的 Project Server OLAP Cube。 在 Project Online 中,OLAP Cube 無法使用。

專案中的工作窗格載入宏

Project Standard 2013 和 Project Professional 2013 都支援工作窗格載入宏,可用來與網頁中的外部內容整合及顯示。 工作窗格會顯示可透過JavaScript存取任務、資源、檢視和一般項目數據的網頁內容。 Project 的 JavaScript 物件模型可以取得所選任務或資源的相關信息,並可取得方格中所選單元格中的數據,以取得甘特圖等檢視。 Project 的工作窗格載入宏也可以實作任務、資源或檢視選取專案變更事件的事件處理程式。

圖 2 顯示查詢 ProjectData 服務的 Hello ProjectData 工作窗格載入宏,然後比較目前專案中的數據與所有專案的平均值。 Project 2013 SDK 下載包含載入宏的完整原始程式碼。

圖 2: Project Professional 中的工作窗格載入宏可以存取 Project Server 中的數據

比較目前專案與所有項目

注意事項

Project Standard 2013 無法透過工作窗格載入宏直接與 Project Server 2013 整合。

Project Professional 中的工作窗格載入宏可以支持針對 Project Server 2013 建置的網頁元件,因此開發人員可以在使用 Project Web App 和 Project Professional 執行之後,建置延伸模組。 針對其他 Office 2013 產品開發的一般工作窗格載入宏也可以搭配 Project Standard 2013 和 Project Professional 2013 使用。 如需詳細資訊,請 參閱 Project 的工作窗格載入宏

Project Server 事件接收器

可以有多個 Project Web App 伺服器 (也稱為 Web 前端伺服器,或在包含後端 Project Service 應用程式的 SharePoint 伺服器陣列中) WFE。 事件接收者也可以稱為事件處理程式。 本機事件處理程式可以使用完全信任的程式代碼來實作,並部署在本機 Project Server 安裝的所有 WFE 上。 遠端事件接收器可以在本機或遠端伺服器的 Web 服務中實作,並由多個 WFE 和多個 Project Server 安裝存取。 Project Online 只能使用遠端事件接收器。

Project Server 事件處理程式是由 SharePoint 針對每個 Project Web App 實例所管理,而不是由特定的 Project Web 應用程式設定頁面管理。 在 SharePoint 管理中心應用程式中,選擇 [一般應用程式設定],選擇 [PWA 設定] 底下的 [管理],然後在 [PWA 設定] 頁面的 [Project Web App Instance] 下拉式列表中選擇實例。 若要新增本機事件處理程式或遠端事件接收器,請選擇 [伺服器端事件處理程式]

針對 Project Server 的內部部署安裝,您可以建立遠端事件接收器作為 SharePoint 功能,該功能會在 CSOM 中使用 Microsoft.ProjectServer.Client.EventHandlerCreationInformation 類別,然後使用 EventHandlerCollection 類別中的方法,以程式設計方式管理事件接收者。 對於遠端事件接收者而言,前置事件是同步的,後續事件是異步的,而且遠端事件接收器不會傳回的情況會有逾時。

注意事項

SharePoint 管理中心僅適用於內部部署安裝。 針對 Project Online 和 SharePoint Online,您可以使用 CSOM 應用程式套件來新增或移除遠端事件接收器。

在 [伺服器端事件處理程式] 頁面上,為內部部署 Project Server 安裝新增本機事件處理程式的程式,與建立 Project Server 事件處理程式和記錄 Project Server 2010 事件主題中所述的程式幾乎相同。 差別在於 [新增事件處理程式] 頁面有其他選項。 例如,在 [事件] 列表中選擇 [專案建立],然後選擇 [新增事件處理程式]。 在 [新增事件處理程式] 頁面上,只有兩個必要字段是 [名稱 ] 和 [ 訂單 (請參閱圖 3) 。 如果您要新增本機完全信任事件處理程式,請新增 [ 元件名稱] 欄位 和 [ 類別名稱] 字 段;將 [端點 URL] 保留空白。 如果您要新增遠端事件接收器,請新增 端點 URL,並將 元件名稱類別名稱 保留空白。

注意

如果您 同時 指定元件名稱/類別名稱和端點 URL,Project Server 只會呼叫本機 (內部部署) 事件處理程式。 系統會忽略遠端事件接收器。

如果您為相同的事件建立兩個事件處理程式,其中一個事件處理程式是本機事件處理程式,另一個是遠端事件接收者,而且這兩個事件的 Order 值都相同,Project Server 會忽略遠端事件接收器。

圖 3: 新增本機事件處理程式或遠端事件接收器

設定事件處理程式或事件接收者設定

如果您需要存取本機事件處理程式的 PSI 數據集,您可以從 [Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c 目錄複製 Microsoft.Office.Project.Schema.dll 元件。

建議您使用 Microsoft.ProjectServer.Client 命名空間中的事件類別,而不是 PSI;使用 CSOM 進行開發不需要操作數據集。 若要開發 Project Online 的遠端事件接收器,您必須在 CSOM 中使用 Event 類別和 EventHandlerCreationInformation 類別。

在部署 Project Server 事件處理程式之前,請在 Project Server 的測試安裝上徹底安裝和測試事件處理程式。 針對內部部署 Project Server 安裝,如果您新增的本機事件處理程式變成無法運作,Project Server 2013 事件服務將無法載入其他有效的自定義事件處理程式。 在此情況下,您必須移除問題事件處理程式,並重新啟動事件服務。

注意事項

針對內部部署 Project Server 安裝,建議您使用 CSOM 來開發事件接收器,以移轉至遠端事件接收者。 因為遠端事件接收器沒有在 Project Server 事件服務內執行的第三方程式代碼,所以遠端事件接收者會更穩定。 本機系統管理員必須負責維護 Project Server 事件服務。

如需事件的一般資訊,請 參閱處理 SharePoint 應用程式中的事件

被取代的功能

注意事項

如需 Project Server 2016 Preview 中已被取代或移除之功能和 API 的相關信息,請參閱 Project Server 2016 Preview 中已被取代或移除的專案。

某些方案仍可在 Project 2013 中使用已被取代的功能,但不應用於新的開發。 下列大部分的功能和做法都不適用於 Project Online,或在 SharePoint 許可權模式中使用 Project Server 2013 的預設內部部署安裝。 使用這些功能的現有解決方案可能無法用於將 Project Server 2010 升級至 Project Server 2013。 雖然在某些情況下,使用已淘汰功能的解決方案可能會繼續運作,但並非所有 Project 2013 安裝都完全支援這些解決方案。

如果您的解決方案使用已被取代的功能,則應該在部署之前進行徹底測試,而且您應該在實際運作時加以修改以使用支援的功能。 For information about configuring on-premises Project Server 2013 security for Project permission mode, see the SharePoint Permission Mode section in What's new for IT pros in Project Server 2013.

  • 擴充功能PSI擴 充功能案例已被取代,未來版本將不支援。 這些內部部署 Project Server 2013 案例使用自定義 Windows Communication Foundation (WCF) 服務來啟用整合。

  • 專案 PSI PSI 的 Project 類別 已被取代。 針對所有新的開發,請使用 專案 CSOM。 使用 Project PSI 的 Project Server 2013 應用程式會繼續運作,但 Project Online 應用程式必須以其對等的 CSOM 方法取代任何 Project 類別 PSI 方法。

  • 資源計劃 PSI資源計劃 PSI 已被取代。 它將繼續支援 Project 2013 開發,但在未來的版本中將不支援。

  • PSI 的 ASMX 介面 PSI 包含用於開發內部部署 Project Server 擴充功能的重複介面。 ASMX Web 服務介面是在 Office Project Server 2007 中第一次實作 PSI 時引進。 Project Server 2010 新增了 WCF 服務介面,其中物件模型基本上會複製 ASMX Web 服務。 雖然 Project Server 2013 會繼續支援 ASMX 和 WCF,但需要 PSI 的新解決方案應該使用 WCF 服務。 可能的話,應該使用 CSOM 撰寫新的解決方案。

    在 Project Server 2013 中,PSI 的 ASMX Web 服務已被取代。 若要在未來的 Project Server 版本中運作,必須重寫使用 ASMX Web 服務的解決方案,才能使用 WCF 服務或 CSOM。 如需詳細資訊,請參閱 Project Server 可程式性中的使用 Project Server API 升級應用程式一節。

  • 物件連結提供者 (OLP) 在舊版的 Project Server 中,PSI 中的 ObjectLinkProvider 服務 (參閱 WebSvcObjectLinkProvider 提供一種方式來管理專案網站中企業專案工作和特殊 SharePoint 列表之間的 Web 物件連結,以了解問題、風險、可傳送作業和檔。 在 Project Server 2013 中,OLP 已被取代。

    您可以使用 SharePoint CSOM 中的 RelatedItemManager 類別,建立、讀取和刪除工作清單中專案與項目網站中其他清單之間的 Web 物件連結。 例如,若要從工作專案新增連結到問題,您可以使用 AddSingleLink 方法或兩個類似方法之一 AddSingleLinkFromUrlAddSingleLinkToUrlRelatedItemManager 類別也包含刪除 Web 對象連結和讀取相關專案的方法。 如需 JSOM 中的對等類別, (JavaScript 物件模型) ,請參閱 SP。RelatedItemManager 物件 (sp.js)

    建議您使用 SharePoint CSOM 建立 OLP 類型應用程式,以進行 Project Server 2013 和 Project Online 的內部部署安裝。 Microsoft.SharePoint 命名空間不包含 RelatedItemManager *} 類別。

  • 自訂許可權 Office Project Server 2007 支援存取特定 Project Server 功能或延伸模組的自定義安全性許可權,其中 SDK 文章說明如何直接修改已發佈的資料庫來建立這些功能。 在 Project Server 2010 中,自定義許可權仍可運作,但已被取代。 在 Project Server 2013 中,自定義許可權不適用於內部部署安裝的預設 SharePoint 許可權模式。 針對項目許可權模式,支援自定義許可權。 使用 Project Online 時,無法直接存取資料庫。

  • 模仿 在 PSI 型應用程式中模擬,其中應用程式的使用者可以假設不同 Project Server 使用者的安全性許可權,在 Project Server 2013 中已被取代。 如先前所示,預設的內部部署 Project Server 2013 安裝會使用 SharePoint 許可權模式,不允許在 Project Server 安全組中模擬。 如需詳細資訊,請 參閱 SharePoint 2013 中的驗證、授權和安全性

    狀態應用程式是在舊版 Project Server 中可能已使用仿真的一般延伸模組。 Project Server 2010 在 PSI 中引進了 ReadStatusForResource 方法和 SubmitStatusForResource 方法,以及 StatusBrokerPermission 全域許可權,這消除了模擬代表其他用戶讀取和更新狀態的需求。 Project Server 2013 中的 CSOM 會使用基礎 PSI 以透明方式啟用狀態延伸模組,並可用於 Project Online 或內部部署安裝。

  • 報告資料庫延伸模組 將自定義數據表和檢視新增至報表資料庫是舊版 Project Server 的常見做法。 由於 Project Server 2013 會將舊版的四個資料庫合併成一個資料庫,因此升級不會將自定義數據表、檢視表或 SPROC 傳輸到 Project Server 2013 資料庫中的報告數據表。

    建議您針對自定義報告數據表和檢視使用 SQL Azure 或個別的 SQL Server 資料庫,您可以在其中管理資料庫備份和更新。 若為 Project Online,這是必要專案。

  • 報告 Project Server 資料庫和 OLAP Cube 中的本機報告數據表和檢視 不會 被取代,且仍然受到完整支援。 不過,無法在 Project Online 中存取舊版 Project Server) 中報表資料庫 (報表數據表和檢視。 同樣地,OLAP Cube 僅適用於 Project Server 2013 的內部部署安裝。 針對使用 Project Online 報告應用程式,您可以透過 REST 查詢搭配 OData 通訊協定來使用 ProjectData 服務。

  • 專案指南 專案快速入門是 Office Project 2007 傳統型應用程式的標準功能,其中工作窗格中的 HTML 和 JavaScript 內容提供建立和管理專案的互動式指引。 在 Project 2010 中,預設安裝中無法使用專案快速入門,但可透過 VBA 或 VSTO 載入宏啟用。 Project 2010 SDK 下載包含修改過的專案快速入門檔案。

    Project 2013 中的 VBA 物件模型和 Microsoft.Office.Interop.MSProject 物件模型仍然包含 Application 類別的 22 個成員,以及可管理專案快速入門的 Project 類別。 不過,Project 2013 工作窗格應用程式可能會與 [專案快速入門] 工作窗格中的動作衝突,而且無法在 Office 市集中輕鬆地散發或銷售 [專案快速入門] 內容。 強烈建議您使用 Office 載入宏開發 [專案] 工作窗格方案,而不是自定義 [專案快速入門] 內容。 如需專案快速入門的詳細資訊,請參閱 Project 2010 SDK 檔

比較 Project Server 內部部署與 Project Online

為了協助您決定是否要使用 Project Server 內部部署或 Project Online,以及您可以在任一情況下開發的延伸模組類型,表 2 會比較 Project Server 2013 內部部署安裝與 Project Online 的可延伸功能。 表 2 不包含部署、系統管理或使用方式的差異。 如需 Project Online 和 Project Server 2013 的詳細資訊,請參閱 適用於開發人員的 Project 2013Project Online

表 2. Project Server 內部部署和 Project Online 的擴充性

功能 Project Server 內部部署 Project Online
可程式性
以 CSOM 為基礎的應用程式;一致的程序設計模型
- .NET、Silverlight、Windows Phone用戶端連結庫
- 適用於自定義頁面、網頁元件和功能區延伸模組的 JavaScript 連結庫
- OData 和 REST 通訊協定

PSI 型應用程式;複雜的程式設計模型,也可以建立適用於系統管理、組合分析、通知、專案模式安全性、佇列系統和其他區域的應用程式

PSI 擴充功能

專案模式安全性 (已被取代的自定義許可權)

模擬 PSI (已被取代)

完全信任程序代碼;在 SharePoint 伺服器陣列中安裝擴充功能
以 CSOM 為基礎的應用程式;一致的程序設計模型
- .NET、Silverlight、Windows Phone用戶端連結庫
- 適用於自定義頁面、網頁元件和功能區延伸模組的 JavaScript 連結庫
- OData 和 REST 通訊協定

可以使用 PSI,但不支援:沒有 OAuth 且沒有服務對服務連線

沒有 CSOM API 的擴充功能

沒有自定義許可權

無模擬

沒有完全信任的程序代碼
自訂資料庫
- SQL Azure
- 不支援 SQL Server (修改 Project Server 資料庫中的報告數據表和檢視)
- SQL Azure
- 不支援 SQL Server (修改 Project Server 資料庫中的報告數據表和檢視)
報表
- ProjectData 服務;OData 和 REST 通訊協定
- Project Server 資料庫中的報告數據表和檢視
- OLAP 資料庫
- ProjectData 服務;OData 和 REST 通訊協定
事件處理常式
- 可透過 WCF 端點存取的遠端事件接收器
- SharePoint 伺服器陣列中安裝的完全信任事件處理程式
- 可透過 WCF 端點存取的遠端事件接收器
工作流程
使用 SharePoint Designer 2013 建立的宣告式工作流程
- 僅在特定 Project Web App 實例上使用
- 可以從 Visio 2013 匯入工作流程設計
- 可以匯入和使用自定義動作

使用 Visual Studio 2012 建立的宣告式工作流程
- 建立可包含工作流程的應用程式
- 建立可包含工作流程的 SharePoint 解決方案套件 (.wsp)
- 建立工作流程範本以供重複使用
- 建立和使用自定義動作

可以使用使用 WF3.5 建立的舊版編譯工作流程 (建議升級至宣告式 WF4 工作流程)
使用 SharePoint Designer 2013 建立的宣告式工作流程
- 僅在特定 Project Web App 實例上使用
- 可以從 Visio 2013 匯入工作流程設計
- 可以匯入和使用自定義動作

使用 Visual Studio 2012 建立的宣告式工作流程
- 建立可包含工作流程的應用程式
- 建立可包含工作流程的 SharePoint 解決方案套件 (.wsp)
- 建立工作流程範本以供重複使用
- 建立和使用自定義動作
分配
- CSOM 型應用程式的 Office 市集 ()
- SharePoint 上的私人應用程式目錄
- 內部網路檔案共用
- Office 市集
- SharePoint 上的私人應用程式目錄

總結

Project Server 2013 提供豐富的新開發功能和案例,合作夥伴和客戶可用來調整和擴充大型企業和小型組織中 Project Server 的功能和實用性。 您可以使用 Office 2013 和 SharePoint 2013 的基礎結構來協助建立和散發 Project 2013 的應用程式,以大幅擴充自定義應用程式的行銷性和使用。 Project 2013 中舊版的某些擴充性功能和做法已被取代,特別是 PSI 的 ASMX Web 服務,以及涉及模擬或直接資料庫變更的功能,這些功能無法與 Project Online 搭配使用。

CSOM 的引進可讓您以程式設計方式存取各種裝置的 Project Online,以及在 Web 應用程式中使用 JavaScript。 相較於 PSI,CSOM 提供更一致的程序設計模型。 Project Server 數據的存取方式比舊版多許多,包括透過在線 OData 服務,以及透過 REST 端點來報告 Project 資料庫中的數據。 現有的報表仍以相同的方式運作,以供內部部署使用;新的報表具有更大的彈性。

Office 載入宏提供銷售方案的新途徑,並整合 Project Standard 2013 與 Web 內容和其他 Office 2013 產品。 您也可以透過工作窗格 Office 載入宏,建立整合 Project Professional 2013 與 Project Server 數據和 SharePoint 清單的新方式。

如需開發應用程式,以及使用可程式性功能和 SharePoint Server 2013 CSOM 的詳細資訊,請參閱 適用於開發人員的 SharePoint適用於開發人員的 Office

另請參閱