Обновления для разработчиков в 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), а также библиотека JavaScript и .NET Framework 4 для приложений Windows, Windows Phone 8 и Microsoft Silverlight. CSOM предназначен для разработки для Project Online, а также работает с локальной установкой Project Server.
Базы данных Project Server объединяются в одну базу данных; вы можете получить доступ к таблицам и представлениям отчетов в интернете с помощью службы OData. CSOM и служба OData включают интерфейс REST. Рабочие процессы Project Server можно создавать с помощью SharePoint Designer 2013. Project профессиональный 2013 может интегрироваться с данными отчетов Project Server, списками задач SharePoint и другим внешним содержимым с помощью модели расширения надстроек Office для областей задач. 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 профессиональный 2013 включают улучшенный пользовательский интерфейс, который соответствует другим приложениям Office 2013 и поддерживает пользовательский интерфейс в современном стиле в Windows 8, интеграцию с объектами Office Art для отчетов, отчеты о сгорания и новые функции программирования для отчетов. Project профессиональный 2013 обеспечивает более широкий общий доступ и синхронизацию проектов в SharePoint Server 2013, а также надстройки области задач, которые также реализованы в других приложениях Office 2013, таких как Word, Excel и Outlook.
В Project Server 2013 появилось множество новых возможностей. Некоторые из них не имеют основной истории программирования, например новая временная шкала в Project Web App. Эти компоненты будут задокументированы в справке продукта и в документации для конечных пользователей на веб-сайте Microsoft Office Online, а также в статьях, предназначенных для администраторов и ИТ-специалистов, на портале Microsoft TechNet. Другие новые компоненты, такие как улучшенные расписания, упрощают сторонним разработчикам взаимодействие с расписаниями и получение информации о состоянии через интерфейс Project Server (PSI).
Добавление Project Online и Магазина Office (https://office.microsoft.com/store) для надстроек Project является далеко идущими изменениями, где Project Server доступен через Microsoft Azure. Для облачного доступа к Project Server используется клиентская объектная модель (CSOM) для разработки надстроек с помощью Microsoft .NET Framework, Microsoft Silverlight, Windows Phone и веб-приложений, использующих JavaScript. Требование Project Online заключается в том, что четыре базы данных Project Server предыдущих версий объединяются в одну базу данных.
Производительность и масштабируемость Project Server 2013 повышены во многих областях, таких как состояние задач, расписания и управление проектами. Рабочие процессы Project Server переработаны в Windows Workflow Foundation версии 4 (WF4). Использование платформы .NET Framework 4 и Windows Communication Foundation (WCF) с PSI повышает безопасность, производительность и масштабируемость. Например, можно изменить протокол транспорта приложений, основанных на WCF, с помощью файлов конфигурации, не изменяя код приложения и не проводя перекомпилирование. Project Web App кэширует многие вызовы PSI, в которых данные существенно не изменяются.
Примечание.
Для разработки с помощью Project Server 2013 можно использовать Visual Studio с расширениями средств Office и SharePoint, которые изначально могут создавать надстройки для продуктов Office 2013. Project Server 2013 требует, чтобы Visual Studio полностью включила разработку таких функций, как страницы сведений о проекте и приложения на основе WCF. Расширения средств SharePoint в Visual Studio могут развертывать веб-части и другие функции SharePoint непосредственно в Project Web App и других сайтах SharePoint.
Visual Studio больше не требуется для разработки рабочих процессов Project Server, использующих настраиваемые поля, этапы, этапы и типы корпоративных проектов, которыми можно управлять в Project Web App. Хотя вы можете использовать Visual Studio для разработки рабочих процессов, их часто проще и быстрее создавать с помощью SharePoint Designer. Visual Studio можно использовать для рабочих процессов, требующих доступа к модели CSOM или другим внешним API.
Надстройки Project
Распространение и маркетинг программного обеспечения были революционизированы с концепцией надстройки. Для Project 2013 надстройки можно сделать доступными для покупки и скачивания в общедоступном Магазине Office или распространять в частном каталоге в SharePoint. Надстройка обычно представляет собой автономную интерактивную программу, которая выполняет небольшое количество связанных задач. Надстройка Project может быть надстройкой области задач для клиентов Project Standard 2013 или Project Standard 2013 или надстройкой для Project Server 2013 или Project Online.
Сведения о надстройках для классических клиентов Project см. в разделе Надстройки области задач в Project. Пример Project Server 2013 см. в статье Создание надстройки Project Server, размещенной в SharePoint. Помимо статей в пакете SDK для надстроек Office и SharePoint, в блоге Office есть много публикаций, которые также относятся к Project 2013 и Project Online.
Надстройка для Project Server 2013 может работать как с локальной установкой, так и с Project Online. Надстройки Project Server могут включать веб-части, удаленные приемники событий и бизнес-логику. Доступ к объектной модели Project Server в надстройке осуществляется через CSOM, а не PSI. Хранилище данных может быть облачным, например с SQL Azure, внешним, например через Microsoft Business Connectivity Services (BCS), внутренним с локальной базой данных или смешанным.
Безопасность надстройки
Как правило, действия, выполняемые надстройкой, выполняются от имени пользователя, который запускает надстройку. вы не используете явно олицетворение и не указываете, кто может запускать надстройку. Действия не могут превышать уровень разрешений пользователя, который запускает надстройку.
В средствах разработчика Office для Visual Studio 2012 файл AppManifext.xml содержит графический редактор, в котором можно задать область запроса разрешений. Например, чтобы создать надстройку, которая позволяет руководителям проектов обновлять свои проекты, на вкладке Разрешения области конструктораAppManifest.xml выберите Несколько проектов для области и Запись для разрешения. Если у пользователя надстройки есть разрешения руководителя проекта, он может запустить надстройку для проектов, которыми он управляет. Код файла AppManifest.xml может содержать следующие команды:
<AppPermissionRequests>
<AppPermissionRequest Scope="https://sharepoint/projectserver/projects" Right="Write" />
</AppPermissionRequests>
Таблица 1. Области запросов разрешений для надстроек Project Server
Scope | Разрешения |
---|---|
Project Server |
Управление (Требуются разрешения администратора Project Server.) |
Несколько проектов |
Чтение, Запись (Для некоторых операций требуются разрешения руководителя проекта; для базовых операций чтения, таких как назначения проекта, требуются разрешения члена группы проекта.) |
Один проект |
Чтение, Запись (Требуются разрешения минимум члена группы проекта; доступ к некоторым данным в проекте зависит от других уровней разрешений.) |
Корпоративные ресурсы |
Чтение, Запись (Требуются разрешения руководителя ресурсов.) |
Statusing |
Отправка состояния (Требуется разрешение на отправку состояния проектов.) |
Создание отчетов |
Чтение (Требуется разрешение на вход в Project Server.) |
Рабочий процесс |
Повышение уровня (требуется разрешение на выполнение рабочих процессов. Надстройка выполняется с повышенными разрешениями, чтобы включить переходы от этапа к этапу в рабочем процессе. Бизнес-логика в промежуточных переходах элементов управления надстройками.) |
Примечание.
Project Server 2013 и Project Online не используют модель проверки подлинности только для приложений в SharePoint 2013 (см . раздел Типы политик авторизации надстроек в SharePoint 2013).
Сведения о разработке, распространении, размещении надстроек и управлении ими см. в статье Надстройки SharePoint и Надстройки Office, а также в связанных разделах документации разработчика для SharePoint Server 2013 и Office 2013. Сведения о области запроса разрешений для других надстроек SharePoint см. в разделе Разрешения надстроек в SharePoint 2013.
Интеграция с SharePoint Server
Для многих функций Project Web App требуется новая инфраструктура в SharePoint Server 2013, например проверка подлинности OAuth и проверка подлинности на основе утверждений, авторизация и разрешения Project Server через группы SharePoint, синхронизация проектов со списками задач SharePoint и декларативные рабочие процессы Project Server. Приложение-службу Project можно связать с любым семейством сайтов в ферме SharePoint. Синхронизация Project может осуществляться со списком задач SharePoint, когда SharePoint поддерживает проект. Корпоративный проект можно также синхронизировать со списком задач SharePoint, когда Project Server поддерживает полное управление. Схемы архитектуры и описание синхронизации проектов см. в статье Архитектура Project Server 2013.
В SharePoint Server 2013 появилось множество новых функций. Дополнительные сведения см. в статье SharePoint для разработчиков.
Интеграция с рабочими процессами
Рабочие процессы являются базовым компонентом в управлении портфелем проектов. Жизненный цикл проекта может включать в себя длительные процессы, проходящие через множество фаз. Фазы управления содержат проектные предложения, анализ влияния на бизнес, а также выбор, создание, планирование, управление и отслеживание проектов.
Рабочие процессы Project Server 2013 созданы на платформе рабочих процессов SharePoint 2013, которая использует WF4. В отличие от предыдущих версий, декларативные рабочие процессы для Project Server 2013 можно создавать с помощью SharePoint Designer 2013 и доступны как для локального, так и для сетевого использования. Рабочие процессы Project Server используют модель безопасности рабочих процессов SharePoint с OAuth и могут быть установлены на сайте Project Web App. На рисунке 1 показано, что SharePoint Designer 2013 может добавлять этапы в рабочий процесс сайта для управления запросами, где этапы определяются в Project Web App.
Рис. 1. Добавление этапа в рабочий процесс Project Web App с помощью SharePoint Designer
Декларативный рабочий процесс создается путем добавления этапов рабочего процесса, действий, условий и других элементов в средство разработки, которое может быть 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). Тип корпоративных проектов должен быть задан для корпоративного проекта, в котором Project Server осуществляет полное управление. Список задач SharePoint не может использовать рабочий процесс Project Server.
Служба OAuth позволяет руководителям проектов, имеющим разрешения на создание проектов, вызвать рабочий процесс без применения олицетворения. Вызовы Project Server рабочим процессом, например для чтения значения настраиваемого поля с целью определения следующего перехода, выполняются от имени руководителя проекта. Чтобы запретить руководителю проекта создавать рабочий процесс, который автоматически переходит на следующую стадию, вызов перехода на следующую стадию запускается от имени автора рабочего процесса (администратора). В отличие от этого, пользователи устаревших рабочих процессов Project Server 2010 делают олицетворенные вызовы через учетную запись пользователя-посредника рабочего процесса, чтобы получить доступ администратора во всем рабочем процессе.
Хотя в локальной среде Project Server 2013 можно использовать скомпилированные рабочие процессы на основе WF3.5, рекомендуется обновить устаревшие рабочие процессы до декларативных рабочих процессов на основе WF4. Эта новая технология лучше масштабируется и более надежна. Бизнес-аналитики и сотрудники pmo могут создавать или обновлять проекты рабочих процессов с помощью Visio 2013 и реализовывать рабочие процессы Project Server без написания кода с помощью SharePoint Designer 2013.
Сведения о создании декларативного рабочего процесса для Project Web App см. в статье Приступая к разработке рабочих процессов Project Server. Сравнение возможностей SharePoint Designer и Visual Studio для рабочих процессов см. в статье Разработка рабочих процессов SharePoint 2013 с помощью Visual Studio.
Клиентская объектная модель
Для программного доступа к Project Online требуется CSOM, созданная на основе CSOM SharePoint. Проверка подлинности Project Online будет выполняться с OAuth с использованием Идентификатора Windows Live ID, а не проверки подлинности Project Server Forms или проверки подлинности Windows.
Ниже приведены принципы и функции CSOM в Project Server 2013.
Модель CSOM разработана для простоты использования. Например, методы и свойства напрямую используют или предоставляют данные по имени, не требуя множества идентификаторов GUID, параметров changeXml или переходов по наборам данных.
В модели CSOM Project Server реализуется поднабор функциональности PSI, основанный на наиболее общих требованиях для сторонних решений.
CSOM выполняет внутренние вызовы PSI, но сформирован по-другому. Например, обновления всех изменений отчетов о состоянии осуществляются с помощью метода StatusAssignmentCollection.SubmitAllStatusUpdates, а не с помощью метода PSI Statusing.SubmitStatus для пользователя или метода SubmitStatusForResource для других ресурсов.
Модель CSOM доступна через одну службу WCF (Client.svc), а не через 22 общедоступные службы PSI.
Инициализация CSOM Project Server выполняется непосредственно через класс ProjectContext с URL-адресом Project Web App, а не с помощью ссылки или сборки прокси-сервера WCF.
В CSOM реализовано несколько клиентских библиотек и интерфейсов, которые поддерживаются внутренней инфраструктурой CSOM SharePoint. В число клиентских библиотек и интерфейсов входят следующие:
Клиентская библиотека Microsoft .NET в сборке Microsoft.ProjectServer.Client.dll.
Библиотека Silverlight в сборке Microsoft.ProjectServer.Client.Silverlight.dll
Библиотека Windows Phone 8 в сборке Microsoft.ProjectServer.Client.Phone.dll.
Библиотека JavaScript для веб-приложений в файле PS.js или PS.debug.js файле
Конечные точки REST для доступа с помощью протокола OData.
Встроенная поддержка для запросов LINQ с фильтрацией, чтобы ограничивать объем возвращаемых данных.
CSOM можно использовать как для решений Project Online, так и для локальных решений независимо от PSI и других сборок Project Server, таких как Microsoft.Office.Project.Server.Library.dll.
Дополнительные функции CSOM Project Server 2013 можно рассмотреть для накопительных обновлений и пакетов обновления на основе запросов партнеров Project Server и сообщества разработчиков.
Примечание.
CSOM является предпочтительным интерфейсом для сторонних разработчиков Project Server. Мы рекомендуем использовать CSOM для разработки новых приложений, если CSOM содержит требуемую для приложения функциональность.
Сведения о разработке с помощью CSOM см. в статье Клиентская объектная модель (CSOM) для Project 2013. Сведения об интерфейсе REST в приложениях SharePoint см. в статье Программирование с помощью службы REST SharePoint документации разработчика по SharePoint 2013.
Изменения в базе данных отчетов
Четыре базы данных в Project Server 2010 объединяются в одну базу данных Project в Project Server 2013. Имя базы данных Project по умолчанию — ProjectService. Таблицы и представления отчетов сохраняют свои предыдущие имена, а таблицы и представления из баз данных Draft, Published и Archive имеют префиксы draft
, pub
и ver
в базе данных ProjectService. Например, таблица опубликованных отчетов имеет имя pub.MSP_PROJECTS.
Важно!
Прямой доступ не поддерживается для таблиц и представлений черновиков (draft
префикс), опубликованных (pub
) и архивных таблицver
и представлений. В отчетах следует использовать только таблицы и представления отчетов с префиксом dbo
. Например, dbo. MSP_EpmProject таблица содержит список проектов в экземпляре Project Web App.
Не предусмотрено никаких средств активного предупреждения прямого программного доступа к базам данных для обновления данных в таблицах и представлениях базы данных Project. Следует иметь в виду, что кэш в Project профессиональный, таблицы черновиков и опубликованных данных, а также таблицы отчетов, зависят от протокола синхронизации кэша, который может быть нарушен в результате прямого редактирования данных. Если базы данных Project Server или клиентские кэши Project профессиональный повреждены в результате прямого доступа для изменения данных, необходимо знать, что служба технической поддержки продукта не сможет помочь!
В Project Server 2013 представлена служба OData для сетевого и локального доступа. Облачные таблицы и представления отчетов доступны только через интерфейс OData; для локального использования можно применять интерфейс OData или прямой доступ к таблицам и представлениям отчетов в базе данных ProjectService в ферме SharePoint. Project Online не поддерживает мультитенантную базу данных. То есть несколько экземпляров Project Web App имеют собственную базу данных Project. Служба OData внутренне запускает запросы SQL для таблиц и представлений отчетов, а затем предоставляет данные XML или JSON. Общие сведения о службе OData для создания отчетов в Project Server 2013 и справочнике по схеме ProjectData см. в статье Справочник по службе ProjectData OData.
Общие сведения о запросах OData см. в разделе Соглашения OData: URI. Например, вы можете просмотреть все проекты в локальном экземпляре Project Web App, где имя проекта начинается с "Test", используя следующий запрос в браузере. Щелкните правой кнопкой мыши на странице браузера, а затем выберите пункт Просмотр HTML-кода.
https://ServerName /ProjectServerName /_api/ProjectData/Projects?$filter=startswith(ProjectName, 'Test') eq true
Чтобы импортировать данные проекта в PowerPivot в Excel 2013, на ленте ДАННЫЕ выберите Из веб-канала данных OData в раскрывающемся меню Из других источников . В диалоговом окне Мастер подключения к данным введите https://ServerName/ProjectServerName/_api/ProjectData/ расположение веб-канала данных, нажмите кнопку Далее, а затем выберите таблицу Проекты на странице Выбор таблиц мастера. Присвойте имя и сохраните ODC-файл, а затем нажмите кнопку Готово. В диалоговом окне Импорт данных выберите пункт Отчет сводной таблицы. На листе Excel выберите поля для строк и столбцов сводной таблицы, которые следует отобразить.
Локальные пользователи Project Server, имеющие правильные разрешения, могут напрямую получать доступ к таблицам и представлениям отчетов через Microsoft SQL Server для создания отчетов, как это делается в Project Server 2010. В Project Server 2013 пользователи также могут получить доступ к локальным таблицам отчетов через интерфейс OData. Можно запросить данные Project Server из облачной или локальной установки через конечные точки REST для службы OData. Например, таблица dbo.MSP_PROJECT и представление dbo.MSP_EpmProject_UserView могут использоваться для отчетов. Все таблицы или представления с draft
префиксом , pub
или ver
предназначены только для внутреннего использования Project Server и не предназначены для создания отчетов. Например, таблица draft.MSP_TASKS и представление pub.MSP_PROJECTS_WORKING_VIEW не задокументированы и предназначены только для внутреннего использования.
Примечание.
Можно расширить локальные средства составления отчетов, добавив таблицы, представления, поля и хранимые процедуры в отдельную базу данных. Не следует изменять существующие таблицы и представления отчетов в базе данных Project Server.
Таблицы отчетов, представления и поля в базе данных Project будут описаны в HTML-файле справки в последующем обновлении пакета SDK для Project 2013. Документацию по xml-схеме OData для службы ProjectData см. в разделе Справочник по службе ProjectData — Project OData. Запросы таблиц и представлений отчетов, созданных для Project Server 2010, в большинстве случаев будут работать с базой данных Project в Project Server 2013. Локальные пользователи могут получать доступ к кубам OLAP Project Server в службах SQL Server Analysis Services, как они делают это сейчас. В Project Online кубы OLAP недоступны.
Надстройки области задач в Project
Project Standard 2013 и Project профессиональный 2013 поддерживают надстройки области задач, которые можно использовать для интеграции и отображения внешнего содержимого на веб-странице. В области задач отображается содержимое веб-страницы, которое имеет доступ через JavaScript к задачам, ресурсам, представлениям и общим данным проекта. Объектная модель JavaScript для Project может получать сведения о выбранной задаче или ресурсе, а также получать данные в выбранной ячейке сетки для представлений, таких как диаграмма Ганта. Надстройки области задач для Project также могут реализовывать обработчики событий для задач, ресурсов или представлений измененных событий выбора.
На рисунке 2 показана надстройка области задач Hello ProjectData , которая запрашивает службу ProjectData , а затем сравнивает данные в текущем проекте со средними значениями для всех проектов. Пакет SDK для Project 2013 содержит полный исходный код надстройки.
Рис. 2. Надстройка области задач в Project Профессиональный может получать доступ к данным в Project Server
Примечание.
Project Standard 2013 не может напрямую интегрироваться с Project Server 2013 через надстройки области задач.
Надстройки области задач в Project профессиональный могут поддерживать веб-части, созданные для Project Server 2013, поэтому разработчики могут создать расширение после запуска с Project Web App и Project Профессиональный. Общие надстройки области задач, разработанные для других продуктов Office 2013, также можно использовать с Project Standard 2013 и Project профессиональный 2013. Дополнительные сведения см. в разделе Надстройки области задач для Project.
Приемники событий Project Server
В ферме SharePoint может быть несколько серверов Project Web App (также называемых веб-интерфейсными серверами или WFES) в ферме SharePoint, включающей серверное приложение службы Project. Приемники событий также называют обработчиками событий. Локальные обработчики событий можно реализовать с помощью кода полного доверия и развернуть на всех серверах WFE для локальной установки Project Server. Удаленные приемники событий можно реализовать в веб-службах на локальных или удаленных серверах и организовать к ним доступ нескольких серверов WFE и нескольких установок Project Server. Project Online может использовать только удаленные приемники событий.
Обработчиками событий Project Server управляет SharePoint для каждого экземпляра Project Web App, а не определенная страница параметров Project Web App. В приложении центра администрирования SharePoint выберите Общие параметры приложения, выберите Управление в разделе Параметры PWA, а затем выберите экземпляр в раскрывающемся списке Экземпляр Project Web App на странице Параметры PWA. Чтобы добавить локальный обработчик событий или удаленный приемник событий, выберите Обработчики событий на сервере.
Для локальной установки Project Server можно создать удаленный приемник событий в качестве компонента SharePoint, использующего класс Microsoft.ProjectServer.Client.EventHandlerCreationInformation в CSOM, а затем программно управлять приемником событий с помощью методов класса EventHandlerCollection . Для удаленных приемников событий, предварительные события синхронны, последующие события асинхронны, а также имеется пороговое время ожидания для случаев, когда удаленный приемник событий не возвращает данные.
Примечание.
Центр администрирования SharePoint доступен только для локальных установок. Для Project Online и SharePoint Online можно добавлять или удалять удаленные приемники событий с помощью пакета приложения на основе CSOM.
На странице Обработчики событий на стороне сервера процесс добавления локального обработчика событий для локальной установки Project Server практически совпадает с процессом, описанным в разделе Создание обработчика событий Project Server и ведение журнала событий для Project Server 2010. Разница заключается в том, что страница Новый обработчик событий имеет дополнительные параметры. Например, выберите Создание проекта в списке События , а затем выберите СОЗДАТЬ ОБРАБОТЧИК СОБЫТИЙ. На странице Новый обработчик событий только два обязательных поля: Имя и Порядок (см. рис. 3). Если вы добавляете локальный обработчик событий с полным доверием, добавьте поля Имя сборки и Имя класса ; Оставьте url-адрес конечной точки пустым. При добавлении удаленного приемника событий добавьте URL-адрес конечной точки и оставьте имя сборки и имя класса пустыми .
Предостережение
Если заполнить поля имени сборки, имени класса и URL-адреса конечной точки, Project Server вызывает только локальный обработчик событий. Удаленный приемник событий игнорируется.
Если создать два обработчика событий для одного события, когда один обработчик событий является локальным, а другой является удаленным приемником событий, при этом значение поля Порядок одинаково, Project Server игнорирует удаленный приемник событий.
Рис. 3. Добавление локального обработчика событий или удаленного приемника событий
Если требуется доступ к наборам данных PSI для локального обработчика событий, можно скопировать сборку Microsoft.Office.Project.Schema.dll из каталога [Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c.
Вместо PSI мы рекомендуем использовать классы событий в пространстве имен Microsoft.ProjectServer.Client; разработка с применением CSOM не требует манипуляции с наборами данных. Для разработки удаленных приемников событий для Project Online необходимо использовать класс Event и класс EventHandlerCreationInformation в CSOM.
Перед развертыванием обработчика событий Project Server, установите и тщательно протестируйте этот обработчик событий на тестовой установке Project Server. Если при локальной установке Project Server добавленный локальный обработчик событий становится неработоспособным, службе событий Project Server 2013 не удается загрузить другие допустимые настраиваемые обработчики событий. В этом случае необходимо удалить неисправный обработчик событий и перезапустить службу событий.
Примечание.
Для локальной установки Project Server мы рекомендуем перейти на удаленные приемники событий, используя CSOM для разработки приемников событий. Так как удаленные приемники событий не содержат стороннего кода, выполняющегося в службе событий Project Server, удаленные приемники событий более стабильны. Локальные администраторы освобождаются от поддержки службы событий Project Server.
Общие сведения о событиях см. в разделе Обработка событий в приложениях для SharePoint.
Устаревшие компоненты
Примечание.
Сведения о функциях и API, которые устарели или удалены в Предварительной версии Project Server 2016, см. в статье Что устарело или удалено в Предварительной версии Project Server 2016.
Устаревшие функции по-прежнему доступны в Project 2013 для некоторых решений, но их не следует использовать для разработки новых. Большинство следующих функций и методик не работают с Project Online или локальной установкой Project Server 2013 по умолчанию в режиме разрешений SharePoint. Существующие решения, использующие эти функции, могут не работать при обновлении Project Server 2010 до Project Server 2013. Хотя решения, использующие устаревшие функции, могут продолжать работать в некоторых случаях, они не полностью поддерживаются для всех установок Project 2013.
Если в ваших решениях используются устаревшие компоненты, перед развертыванием таких решений их следует тщательно протестировать и по возможности изменить для использования поддерживаемых компонентов. Сведения о настройке локальной безопасности Project Server 2013 для режима разрешений Project см. в разделе Режим разрешений SharePoint статьи Новые возможности для ИТ-специалистов в Project Server 2013.
Сценарии расширенийPSI являются устаревшими и не будут поддерживаться в будущих выпусках. Эти локальные сценарии Project Server 2013 поддерживают интеграцию с помощью пользовательских служб Windows Communication Foundation (WCF).
PSI проектаКласс Project PSI не рекомендуется использовать. Для всех новых разработок используйте CSOM проекта. Приложения Project Server 2013, использующие PSI Project, будут продолжать работать, но приложениям Project Online потребуется заменить все методы PSI класса Project эквивалентными методами CSOM.
PSI плана ресурсовPSI плана ресурсов не рекомендуется использовать. Он будет по-прежнему поддерживаться для разработки Project 2013, но не будет поддерживаться в будущих выпусках.
Интерфейс ASMX для PSI PSI включает дублирующиеся интерфейсы для разработки локальных расширений Project Server. Интерфейс веб-служб ASMX был представлен с первой реализацией PSI в Office Project Server 2007. В Project Server 2010 добавлен интерфейс служб WCF, где объектная модель фактически дублирует веб-службы ASMX. Хотя Project Server 2013 по-прежнему поддерживает ASMX и WCF, новые решения, требующие PSI, должны использовать службы WCF. Если возможно, новые решения должны быть написаны с применением CSOM.
Веб-службы ASMX PSI устарели в Project Server 2013. Для работы в последующих версиях Project Server решения, использующие веб-службы ASMX, должны быть переписаны с применением либо служб WCF, либо CSOM. Дополнительные сведения см. в разделе Обновление приложений с использованием API Project Server в статье Project Server programmability.
Поставщик связи объектов (OLP) В предыдущих версиях Project Server служба ObjectLinkProvider в PSI (см. Раздел WebSvcObjectLinkProvider предоставляет способ управления ссылками веб-объектов между задачами корпоративного проекта и специализированными списками SharePoint на сайте проекта для проблем, рисков, конечных результатов и документов. В Project Server 2013 OLP не рекомендуется использовать.
Класс RelatedItemManager в CSOM SharePoint можно использовать для создания, чтения и удаления ссылок веб-объектов между элементами в списке задач и другими списками на сайте проекта. Например, чтобы добавить ссылку из элемента задачи на проблему, можно использовать метод AddSingleLink или один из двух аналогичных методов: AddSingleLinkFromUrl или AddSingleLinkToUrl. Класс RelatedItemManager также содержит методы для удаления ссылки на веб-объект и чтения связанных элементов. Эквивалентный класс в JSOM (объектная модель JavaScript) см. в разделе SP. Объект RelatedItemManager (sp.js).
Рекомендуется использовать CSOM SharePoint для создания приложений типа OLP для локальной установки Project Server 2013 и Project Online. Пространство имен Microsoft.SharePoint не включает класс RelatedItemManager ****.
Пользовательские разрешения В Office Project Server 2007 поддерживались пользовательские разрешения безопасности для доступа к определенным функциям или расширениям Project Server, где в статье пакета SDK объясняется, как создать их, непосредственно изменив опубликованную базу данных. В Project Server 2010 пользовательские разрешения по-прежнему работают, но не рекомендуется. В Project Server 2013 пользовательские разрешения не работают с режимом разрешений SharePoint по умолчанию для локальных установок. Для режима разрешений Project настраиваемые разрешения поддерживаются. В Project Online прямой доступ к базе данных невозможен.
Олицетворение Олицетворение в приложениях на основе PSI, где пользователь приложения может предполагать разрешения безопасности другого пользователя Project Server, в Project Server 2013 не рекомендуется. Как указывалось ранее, локальная установка Project Server 2013 по умолчанию использует режим разрешений SharePoint, который не разрешает олицетворение в группах безопасности Project Server. Дополнительные сведения см . в статье Проверка подлинности, авторизация и безопасность в SharePoint 2013.
Приложения с состоянием — это типичные расширения, которые могли использовать олицетворение в предыдущих версиях Project Server. Project Server 2010 представил метод ReadStatusForResource и метод SubmitStatusForResource в PSI, а также глобальное разрешение StatusBrokerPermission , которое устраняет необходимость олицетворения для чтения и обновления состояния от имени другого пользователя. CSOM в Project Server 2013 использует базовый PSI для прозрачного включения расширений состояния и может использоваться как для Project Online, так и для локальных установок.
Расширения базы данных отчетов Добавление пользовательских таблиц и представлений в базу данных отчетов является обычной практикой в предыдущих версиях Project Server. Так как Project Server 2013 объединяет четыре базы данных предыдущих версий в одну базу данных, обновления не переносят пользовательские таблицы, представления или SPROC в таблицы отчетов в базе данных Project Server 2013.
Рекомендуется использовать SQL Azure или отдельную базу данных SQL Server для пользовательских таблиц и представлений отчетов, где можно управлять резервными копиями и обновлениями базы данных. Для Project Online это обязательно.
Отчётность Локальные таблицы и представления отчетов в базе данных Project Server и кубах OLAP не являются устаревшими и полностью поддерживаются. Однако таблицы и представления отчетов (база данных отчетов в предыдущих версиях Project Server) недоступны в Project Online. Аналогичным образом кубы OLAP доступны только в локальных установках Project Server 2013. Для создания отчетов приложений с помощью Project Online можно использовать службу ProjectData с помощью запросов REST с протоколом OData.
Руководство по проекту Руководство по проекту — это стандартная функция классических приложений Office Project 2007, где содержимое HTML и JavaScript в области задач предоставляет интерактивное руководство по созданию проектов и управлению ими. В Project 2010 руководство проекта недоступно в установке по умолчанию, но его можно включить с помощью VBA или надстройки VSTO. Пакет SDK для Project 2010 содержит измененные файлы руководства проекта.
Объектная модель VBA и объектная модель Microsoft.Office.Interop.MSProject в Project 2013 по-прежнему включают 22 члена класса Application и класса Project , которые могут управлять руководством проекта. Однако приложения области задач Project 2013 могут конфликтовать с действиями в области задач "Руководство проекта", а содержимое руководства проекта невозможно легко распространять или продавать в Магазине Office. Настоятельно рекомендуется разрабатывать решения области задач Project с помощью надстроек Office, а не пользовательского содержимого руководства по проекту. Дополнительные сведения о руководстве по project см. в документации по пакету SDK для Project 2010.
Сравнение локальной среды Project Server с Project Online
Чтобы помочь вам решить, следует ли использовать Project Server локально или Project Online, а также какие расширения можно разрабатывать в любом случае, в таблице 2 сравниваются расширяемые функции локальной установки Project Server 2013 с Project Online. Таблица 2 не содержит различий в развертывании, администрировании или использовании. Дополнительные сведения о Project Online и Project Server 2013 см. в статье Project 2013 для разработчиков и Project 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 и нет подключений между службами. Нет расширений API CSOM Нет пользовательских разрешений Без олицетворения Код полного доверия отсутствует |
Пользовательские базы данных |
— 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), который может включать рабочие процессы. — Создание шаблонов рабочих процессов для повторного использования — Создание и использование пользовательских действий |
Распределение |
— Магазин Office (для приложений на основе CSOM) — Частный каталог приложений в SharePoint — общая папка интрасети |
— Магазин Office — Частный каталог приложений в SharePoint |
Заключение
Project Server 2013 предоставляет множество новых возможностей и сценариев разработки, которые партнеры и клиенты могут использовать для адаптации и расширения возможностей и полезности Project Server на крупных предприятиях и в небольших организациях. Вы можете использовать инфраструктуру для Office 2013 и SharePoint 2013 для создания и распространения приложений для Project 2013, которые могут значительно расширить доступность и использование пользовательских приложений. Некоторые функции и методики расширения предыдущих версий устарели в Project 2013, в частности веб-службы ASMX PSI и функции, связанные с олицетворением или прямыми изменениями базы данных, которые нельзя использовать с Project Online.
Введение CSOM обеспечивает программный доступ к Project Online для широкого спектра устройств и с помощью JavaScript в веб-приложениях. CSOM предоставляет более согласованную модель программирования по сравнению с PSI. Доступ к данным Project Server можно получить гораздо больше способов, чем в предыдущих версиях, в том числе с помощью сетевой службы OData и конечных точек REST для передачи данных в базе данных Project. Существующие отчеты по-прежнему работают таким же образом для локального использования; новые отчеты обладают большей гибкостью.
Надстройки Office предоставляют новые возможности для продажи решений и интеграции Project Standard 2013 с веб-содержимым и другими продуктами Office 2013. Вы также можете создать новые способы интеграции Project профессиональный 2013 с данными Project Server и списками SharePoint с помощью надстроек Office области задач.
Дополнительные сведения о разработке приложений и использовании функций программирования и CSOM SharePoint Server 2013 см. в статье SharePoint для разработчиков и Office для разработчиков.
Дополнительные ресурсы
- Архитектура Project Server 2013
- Задачи программирования Project
- Клиентская объектная модель (CSOM) для Project 2013
- ProjectData — Справочник по службе Project OData
- Надстройки области задач для Project
- OData: соглашения о URI
- SharePoint для разработчиков
- Office для разработчиков
- Обработка событий в приложениях для SharePoint
- AppSource
- Project Online