Настройка производительности Project Online
С запуском Project Online несколько лет назад организации всех размеров смогли использовать богатый набор возможностей microsoft Project Portfolio Management (система УПП) в пределах удобства облачной инфраструктуры Office 365.
Хотя одно из очевидных преимуществ использования облачной службы состоит в том, чтобы не иметь дело с развертыванием, настройкой, настройкой оборудования и программного обеспечения, все еще можно предпринять некоторые действия, чтобы обеспечить вашей организации лучшую производительность из Project Online.
Project Online предлагает множество параметров конфигурации и настройки, но настройки могут иметь влияние на производительность. В этой статье освещаются влияние производительности и компромиссы некоторых из наиболее распространенных параметров Project Online, поэтому вы можете принимать обоснованные решения, когда речь заходит о настройке и настройке Project Online.
Office 365 и SharePoint Online
Существует множество сведений о планировании сети и настройке производительности для SharePoint Online и Office 365. Вся эта информация имеет отношение Project Online клиентам и должна быть проконсультироваться в дополнение к следующим лучшим практикам, определенным для Project Online.
Project Online настройки и настройки
Многие элементы веб-Project Web App могут быть настроены и настроены, от административных параметров до разрешений и параметров совместной работы до параметров look-and-feel. Давайте рассмотрим параметры, которые потенциально могут повлиять на общую производительность Project Web App сайта.
Режимы разрешений безопасности
Типы корпоративных проектов
Project конфигурации сайта
Механизмы синхронизации между Project Online и SharePoint Online
Синхронизация пула ресурсов Active Directory
Настройка пользовательского интерфейса и внешний вид
Project (PDP) и рабочий процесс
Project Online квоты
(Некоторые из этих сведений относятся к Project Server 2013 и Project Server 2016 также.)
Режимы разрешений: SharePoint или Project
С Project Online и Project Server 2013 мы ввели новую упрощенную модель разрешений, называемую режимом SharePoint разрешений, в отличие от режима Project разрешений. Сравнение между обоими режимами можно найти в Technet.
Новые Project Online по умолчанию SharePoint в режиме разрешения, и мы уверены, что этот режим будет работать с потребностями подавляющего большинства клиентов. С помощью этого режима можно управлять авторизацией пользователей с SharePoint групп и разрешений.
Project режиме разрешений обеспечивает высокую степень настраиваемости, но с точки зрения производительности он может дорожать. Если создать сотни категорий и в значительной степени полагаться на динамические разрешения с помощью структуры разбивки ресурсов (RBS), это может привести к замедлению работы конечных пользователей для пользователей, которые имеют доступ к большим количеством контента, таких как администраторы и менеджеры портфелей.
При переключении между режимом разрешений SharePoint и Project Server удаляются все параметры, связанные с безопасностью. Если переключаться с режима SharePoint на классический режим разрешения Project Server, необходимо вручную настроить структуру разрешений безопасности в Project Server 2013 и Project Server 2016. Переход с режима Project Server на режим разрешения SharePoint удаляет сведения о разрешениях безопасности с Project Server 2013 и Project Server 2016.
Рекомендация:
По возможности сохраняй режим SharePoint разрешений для улучшения общей производительности. Если необходимо использовать режим Project разрешения, максимально ограничите настройки.
Типы корпоративных проектов
Тип Enterprise Project (EPT) представляет собой оболочку, которая инкапсулирует этапы, этапы, один рабочий процесс и Project страницы детализации (PDP).
EpTs также позволяют определить:
Project конфигурации сайта
Механизмы синхронизации между Project Online и SharePoint Online
Project конфигурации сайтаProject веб-сайты построены на SharePoint функциональность. Создание сайтов проекта не является легким процессом, и решение о том, могут ли и когда вашей организации потребоваться сайты проектов, могут пройти долгий путь в улучшении общего интерфейса для конечных пользователей.
Многие организации используют Project Online, чтобы собирать и оценить предложения по проектам, прежде чем решать, какие проекты финансировать. Если при первом опубликовании проекта сайты проекта будут автоматически создаваться, то все предложения проекта, даже те, которые не делают разрез, получают сайт проекта. После этого эти ненужные сайты должны быть очищены вручную.
Лучший подход, если вы решите использовать сайты проектов, — это либо позволить пользователю выбрать, когда создать сайт совместной работы, либо, что еще лучше, создать его рабочим процессом, как только предложение проекта достигнет определенного этапа.
SharePoint в SharePoint Online ограничивает количество подсейтев, которые могут быть созданы для каждой коллекции сайтов. EPT позволяет определить, в какой коллекции сайтов создавать новые сайты проекта. Это позволит вам создать сайт проекта для каждого проекта, так как вы можете охватывать их в нескольких коллекциях сайтов.
Например, если у вас есть коллекция сайтов, посвященная вашему ИТ-отделу, вы можете настроить EPT ИТ-проектов https://contoso.sharepoint.com/sites/IT , чтобы создать Project сайтов от .
Рекомендация:
Если ваша организация использует сайты проектов, выберите вариант создания их по запросу, а не автоматически. Это ускоряет первый опыт публикации и позволяет избежать создания ненужных сайтов и контента.
Для каждого EPT можно настроить этот параметр с помощью:
В Project Web App Параметры нажмите кнопку Enterprise Project Типы.
Выберите EPT, на который необходимо изменить параметр.
На странице Параметры EPT в разделе Project site выберите Разрешить пользователям выбирать.
Создание сайтов проектов в собственной коллекции веб-сайтов по EPT. Ограничив количество сайтов проекта в коллекции сайтов ниже SharePoint Online SharePoint Online.
Что вы синхронизируете?Project Online выполняется поверх SharePoint Online так же, как Project Server выполняется поверх SharePoint Server. В результате мы должны синхронизировать определенное количество компонентов между двумя системами. Эти синхронизации могут отнимать много времени и в зависимости от потребностей бизнеса иногда могут быть ненужными. В этой статье изучаются все эти различные системы синхронизации, которые помогут вам решить, какие из них вам нужны, а какие можно безопасно отключить. Некоторые из этих параметров уже отключены по умолчанию.
В следующих разделах мы обсудим:
Синхронизация разрешений пользователей для сайта проекта
Синхронизация SharePoint задач для Enterprise проектов
Синхронизация разрешений пользователейProject сайты — это рабочее пространство, в котором группы проектов могут сотрудничать, загружать документы и поднимать проблемы. При включенной синхронизации пользовательских разрешений каждый раз, когда пользователю предоставляется разрешение на проект, соответствующие разрешения Project сайта обновляются.
Такая синхронизация происходит каждый раз, когда проект публикуется. Компромиссом для удобства синхронизации является производительность, например, чем больше пользователей и сайтов необходимо синхронизировать, тем медленнее операция, особенно если вы массово публикуете, импортируете или создаете несколько проектов (с сайтами проектов) или обновляете членство в группах, что потребует повторного получения разрешений на сайты проектов.
Для каждого EPT можно определить, включена ли синхронизация пользовательских разрешений.
Если сайты проектов создаются в другой коллекции сайтов, чем там, где Project Web App расположен сайт (например, https://contoso.sharepoint.com/sites/pwa Project Web App расположен и EPT https://contoso.sharepoint.com/sites/IT)создает сайты проектов, синхронизация разрешений пользователей не поддерживается.
Рекомендация:
Мы настоятельно рекомендуем отключить параметр синхронизации Project разрешения на сайт, если в развертывании верно следующее:
У вас есть большое количество ресурсов (>1000)
У вас есть большое количество проектов, для которых требуется Project (>1000)
У вас есть большое количество ресурсов, которые должны быть предоставлены доступ к большинству Project сайтов
Project создаются вне коллекции сайтов по умолчанию (синхронизация отключена)
Ниже параметров управления разрешениями Project сайта:
Если у групп проектов низкий оборот, Project синхронизацию разрешений на сайт, чтобы повысить производительность Project публикации и Project страниц. Затем вам придется вручную предоставлять или удалять разрешения на Project веб-сайты всякий раз, когда кто-то присоединяется или покидает команду проекта.
Если необходимо предоставить доступ всем пользователям в PWA и он сопопостроит существующие разрешения группы, подумайте о настройке Project сайтов для наследования от родительского PWA сайта.
Если доступ к сайту совпадает с определенными ролями, создайте одну или несколько групп, которые соединяются с этими ролями (возможно, если включена синхронизация группы, можно использовать те же группы) и предоставить этим группам доступ к Project сайту.
Для каждого EPT можно включить синхронизированные допустимые действия пользователей по:
В Project Web App Параметры нажмите кнопку Enterprise Project Типы.
Выберите EPT, на который необходимо изменить параметр.
На странице Параметры EPT в разделе Синхронизация выберите синхронизацию разрешений пользователей.
Синхронизация SharePoint задач для Enterprise проектовСинхронизация SharePoint списков задач по умолчанию отключена для повышения скорости публикации проекта. Это также помогает ускорить переход между страницами Project детализации. Если пользователи полагаются на список задач и его визуализацию в Project, вы можете включить эту функцию и проверить, разумно ли ее влияние на производительность публикации проекта.
Если сайты проекта создаются в другом собрании сайтов, чем там, где Project Web App расположен сайт (например, https://contoso.sharepoint.com/sites/pwa где Project Web App расположен и EPT https://contoso.sharepoint.com/sites/IT)создает сайты проектов, синхронизация SharePoint списков задач не поддерживается.
Рекомендация
Параметр Sync SharePoint списков задач был предназначен для использования с небольшими планами проектов. Если у проекта большое количество задач, синхронизация их публикации займет некоторое время, так как каждая задача должна обновляться по одному. Например, синхронизация плана проекта 500 задач с SharePoint списка задач занимает несколько минут. Несмотря на то, что задание очереди находится на отдельной корреляции и не блокирует сохранение и редактирование плана проекта, рекомендуется не включать параметр Sync SharePoint списков задач. Рекомендуется синхронизировать только проекты с менее чем 250 задачами.
Этот параметр отключен по умолчанию. Синхронизируйте SharePoint только в том случае, если пользователям нужна эта функция для каждого EPT. Чтобы настроить этот параметр:
В Project Web App Параметры нажмите кнопку Enterprise Project Типы.
Выберите EPT, на который необходимо изменить параметр.
На странице параметры EPT в разделе Синхронизация выберите списки задач SharePoint синхронизации.
Синхронизация пула ресурсов Active Directory
Синхронизация пула ресурсов Active Directory сама по себе не имеет особых проблем с производительностью и может импортировать тысячи ресурсов в экземпляр Project Web App за несколько минут. Однако его влияние на другие части системы может повлиять на производительность. Основным процессом, за который необходимо следить, является синхронизация разрешений ресурсов, о которых говорилось ранее. Если в составе групп Active Directory имеется большой оборот, что требует частой синхронизации пула ресурсов, отслеживайте возможные последствия синхронизации разрешений в даунстриме.
Рекомендация:
Ограничь синхронизацию Active Directory с группами ресурсов, которые действительно необходимо использовать систему, и отслеживайте возможные проблемы с разрешениями после синхронизации больших групп. (Чтобы настроить синхронизацию Enterprise ресурсов, в Project Web App Параметры нажмите кнопку Синхронизация пула ресурсов Active Directory.
PWA страниц и представлений настроек
Настройки страницПлатформа SharePoint предоставляет большие возможности настройки с модульной инфраструктурой веб-части и поддержкой пользовательских страниц. При добавлении логотипов, пользовательских веб-партов и новых тем это может не оказать существенного влияния на производительность локальной инфраструктуры из-за преимуществ близости к серверу, низкой задержки и высокой пропускной способности сетей. Однако в онлайн-службе история отличается.
При загрузке логотипа или графического изображения с большим размером файла может немного замедлиться загрузка страниц локального развертывания, но в Интернете производительность нагрузки на страницу является существенной.
Тот же принцип применяется при добавлении нескольких веб-партов на страницу. Может возникнуть соблазн иметь настраиваемую страницу с несколькими веб-сайтами, но если пользователям не нужно видеть данные рядом, лучше иметь отдельные специализированные страницы, чем иметь все это в одном месте. Если пользователям требуется только содержимое одного веб-сайта на странице, им все равно придется дольше ждать загрузки страницы и отображения данных для всех остальных веб-партов.
Рекомендация:
При настройке страниц относитесь к Project Online как к любому регулярному веб-сайту Интернета и создайте максимально легкие страницы.
Представления настроекЗдесь еще раз, простота идет долгий путь к повышению производительности загрузки страницы. Организации могут создавать настраиваемые представления с помощью нескольких Project Web App страниц, в том числе Project Центра, Центра ресурсов, задач и таблиц.
Чем больше контента отображается, тем медленнее будет отрисовка страницы. Можно сократить время загрузки каждой страницы на несколько секунд, если предоставить пользователям больше простых и целевых представлений, а не несколько представлений "все в одном".
В примерах ниже, второе представление занимает в среднем от 2 до 3 секунд меньше нагрузки, чем первый.
Рекомендация:
При настройке представлений предложите пользователям простые специализированные представления для более быстрой навигации, а не сложное представление "все в одном", которое большую часть времени загружает ненужные данные.
Просмотр пользователя Параметры Project Центр: группа с помощью rollupsПользователи могут настраивать различные способы отображения представления, включая группу данных в разных полях. При использовании группы можно свернуть данные для поддерживаемых полей агрегации (например, суммирования затрат или настраиваемой области). При вычислении этих совокупных значений служба загружает все значения для отображения общего числа.
Рекомендация:
Если пользователю не требуется увидеть свернутые значения, отключите параметр Rollup в ленте.
Project: Диаграмма ГанттаВ части диаграммы представления Gantt Chart каждый проект отображается в качестве сводной панели Gantt.
Рекомендация:
Если пользователю не нужно увидеть Gantt, отключим параметр Gantt Chart в ленте.
Пользовательские Project страницы и рабочий процесс
В дополнение к рекомендациям, предоставленным выше для разработки страниц, Project Страницы детализации (PDP) особенно в том, что они могут вызвать перерасчет всего проекта и запускать действия рабочего процесса, оба из которых могут быть дорогостоящими операциями с точки зрения производительности, в зависимости от ваших настроек.
Project Online и Project Server имеют два основных процесса обновления для информации о проекте:
Обновления, требующие пересчета планирования (см. список ниже)
Поля, не связанные с проектом, такие как имя проекта, описание и владелец.
Рекомендуется избегать обновления обоих типов данных на одном ИПД, чтобы не запускать одновременно оба процесса обновления.
Вот список наиболее распространенных действий, которые требуют пересчета расписания.
Изменения в следующих полях даты:
Изменения в пользовательских полях проекта
Если у проекта есть какие-либо зависимости от доставки
Второй способ повышения производительности PDP — уменьшить количество веб-партов и настраиваемые поля, отображаемые на каждом PDP. Если бизнес-процессы требуют частых обновлений в одном и том же наборе полей, создайте выделенный PDP только с этими полями, чтобы повысить нагрузку и сэкономить время. Отображение всех пользовательских полей во все времена приводит к большим излишним накладным затратам.
Рекомендация:
Создание облегченных специализированных PDP и предотвращение смешивания обновлений, связанных с расписанием и не связанных с расписанием.
Массовые пользовательские обновления полей в рабочего процессах с новым API RESTОбновление значений пользовательских полей проекта в рабочего процесса одновременно требует отдельного запроса сервера с помощью действия Set Project Field. Это приводит к снижению производительности при одновременном обновлении многих пользовательских полей в сети с высокой задержкой и низкой пропускной способностью.
Чтобы решить эту проблему, существует метод CSOM для обновления пользовательских полей оптом. Этот метод требует, чтобы вы передали в словарь, содержащий имя и значения всех пользовательских полей, которые необходимо обновить.
API для обеспечения реализации сайтов проекта по запросуКаждый проект может иметь свой собственный SharePoint, на котором члены группы могут сотрудничать, обмениваться документами и поднимать проблемы. Эти сайты могут быть автоматически созданы при первом публикации или вручную созданные руководителем проекта через Project Pro или администратора с помощью Project Web App параметров, или они могут быть просто отключены.
Вы можете использовать метод CreateProjectSite(') для решения о создании сайтов проекта. Это особенно полезно для организаций, которые хотят создать свои сайты только после того, как проектное предложение достигнет определенного этапа в заданном рабочего процесса, а не при первом публикации. Это значительно повышает производительность создания проекта, откладывая создание Project сайтов.
Обработка событий
Надстройки могут реагировать на события, поднятые в Project Online. Например, надстройка может выполнять некоторые дополнительные действия после создания проекта. Возможно, пользователям придется подождать, пока эти надстройки завершат обработку событий, прежде чем они смогут продолжить работу с Project Online.
Рекомендация:
Project Online необходимо настроить для асинхронного обработки определенных событий, чтобы свести к минимуму время ожидания пользователей. Для этого попросите разработчика любых надстройок, которые вы используете, чтобы убедиться, что их код может обрабатываться асинхронно после событий. Они могут перейти в эту статью , чтобы узнать больше о практиках, которые они могут следовать для обработки этих событий.
Если разработчик подтвердит, что надстройка готова к изменениям, необходимо включить асинхронную настройку После обработки событий на PWA Параметры странице.
На странице PWA Параметры в разделе Операционные политики выберите дополнительные серверные Параметры.
В разделе Обработка асинхронных событий для событий after убедитесь, что после обработки событий будет выбрана асинхронная обработка.
Выберите Сохранить.
Затем необходимо проверить экземпляры, чтобы убедиться, что все работает правильно.
Этот параметр можно увидеть и изменить только администратором коллекции сайтов.
OData и отчеты
Служба OData ProjectDataProject Online служба отчетов OData, которая позволяет создавать отчеты и визуализацию данных, хранимых в службе. API службы отчетов ProjectData OData определяется здесь.
Вызовы в службу отчетности ProjectData OData регулируются SharePoint Online. Пожалуйста, просмотрите статью Избегайте регулирования или блокировки в SharePoint Online, чтобы убедиться, что вызовы менее склонны к рестрикции, а также правильно реализовать рекомендации по повторной и экспоненциальной отпору.
Кроме того, в соответствии с рекомендациями, описанными в этом документе, уменьшится количество, длина и частота вызовов, необходимых для получения данных. Если регулирование происходит часто, проверьте в организации, как несколько отделов могут запрашивать те же данные или не следовать лучшим практикам, изложенным в этой статье и затрагивающих всех.
Timephased ReportingВ Project Online вы можете выбрать уровень детализации, необходимый для данных отчетности по времени. Параметры и влияние уровней полностью задокументированы в настройках поэтапного представления данных отчетов в Project Online. Выбор уровня, который генерирует наименьшее количество данных для сценариев, позволит быстрее увидеть данные в конечной точке службы OData Reporting и сократит время загрузки.
Список параметров в порядке производительности (от большинства до наименее результативных, соотносимых с объемом генерируемых данных):
Фискальные периоды имеет большое преимущество по сравнению с ежемесячным, так как данные отчетов удерживаются только для определенных финансовых периодов, в то время как monthly будет держать данные на полную продолжительность во всех ваших проектах.
С помощью службы Project OData можно извлечь сведения из экземпляра Project Online отчетов.
Рекомендация:
Храните наименьшее количество данных с периодом времени, соответствующее потребностям бизнеса. Не используйте Ежедневно, если у вас есть рабочий процесс, который ждет публикации для завершения. Ежедневно может потребоваться значительное время для создания необходимых данных, что приводит к ожиданию рабочего процесса.
Запрос службыКоличество сущностями , которые могут быть возвращены в одном запросе службы OData ProjectData, ограничивается. В результате для запроса большого количества данных в службу необходимо отправить несколько веб-запросов, добавив сетевые накладные расходы и задержки для каждого запроса.
Рекомендация:
Избегайте выполнения полных нагрузок данных "обновить все". Эти обновления могут повлиять на производительность PWA, особенно в периоды пикового использования, что приводит к общей деградации производительности пользовательских операций в PWA или регулирование.
Выполните действия обновления Odata после нескольких часов. При принятии решений по поддержанию реального времени или вблизи реальных отчетов также следует учитывать компромиссы производительности с пользовательским опытом на PWA сайте. Если требования "обновить все" существуют, просмотрите раздел "Службы SQL Server интеграции (SSIS) — рекомендуемые для больших наборов данных".
Для Project Web App, который содержит большое количество сущностями, такими как проекты, назначения или задачи, следует ограничить данные, возвращаемые по крайней мере одним из следующих способов. Если вы не ограничите возвращенные данные, запрос может превысить ограничения по умолчанию и повлиять на производительность сервера.
Всегда используйте $filter URL-адрес и $select для ограничения данных. Например, следующие фильтры запросов по дате начала проекта возвращают только четыре поля, в порядке имени проекта:
Избегайте настраиваемого поля, которые являются многомерным просмотром. Для обработки пользовательских значений полей, которые являются многомерным просмотром, требуются дополнительные вычисления. Эти поля не могут воспользоваться несколькими оптимизациями, реализованными для более распространенных сценариев клиентов. Если настраиваемые поля с несколькими значениями уже настроены, улучшайте скорость и надежность при проверках, гарантируя, что ни одно из этих полей не будет указано в фильтрованном запросе Odata.
Запросы сущностями по ключу или ассоциации. При запросе сущностям обратитесь к документу метаданных https://yourdomain.sharepoint.com/sites/PWA/_api/ProjectData/в $metadata. При любой возможности запрашивать объект одним из следующих способов:
Keys
Если имеется несколько ключей, использование первого ключа будет работать лучше, чем только с помощью второго ключа.
Ассоциации
Например, вы можете запрашивать объект Назначение с помощью AssignmentId и ProjectId:
с помощью ProjectId:
через ассоциацию Project:
Сделайте несколько запросов, чтобы возвращать данные по одной странице, используя $top и $skip в цикле. Например, следующий запрос получает вопросы от 11 до 20 для всех проектов, в порядке ресурса, которому назначена проблема:
Избегайте повторного запроса имени Project/Task/Resource при запросе объекта назначения. Служба выполняет дополнительную обработку для получения соответствующих имен. Если данные уже извлечены из других запросов, не включайте их в фильтр $select при запросе Назначение.
Рекомендация:
Ограничить объем запрашиваемой информации во время выполнения с помощью фильтрации на стороне сервера, чтобы получить только нужные столбцы. Это наиболее заметно с помощью настраиваемых полей. Добавьте в настраиваемые поля только в том случае, если они вам нужны.
Убедитесь, что фильтруется ключ сущности. Ключ сущности индексироваться и будет предлагать гораздо более исполнительский опыт получения данных. Ключ(ы) для каждой сущности можно найти, просмотрев документ метаданных службы в экземпляре PWA: https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/$metadata
Сбор отчетов о данных и создании PowerBIЕсли объем данных небольшой, Power BI регулярно читать данные из службы Project OData и предоставлять различные отчеты о динамике. Пример пакета контента можно найти здесь.
Если объем данных в Project Online велик, вы все равно можете ввести подмножество данных до тех пор, пока они соответствуют ограничениям размера данных PowerBI, описанным здесь. Другим вариантом является создание отчетов в движущегося окне, например, фильтрация проектов, активных в течение последних 30 дней, или просмотр ресурсов в течение следующих 6 месяцев. Просмотрите раздел $filter/$select для лучших практик, так как PowerBI может не воспользоваться оптимизацией фильтрации на стороне службы.
Excel ODataExcel можно использовать для скачивания данных и создания настраиваемых визуализаций и отчетов. Если объем данных в Project Online велик, подмножество данных может использовать движущиеся окна, например, фильтрацию проектов, активных в течение последних 30 дней, или возможность просмотра ресурсов в течение следующих 6 месяцев. Просмотрите раздел $filter/$select для использования Excel, так как Excel могут не воспользоваться оптимизацией фильтрации на стороне службы.
SQL Server Integration Services (SSIS)С помощью SSIS Project Online отчеты можно загрузить из службы OData Project в локализованную базу данных SQL сервера или в Microsoft Azure. После загрузки можно авторизировать любые отчеты и визуализации. Для синхронизации локальных данных с данными Project Online.
При использовании SSIS используйте следующий шаблон, Project Online оптимизирован. Шаблон позволит сократить время, необходимое для получения и синхронизации локальных данных. Далее скачайте только поля, необходимые для выполнения бизнес-требований. Чем меньше полей запрашивается, тем быстрее можно получить данные.
Полная синхронизация
Извлечение текущего снимка данных отчетности, которые вас интересуют. Используйте следующий метод для эффективного получения Project и связанных с ними сущностями.
Например, с помощью Project объекта.
Запрос ProjectId из Project, включая дополнительные фильтры. Например, фильтровать проекты с определенными датами начала или завершения.
Запрос объекта Project, указывавший поля, которые необходимо скачать, фильтрация на одном объекте ProjectId, который был ранее извлечен. Включай ProjectModifiedDate, как он используется в шаблоне синхронизации дельты ниже.
Повторите шаг 2 для каждого ProjectId. Кроме того, для каждого ProjectId скачайте данные для связанных сущностями.
Например, с помощью объекта Task :
Запрос на TaskId из объекта Taskentity, фильтруемого на любых дополнительных полях, а также projectId projectId на предыдущем шаге.
Запрос объекта Задачи, указывавший поля, которые необходимо скачать, и фильтрация на одном объекте TaskId, который был ранее извлечен. Включай TaskModifiedDate, как он используется в шаблоне синхронизации дельты ниже.
Повторите для каждого TaskId.
Аналогично, используйте один и тот же подход для каждой связанной сущности, например, Назначение, TaskTimephasedData
Предыдущие действия применяются к другим группам сущностям, например при ирисовке сведений о времени получения:
-
Извлекай таблицу timesheetId и ModifiedDate на основе критериев фильтра, затем записи таблицы, затем timeSheetLines фильтрации на TimeSheetId и продолжайте на других связанных сущностями, гарантируя, что вы сдаете основные ключевые Ids (TimesheetUID) и поля даты изменения.
При ирисовывии сведений о сущности ресурса:
- Извлекать ResourceId и ResourceModifiedDate, затем записи ресурса , затем ResourceTimephasedData и т.д. Включай соответствующие основные ids ключа и поля дат изменения.
Синхронизация Delta
Периодически проверяйте, чтобы локализованная копия отчетных данных была в курсе. Повторите шаги ниже по мере необходимости для соответствующей группы правообнабжаетов, например, таблицы времени, ресурса.
Запрос всех дат и даты изменения ProjectId из конечной точки Project с помощью $filter критериев.
Удаление локальных записей проекта и связанных с ними записей (задачи, назначения и т.д.), где ProjectId больше не существует.
Если дата изменения службы и дата локального изменения отличаются для записи проекта, запрашивайте конечную точку Project для всех необходимых полей, фильтрующихся на одном ProjectId одновременно. Кроме того, для каждого ProjectId скачайте данные для связанных сущностями.
Например, с помощью объекта Task :
Запрос на TaskId и TaskModifiedDate от фильтрации объекта задач на любых дополнительных полях, а также project ProjectId на предыдущем этапе, на котором данные изменились, т.е. Project дата изменения службы не совпадала с датой локальной модификации.
Удаление локальных и связанных записей для TaskId, которые больше не существуют.
Если дата изменения службы и дата локального изменения отличаются, запрашивайте конечную точку соответствующего объекта, передающегося в основной ключ TaskId и сущности, и обновляйте локализованную версию.
Повторите для каждой связанной сущности, например, Назначение, TaskTimephasedData.
Project Web App Квота
По умолчанию веб-Project Web App поставляется с ограничением в 25 ГБ и отделен от лимита на все данные, хранимые в коллекции SharePoint, где включен Project Web App. Использование параметров детализации отчетов для уменьшения объема данных может помочь в том, чтобы оставаться в пределах квоты.
PWA квота может быть увеличена (с увеличением) до 100 ГБ. После PWA будет необходим новый веб-сайт. Увеличивается более чем на 50 ГБ, чтобы PWA больше не использовать суточный параметр детализации отчетов. Чтобы обсудить увеличение квоты PWA сайта, обратитесь в Корпорацию Майкрософт.
Заключение
Project Online, как и любая облачная служба, работая в Интернете, требует определенной настройки, чтобы обеспечить лучшую производительность по сравнению с локальной развертыванием.
Несмотря на то, что мы постоянно совершенствуем систему, чтобы ускорить производительность, тем временем можно предпринять несколько действий, чтобы обеспечить хороший опыт для конечных пользователей.
По возможности SharePoint режим разрешения.
Включаем только функции, которые вы на самом деле используете.
Сохраняй страницы и настройки как можно более простыми и легкими для более быстрого времени загрузки страницы.
Для большей гибкости отчетности используйте фильтрацию на стороне сервера или экспорт Odata feeds data to a SQL Server базы данных.
Выберите параметр детализации отчетов, который использует наименьшее количество данных, удовлетворять потребности в отчетности.