Поделиться через


Руководство по SharePoint Framework для предприятий

SharePoint Framework (SPFx) — это новая модель разработки для расширения пользовательского интерфейса SharePoint. Он используется первыми и третьими лицами, дополняя существующие параметры настройки и расширяемости, такие как модель надстройки SharePoint. SharePoint Framework позволяет использовать структурированный и поддерживаемый подход для обогащения и расширения пользовательского интерфейса SharePoint с помощью клиентских платформ. На основе современных веб-стандартов он предлагает уникальный набор функций, которые делают настройки SharePoint широко доступными для разработчиков и предприятий, но в то же время соответствуют предыдущим моделям и шаблонам в SharePoint. На этой странице мы предоставляем администраторам общие сведения, преимущества и знания, необходимые для успешного управления компонентами на основе SharePoint Framework в средах SharePoint.

Общие сведения

Среда SharePoint долгое время использовалась как платформа для приложений и разработки и предоставляла множество наборов параметров для разработки и настройки: от кода с полным доверием, выполняющегося на серверах SharePoint, до изолированных решений, надстроек и модификаций интерфейса, созданных с помощью стандартных функций или внедрения JavaScript/CSS.

В мультиклиентской среде SharePoint Online код с полным доверием никогда не поддерживался, а служба изолированного кода объявлена устаревшей. Основные модели настройки SharePoint Online — надстройки, удаленное выполнение кода (из другого расположения, такого как Azure) через стандартные API и внедрение JavaScript. Хотя внедрение JavaScript было очень эффективным способом расширения SharePoint, поддерживать его соответствие постоянно обновляемой модели SharePoint Online оказалось трудно. Платформа SharePoint Framework призвана устранить эти проблемы, предоставляя стандартизированную инфраструктуру для создания собственных расширений пользовательского интерфейса и для разработки приложений на основе SharePoint Online, использующих поддерживаемые технологии и рассчитанных на долгую работу.

SharePoint Framework обеспечивает расширение пользовательского интерфейса SharePoint за счет клиентских веб-частей и расширений.

Клиентские веб-части

Клиентские веб-части основаны на известной парадигме веб-частей, ставшей одним из факторов успеха SharePoint. Пользователи могут добавлять веб-части на страницы и независимо настраивать. Эти клиентские веб-части работают как на современных, так и на классических страницах, а также в мобильном приложении SharePoint.

Примечание.

Дополнительные сведения см. в статье Общая информация о клиентских веб-частях SharePoint.

Расширения

Расширения SPFx позволяют разработчикам применять в "современном" варианте определенные настройки пользовательского интерфейса, которые были возможны в "классическом" варианте SharePoint. Разработчики могут добавлять JavaScript на любую страницу, добавлять верхние и нижние колонтитулы, добавлять элементы меню в списки и библиотеки, настраивать представление поля в списке.

Модель и инструментарий разработки

Платформа SharePoint Framework построена с нуля с использованием основанных на современном стеке веб-технологий TypeScript, JavaScript, HTML и CSS. Все части создаваемых артефактов выполняются в браузере пользователя. Кроме того, SharePoint Framework включает новый набор инструментов. Этот новый набор инструментов не зависит от платформы, работает в Windows, macOS, Linux и основан на технологиях с открытым кодом, таких как Node.js, Gulp, Webpack и Yeoman. Эта инфраструктура и инструменты используются при сборке, помогая разработчику собирать, упаковывать и развертывать приложения. Они не требуются для выполнения кода SharePoint Framework.

Текущее состояние SharePoint Framework

SharePoint Framework была представлена в 2017 г. в SharePoint Online. Последняя версия и все предыдущие версии платформы SharePoint Framework размещены и доступны в SharePoint Online.

Кроме того, платформа SharePoint Framework доступна для SharePoint Server 2016 (с пакетом дополнительных компонентов Feature Pack 2) в версии 1.1 и для SharePoint Server 2019 в версии 1.4.1.

Точка зрения разработчиков

Платформа SharePoint Framework будет полезна всем — как новичкам, так и опытным разработчикам SharePoint. Она позволяет разработчикам расширять возможности пользовательского интерфейса SharePoint безопасным и структурированным образом, используя клиентские компоненты. Эти компоненты выполняются на стороне клиента и могут работать с данными в SharePoint, в Microsoft 365 через Microsoft Graph или даже с помощью собственных пользовательских веб-API с использованием стандартных методов OAuth и REST.

Опытным разработчикам SharePoint знакомы такие понятия, как веб-части и модель данных SharePoint. Однако для сборки, упаковки и развертывания клиентских веб-частей используются новые инструменты. В первую очередь разработчикам потребуются навыки программирования на TypeScript — основном языке для разработки артефактов SharePoint Framework. TypeScript имеет ряд преимуществ перед JavaScript, важных для корпоративной разработки, например строго типизированные объекты, наследование объектов, классы и интерфейсы — эти понятия хорошо знакомы разработчикам приложений на .NET, Java и C/C++. Что касается сборки и упаковки, то Visual Studio больше не является единственным вариантом для создания решений SharePoint. Благодаря применению технологий и проектов с открытым кодом, таких как node.js, npm и Gulp, разрабатывать решения для SharePoint Framework можно на любой платформе, используя любой редактор кода или IDE, например Visual Studio Code, Sublime или даже Блокнот.

Разработчикам, которые еще не занимались созданием решений SharePoint, но знакомы с современными веб-технологиями, не придется осваивать много нового материала. Многие разработчики уже перешли на клиентскую разработку полностью или в некотором сочетании. Клиентская разработка позволяет предоставлять пользователям более качественные, динамичные и адаптивные решения, а также упрощает работу разработчиков. Благодаря свободе выбора редактора кода, а также использованию известных и популярных платформ технологий с открытым кодом многим разработчикам (даже тем, которые, возможно, еще не работали с экосистемой корпорации Майкрософт) будет легко приступить к созданию расширений SharePoint.

Одним из распространенных шаблонов расширения SharePoint Online было внедрение JavaScript (или вставка JavaScript). Этот способ заключается во вставке произвольного кода JavaScript на страницу (например, с помощью веб-части редактора скриптов) и вставке кода HTML, CSS и JavaScript, образующего решение или приложение, с помощью модели DOM браузера. У этого способа есть множество недостатков. Во многих случаях он даже приводил к тому, что пользователи не могли воспользоваться новыми функциями SharePoint Online в связи с их жесткими зависимостями от структуры HTML и CSS в SharePoint. SharePoint Framework предоставляет более надежную (но еще не полную) замену методике внедрения JavaScript. Как упоминалось ранее, SharePoint Framework использует TypeScript, что позволяет с легкостью переносить внедренный код JavaScript в стандартизированные и современные решения. Инициатива OfficeDev PnP также включает примеры проектов и рекомендации по такому переходу.

В перспективе: SharePoint Framework в рамках общей платформы SharePoint

SharePoint Framework — это новая модель, которая дополняет существующие методы, но в первую очередь призвана усовершенствовать такие настройки пользовательского интерфейса, как клиентские веб-части. Эта платформа рассчитана на работу с имеющимися рабочими моделями, а также призвана упростить создание настроек пользовательского интерфейса более поддерживаемым и надежным образом.

Важно!

Страница SharePoint HTML DOM — это не API. Не используйте зависимости от DOM-структуры страницы или стилей CSS, так как они могут изменяться и приводить к сбою решений. SharePoint Framework предоставляет многофункциональный API для безопасной настройки работы с SharePoint. Это единственное поддерживаемое средство взаимодействия со страницей SharePoint HTML DOM.

Сравнение с надстройками

Надстройки SharePoint (их первоначальное название — приложения для SharePoint, но позже они были переименованы) появились в SharePoint 2013 и были одним из немногих поддерживаемых и управляемых вариантов добавления настроек в SharePoint Online. Однако во многих случаях надстройкам SharePoint требуется слишком много инфраструктуры даже для незначительной настройки пользовательского интерфейса.

Есть два типа надстроек SharePoint: с размещением в SharePoint и у поставщика. Надстройки, размещаемые в SharePoint, были одним из поддерживаемых способов выполнения клиентского кода в SharePoint, но, как упоминалось ранее, даже для добавления простой клиентской веб-части (JavaScript) требовалось неоправданно много усилий. Во многих случаях надстройки, размещаемые в SharePoint, создавались только для развертывания артефактов, например списков и веб-частей, на сайте SharePoint. Надстройка размещается на сайте приложения — специальном сайте с ограниченными функциями.

Надстройки, размещаемые у поставщика, выполняются удаленно из SharePoint (Online) и могут использовать как серверный, так и клиентский код. Это удобно для независимых поставщиков программного обеспечения, которые хотят защитить свою интеллектуальную собственность, код или логику, и для сценариев, которые невозможно выполнять на стороне клиента с помощью JavaScript. Например, это могут быть продолжительные, сложные вычислительные операции или доступ к удаленным данным, которые недоступны сценариям на стороне клиента.

Основное преимущество надстроек — изолированность. Фактический код не выполняется на сайте SharePoint, поэтому защита браузера от межсайтовых сценариев не позволяет надстройке получить тот же уровень доступа, которым обладает пользователь. Надстройкам доступны только те разрешения, которые предоставили им при установке. По этой причине надстройки являются более безопасным вариантом для тех случаев, когда администратор получает надстройку от стороннего поставщика. Кроме того, благодаря этому корпорация Майкрософт смогла создать Магазин, в котором можно скачивать надстройки.

Платформа SharePoint Framework работает параллельно с надстройками, размещаемыми как в SharePoint, так и у поставщика, но ее также можно использовать в качестве альтернативы, когда требуются только клиентские сценарии. Например, надстройки могут добавлять веб-части приложений на свой сайт. Эти веб-части приложений во многом аналогичны обычным веб-частям, но выполняются не в контексте страницы, а на собственном домене (сайте приложения или поставщика) в объекте IFrame на странице. Благодаря этому надстройка не может получить контекст пользователя с остальной части страницы.

Платформа SharePoint Framework работает не в Iframe. Благодаря этому она может лучше внедряться в контекст страницы, приобретая все права пользователя, просматривающего веб-часть. Это ключевой фактор, обеспечивающий широкие возможности таких решений, но в то же время означает более низкий уровень безопасности по сравнению с надстройками. В связи с этим решения SharePoint Framework также называют клиентскими решениями с полным доверием. Недостаток объектов IFrame — отсутствие оперативности. По этой причине веб-страница будет хуже отображаться на мобильном телефоне или на устройстве с другим размером экрана.

В связи с упомянутым выше аспектом безопасности на момент написания этой статьи не существует магазина, в котором можно скачивать и устанавливать решения SharePoint Framework. Во многих случаях, когда желательно использовать контекст пользователя, вместо этого можно применить SharePoint Framework.

Внедрение JavaScript в HTML

Один из наиболее популярных подходов, используемых разработчиками, — внедрение JavaScript (или вставка JavaScript). Это означает, что на сайты и страницы вставляется произвольный код JavaScript, например с помощью дополнительных действий, эталонных страниц, макетов страниц или даже веб-частей редактора скриптов. Этот метод оказался проще, чем создание надстроек, размещаемых в SharePoint, а также обеспечивает выполнение кода скрипта в полном контексте пользователя, поэтому он набрал большую популярность. Недостаток этого подхода заключается в том, что для внедрения часто требуются манипуляции с моделью DOM, а для выполнения и поддержки необходимы навыки разработчика.

Учитывая постоянное обновление среды SharePoint Online, решения, созданные с помощью внедрения JavaScript, могут выходить из строя при каждом обновлении SharePoint Online, так как разработчики могут использовать (даже случайно) зависимости от структуры и стилей страниц SharePoint. Обновления для SharePoint (даже незначительные и незаметные) могут оказывать значительное влияние на эти решения, приводя к неработоспособности кода JavaScript.

С выпуском SharePoint Framework появился стандартизированный и поддерживаемый корпорацией Майкрософт способ реализации многих решений, которые ранее создавались с помощью внедрения JavaScript.

Веб-части "Редактор скриптов"

Самый распространенный способ вставки произвольного кода HTML, JavaScript или CSS в SharePoint — использование веб-части редактора скриптов или веб-части редактора содержимого. Веб-части редактора сценариев набрали популярность, потому что позволяют с легкостью добавлять пользовательские скрипты на любую страницу. Любой редактор сайта может добавить веб-часть редактора скриптов на страницу, скопировать и вставить код JavaScript, а затем предоставить JavaScript выполнение необходимых настроек. Как и при внедрении JavaScript, администраторам может быть сложно контролировать веб-части редактора скриптов.

Во многих случаях SharePoint Framework может служить непосредственной заменой для конфигураций, использующих эту веб-часть.

Управление возможностями написания скриптов в SharePoint Online

SharePoint Online позволяет администраторам управлять возможностью добавления пользовательских сценариев на сайты и страницы, повышая безопасность и целостность клиента. Это делается с помощью функции "Специальный скрипт" на сайте администрирования SharePoint Online или отдельно для каждого сайта с использованием PowerShell.

Специальные скрипты можно отключить на всех или только на личных сайтах. По умолчанию для новых клиентов отключены скрипты на личных сайтах, всех самостоятельно созданных сайтах, а также в корневом семействе веб-сайтов клиента.

Если специальные скрипты отключены, редакторы сайтов не могут добавлять веб-части, в частности веб-части редактора скриптов. Но решения SharePoint Framework разрешены, так как они считаются безопасными после утверждения администратором в каталоге приложений.

Особенности создания решений SharePoint Framework (и почему они важны)

SharePoint Framework использует новые принципы разработки, создания и развертывания настроек SharePoint, применяя современную технологию веб-решений с упором на клиентских и браузерных настройках.

Это значительно меняет подход к разработке для SharePoint.

Благодаря применению таких технологий и инфраструктуры, как TypeScript, Node.js, Yeoman и Gulp, платформа SharePoint Framework привлекательна для разработчиков, которые раньше не работали с SharePoint (или какими-либо другими продуктами корпорации Майкрософт). В то же время существующие разработчики SharePoint теперь могут создавать настройки SharePoint, используя более современный и стандартизированный подход.

Создание решений

Из-за необходимости в специальных и целевых средствах, предоставляемых через Visual Studio, разработка SharePoint велась с помощью Visual Studio в среде разработки на основе Windows с локально установленным и настроенным экземпляром SharePoint. Это ограничивало настройки оборудования и пользовательские настройки, а также увеличивало затраты на разработку. SharePoint Framework использует различные распространенные веб-инструменты с открытым кодом для ряда платформ, в том числе macOS и Linux, делая процесс разработки более гибким.

Решения SharePoint Framework создаются с помощью инструмента Yeoman, а также специального генератора для SharePoint Framework, основанного на Node.js. Yeoman — это инструмент формирования шаблонов, который поможет вам создать проект и необходимые артефакты, установить необходимые пакеты Node.js и настроить систему сборки.

После создания проекта его можно изменить в любой операционной системе, используя любой редактор, например Visual Studio, Visual Studio Code, Sublime или Atom. Это предоставляет более широкие возможности использования и оформления как в рамках групп, так и между ними. Генератор Yeoman можно запускать несколько раз для одного проекта, чтобы добавлять артефакты, например клиентские веб-части.

Разработка и создание решений

Система сборки основана на Gulp. Gulp — это средство запуска задач, которое собирает, упаковывает и при необходимости развертывает артефакты SharePoint Framework. Как и Yeoman, Gulp основан на Node.js и позволяет разработчикам собирать и развертывать решения в любой операционной системе.

Еще один компонент набора инструментов для SharePoint Framework — это Workbench. С его помощью разработчик может разместить и протестировать свое решение SharePoint Framework. Workbench автоматически повторно загружает артефакты, когда разработчик сохраняет файл, позволяя быстро просмотреть и протестировать решение.

Существует две версии Workbench. Одна из них размещается за пределами SharePoint на локальном компьютере разработчика, не имеющем доступа к среде SharePoint и ее данным. Это позволяет группам и разработчикам собирать и проектировать решения с временными или фиктивными данными, чтобы сосредоточиться на пользовательском интерфейсе.

Вторая версия Workbench размещается в SharePoint и используется для тестирования и проверки решения SharePoint Framework с применением настоящих данных и контекста SharePoint.

Важно!

Для локальной версии Workbench требуется современный и постоянно обновляемый браузер. Internet Explorer 11 не поддерживается в локальной версии Workbench.

Развертывание решений SharePoint Framework

Развертывание решений SharePoint Framework выполняется путем развертывания пакета решения в каталоге приложений и утверждения его для использования в клиенте или коллекции веб-сайтов.

Для решений, развертываемых в SharePoint Online, можно использовать размещенную сеть CDN Microsoft 365 для хранения и обслуживания артефактов в решении, используемых для реализации клиентских компонентов. Дополнительные сведения см. в разделе Общедоступная сеть CDN Microsoft 365.

Для решений, развернутых в SharePoint Server, необходимо определить, где будут храниться артефакты. Это дополнительный шаг развертывания, который не требуется в SharePoint Online. Единственное требование состоит в том, что артефакты должны быть доступны пользователям вашего решения.

Альтернативы сети CDN SharePoint Online

Разработчики решения SharePoint Framework могут использовать любую службу CDN, например службу хранилища Azure Storage, Azure CDN или даже саму среду SharePoint, желательно с использованием функций SharePoint CDN (см. ниже в настоящем документе). При использовании общедоступной сети CDN, где ресурсы, развернутые в CDN, доступны всем пользователям в Интернете, решение SharePoint Framework смогут использовать несколько клиентов. В решении SharePoint Framework, развернутом в SharePoint CDN, сценарии и ресурсы доступны только тому клиенту, в котором они развернуты.

По умолчанию в состав инструментов сборки входит встроенная задача для развертывания упакованного решения в хранилище BLOB-объектов Azure. Как правило, это делают системные интеграторы и независимые поставщики программного обеспечения, чтобы обеспечить поддержку пользовательских расположений и конфигураций CDN.

После изменения кода и сборки решения цепочка инструментов SharePoint Framework создает новый пакет решения (*.sppkg) и набор файлов скриптов. В имена этих файлов сценария включен уникальный хэш, который указывает на то, что содержимое этих файлов отличается от содержимого ранее развернутых версий. Чтобы использовать новую версию решения, необходимо развернуть новый набор скриптов в сети CDN и обновить пакет решения в каталоге приложений. Теоретически вы можете заменить содержимое существующих файлов сценария и не обновлять пакет решения, но этот способ не надежен и не рекомендуется. В зависимости от конфигурации сети CDN ранее скачанные файлы сценария могут долго кэшироваться на клиентских компьютерах, что усложняет выпуск решения для пользователей.

Расположение сети CDN имеет значение. Рекомендуем размещать ресурсы SharePoint Framework в Azure, Akamai или других надежных сетях CDN с высоким уровнем доступности, а также в среде SharePoint. С точки зрения безопасности важно знать, какие сети CDN используются развертываемыми решениями SharePoint Framework. Неисправная сеть CDN также может вывести из строя решения SharePoint Framework, а в худшем случае скомпрометированная сеть CDN может привести к компрометации данных клиента SharePoint (Online).

Один из типичных пунктов контрольного списка при утверждении сторонних решений SharePoint Framework — проверка репутации и надежности расположения CDN и всех третьих сторон, у которых могут размещаться эти решения. Это вызвано тем, что после установки и использования приложения в семействах веб-сайтов SharePoint эти семейства веб-сайтов также будут зависеть от расположения CDN. На момент написания этой статьи не существует простого способа управлять этой конечной точкой. Сторонний поставщик сети CDN может вносить как необходимые, так и нежелательные изменения без ведома пользователя. Это образует уязвимость, так как SharePoint Framework работает в контексте пользователя и может выполнять все действия, разрешенные пользователю.

ИТ-администраторам рекомендуется следить за тем, какие сети CDN используются и какие из них утверждены организацией. Об этом также следует сообщать корпоративным разработчикам.

Общедоступная сеть CDN Microsoft 365

Общедоступная сеть CDN Microsoft 365 — это новая возможность Microsoft 365 и SharePoint Online, позволяющая администраторам автоматически размещать статические ресурсы, такие как файлы JavaScript, изображения и стили CSS, в сети CDN для повышения производительности. Общедоступная сеть CDN Microsoft 365 — это функция географически распределенного кэширования, которая хранит статические ресурсы как можно ближе к браузерам пользователей, которые их запрашивают.

Администраторы могут включить общедоступную сеть CDN Microsoft 365 в одной или нескольких библиотеках документов, которые будут служить источниками статических ресурсов. Для администрирования библиотек и сетей CDN используются командлеты SharePoint Online PowerShell. Ресурсы из библиотеки документов будут реплицированы в сеть CDN Microsoft 365 и станут доступны по созданным URL-адресам общедоступной сети CDN Microsoft 365, связанным с библиотекой документов. Любые изменения ресурсов будут отражаться в конечных точках CDN в течение 15 минут. Все ресурсы в библиотеках документов будут доступны анонимным пользователям через конечную точку CDN.

SharePoint Framework на предприятии

Среда SharePoint всегда была одной из самых успешных платформ для корпоративной совместной работы, а один из секретов ее успеха заключается в возможностях расширения и использования SharePoint в качестве платформы для приложений и интеграции. SharePoint Framework сделает среду SharePoint еще популярнее, превращая ее в современную платформу для поддерживаемого и стандартизированного создания клиентских настроек.

Корпоративные разработчики

SharePoint Framework позволяет корпоративным разработчикам (как правило, это разработчики, создающие приложения для использования в организации) дополнять SharePoint (Online) новыми функциями, используя структурированные и поддерживаемые методики. SharePoint Framework предлагает полный набор средств — от платформы разработки и конвейера сборки до инструментов разработки — и предоставляет разработчикам доступ ко всем семействам веб-сайтов с новыми решениями и функциями, которыми можно управлять в каталоге приложений. В корпоративном сценарии у вас также есть полный контроль над расположениями CDN (как внешними, так и внутренними для SharePoint), и вы можете с легкостью развертывать исправления и обновления для всей организации.

В рамках предприятия администраторы и разработчики должны вместе составить план развертывания решений SharePoint Framework. Этот план должен включать сведения о предпочитаемых клиентских платформах, расположениях CDN и т. д.

Дополнительные сведения см. ниже в разделе Составление плана настроек SharePoint Framework.

Разработчики-любители

Разработчики-любители долгое время использовали SharePoint для создания бизнес-приложений, используя ряд методик и технологий.

SharePoint Framework во многом (в частности, в том, что касается внедрения JavaScript и решений с использованием веб-частей редактора скриптов) станет для них шагом в правильном направлении. Это позволит сделать решения более стандартизированными и упростить их поддержку. Разработчикам-любителям может потребоваться некоторое время, чтобы освоить новый структурированный способ создания решений, но в долгосрочной перспективе их решения станут более стабильными, безопасными и надежными.

Учитывая наличие вышеупомянутых методов управления специального скрипта, разработчики-любители не смогут добавлять произвольный код JavaScript и веб-части редактора скриптов. Это может сделать вашу среду SharePoint более стабильной и надежной, но в то же время может препятствовать инновациям в компании. Следует убедиться, что разработчики-любители согласуют свои действия с корпоративными разработчиками при дальнейшем использовании SharePoint Framework.

Разработчики интерфейсов

Для веб-разработчиков, разработчиков пользовательского интерфейса и интерфейсов SharePoint Framework будет полезным. Система разработки позволяет разработчикам интерфейсов работать с решением SharePoint Framework в любой операционной системе, используя любые средства редактирования, без SharePoint. При этом они применяют фиктивные данные, сосредоточившись на пользовательском интерфейсе.

Платформа SharePoint Framework выпускается параллельно с Office UI Fabric — официальной платформой разработки интерфейса для Office и Microsoft 365 — и позволяет разработчику создать согласованный интерфейс в Office, Microsoft 365 и собственных решениях.

Системные интеграторы

Если вы пользуетесь услугами системных интеграторов или консультантов при создании решений для SharePoint и Microsoft 365, следует предоставить им рекомендации (или даже требования) по созданию решений SharePoint Framework, с тем чтобы эти решения были согласованы с вашим корпоративным планом для SharePoint Framework.

Как правило, у системных интеграторов есть предпочтения по созданию решений, которые не всегда совпадают с вашими, поэтому очень важно обсудить с ними этот вопрос. В конечном итоге это упростит работу обеим сторонам.

Рассмотрим типичный сценарий работы с системными интеграторами: они создают решение для компании, а по завершении проекта ответственность за техническое обслуживание и обновление решения переходит к вам, что лишь обостряет необходимость согласования методик создания и размещения решений SharePoint Framework с системными интеграторами.

Независимые поставщики программного обеспечения

Независимые поставщики программного обеспечения — это организации, занимающиеся разработкой сторонних решений для массового рынка. Результат их работы может не соответствовать вашему плану относительно решений SharePoint Framework. Кроме того, такие разработчики обычно оставляют за собой права на свой код и интеллектуальную собственность, поэтому вам будет сложно изменить способы реализации и размещения их решений.

В случае использования решений SharePoint Framework, предоставленных сторонними поставщиками, необходимо разобраться, как они управляют обновлениями и как размещаются эти решения. Например, разрешаете ли вы обновлять решение без вашего ведома? Разрешаете ли вы поставщику размещать статические ресурсы в своей сети CDN без вашего контроля? Каковы ваши отношения доверия с этим поставщиком?

Помните, что любой клиентский код в SharePoint Framework выполняется в контексте текущего пользователя, и у вас нет возможности накладывать на него ограничения, как в надстройках SharePoint.

Составление плана настроек SharePoint Framework

Внедряя SharePoint Framework как одно из средств для расширения экземпляров SharePoint (Online), необходимо составить план. Он должен начинаться с внедрения нового технологического комплекса, используемого при создании решений SharePoint Framework. Разработчикам может потребоваться пройти обучение использованию TypeScript в качестве основного языка для написания кода SharePoint Framework.

Еще один аспект, который следует изучить разработчикам SharePoint Framework, — цепочка инструментов для SharePoint Framework, в том числе Node.js, NPM и Gulp, а также использование различных задач Gulp для сборки, упаковки и развертывания решений. Рекомендуем начать с официальной документации по SharePoint Framework или репозиториев GitHub для SharePoint.

Разработчикам желательно остановиться на одной или нескольких стандартных клиентских платформах для организации. Клиентские платформы включают, помимо прочего, React, Knockout, Angular, Handlebars, jQuery и т. д. Стандартизация на одной платформе дает преимущества, так как это позволяет разработчикам создавать более многократно используемый код и иметь лучшую согласованность в том, как они создают и поддерживают свои решения.

В использовании нескольких платформ также есть свои плюсы, поскольку у каждой клиентской платформы есть преимущества, недостатки и особенности применения. Но если разрешить использовать любую клиентскую платформу, это может привести к фрагментации корпоративных решений, не говоря уже о том, что при использовании нескольких платформ страница может загружаться дольше, ведь требуется загружать больше внешних библиотек.

В стандартную комплектацию генератора Yeoman для SharePoint Framework входят шаблоны для двух клиентских платформ: React и Knockout. Скорее всего, со временем участники сообщества добавят новые генераторы или субгенераторы для использования других клиентских платформ. React хорошо подойдет в качестве предпочитаемой клиентской платформы, так как корпорация Майкрософт создала специальную версию Office UI Fabric для React. Благодаря этому вы сможете настроить Office и Microsoft 365 так, чтобы их внешний вид и удобство использования соответствовали предпочтениям вашей организации.

Четвертый аспект — это способ и место развертывания артефактов решения, то есть в какой сети CDN хранятся созданные вами пакеты сценариев и ресурсы. В комплект поставки входят задачи Gulp только для хранилища BLOB-объектов Azure и сети доставки содержимого Microsoft Azure. Этот вариант хорошо подойдет вам, если вы управляете подпиской Azure и предоставляете доступ к вашим ресурсам нескольким клиентам. Еще один распространенный подход — использовать среду SharePoint Online и ее функцию CDN в качестве узла для артефактов. Начиная с SharePoint Framework версии 1.4, статические ресурсы по умолчанию собираются в пакет SharePoint Framework. При развертывании этого пакета в каталоге приложений ресурсы автоматически размещаются в сети CDN Microsoft 365 (если она включена) или по URL-адресу каталога приложений.

Наконец, разработчикам потребуется подумать об управлении жизненным циклом приложений (ALM): способе управления исходным кодом и управлением версиями, автоматической сборке, тестировании и развертывании и т. д. Наиболее распространенные системы управления версиями исходного кода можно использовать, например Git, GitHub или Visual Studio Team Systems.

Для непрерывной интеграции нет стандартных средств, и вы можете использовать любой инструмент, поддерживающий node.js, например Visual Studio Team Systems, Travis CI или Jenkins. С помощью этих инструментов вы можете автоматизировать сборку и тестирование, а в случае успешной и утвержденной сборки вы даже можете автоматически развернуть артефакты в расположении CDN. Тем самым вы автоматизируете все процессы, от отправки кода разработчиком до развертывания в рабочей среде.

Возможности управления в решениях SharePoint Framework

Все решения SharePoint Framework, развернутые в клиенте, должны быть утверждены администратором клиента. Это можно сделать путем отправки пакета SharePoint Framework , файла *.sppkg в библиотеку Apps for SharePoint. Когда новое решение будет добавлено в библиотеку, администратор увидит диалоговое окно, в котором может согласиться на использование решения в клиенте. В диалоговом окне поясняется, что это решение использует клиентский код с полным доверием без ограничений на ресурсы и выполняется в контексте пользователя. Кроме того, в этом окне показано, с какого домена решение будет в первую очередь получать содержимое. Это расположение CDN для сценариев SharePoint Framework. Любое приложение SharePoint Framework может загружать данные из других расположений после начальной загрузки из CDN. Когда решение SharePoint Framework будет утверждено, его можно будет включить в любом семействе веб-сайтов.

Диалоговое окно с запросом на подтверждение доверия приложению SharePoint Framework

Администратор каталога приложений может в любой момент удалить пакет из каталога, удалив пакет решения из библиотеки Приложения для SharePoint. При этом решение будет запрещено использовать во всех семействах веб-сайтов. Решение также можно отключить, изменив свойство Enabled отправленного пакета. При этом решение будет отключено сразу во всех семействах веб-сайтов. Существующие страницы, которые используют клиентские веб-части, не будут отображаться в веб-части. Приложение будет недоступно в семействах веб-сайтов, и его невозможно будет добавить в них. При удалении решения SharePoint Framework не удаляются данные и сведения, созданные клиентским решением в SharePoint или другом внешнем источнике данных, используемом решением.

Администратор также может менять другие свойства пакета в каталоге приложений, чтобы сделать решение более заметным в семействах веб-сайтов. Например, можно изменить значок, категорию, описание и статус популярности.

Если требуется обновить пакет решения (это необходимо при появлении новых артефактов SharePoint Framework или других изменениях на уровне пакета), администратору достаточно отправить новую версию пакета в библиотеку.

Кроме того, администратор клиента может отслеживать решения SharePoint Framework так же, как и надстройки SharePoint. В разделе Приложения Центра администрирования SharePoint администратор SharePoint может добавлять решения SharePoint Framework и видеть, в скольких расположениях установлено то или иное решение. Это относится как к надстройкам SharePoint, так и к решениям SharePoint Framework.

Чтобы включить решение SharePoint Framework в семействе веб-сайтов, администратор этого семейства должен добавить туда это решение. Это делается так же, как и с надстройками SharePoint: щелкните Добавить новое приложение в семействе веб-сайтов, а затем выберите решение в списке приложений. После добавления приложение станет доступно для использования в семействе веб-сайтов. Администратор семейства веб-сайтов также может удалить SharePoint Framework из семейства веб-сайтов. Для этого откройте раздел Контент сайта и выберите Удалить рядом с приложением.

Области развертывания SharePoint Framework

Создавая решения SharePoint Framework, разработчики могут указывать способ развертывания решения — для всего клиента или для каждого сайта отдельно. Последний вариант требуется, когда решение должно предоставлять дополнительные ресурсы, такие как списки, после развертывания на сайте.

Хотя разработчики, создающие решение, определяют, будет ли оно поддерживать развертывание для всего клиента, администраторы делают окончательный выбор в отношении способа развертывания надстройки. Даже если решение может быть развернуто для всех сайтов в клиенте, администраторы могут выполнять его развертывание только для определенных сайтов. Если решение не поддерживает развертывание для всего клиента, администраторы могут развертывать его только для определенных сайтов.

Важно!

Развертывание для всего клиента доступно только в SharePoint Online. В локальной версии SharePoint решения SharePoint Framework можно развертывать только для определенных сайтов.

У SharePoint Framework нет хранилища, которое есть у надстроек SharePoint. По этой причине любые развертывания всегда должны быть инициированы администратором клиента путем добавления и утверждения пакета решения в каталог приложений.

Резервное копирование и восстановление компонентов SharePoint Framework

В решениях SharePoint Framework не предусмотрены какие-либо особые функции резервного копирования и восстановления. Единственное, что рекомендуется с точки зрения администрирования, заключается в том, что может быть полезно иметь копию всех установленных файлов пакета решения (*.sppkg), если пакет решения по ошибке удален из каталога приложений. Но каталог приложений является библиотекой SharePoint и имеет те же функции, что и любая библиотека документов, в частности систему управления версиями и корзину.

Невозможно создать резервные копии артефактов решений, таких как пакеты сценариев и ресурсы, размещенные в сети CDN. Если вы контролируете сеть CDN или сеть CDN является сайтом SharePoint, вы можете создать их резервные копии. Если вы используете решения SharePoint Framework сторонних поставщиков, в вашей организации может быть невозможно создать их резервные копии.

План развития SharePoint Framework

Общедоступная версия платформы SharePoint Framework была выпущена в феврале 2017 г. Общедоступность версии означает, что ИТ-специалисты и разработчики могут использовать SharePoint Framework в рабочей среде, пользуясь поддержкой. Мы ожидаем, что с выходом общедоступной версии пользователи будут создавать и использовать компоненты на основе SharePoint Framework не только в веб-частях, но и для таких задач, как настройка списков и сайтов.

Дополнительные сведения о SharePoint Framework см. в Дорожной карте SharePoint Framework.

Объявления о значительных изменениях и добавлении важных функций будут публиковаться в Центре сообщений Microsoft 365. Администраторам Microsoft 365 следует ежедневно проверять их наличие. Еще один важный ресурс — блог разработчиков Office, где вы найдете еще больше информации и новостей.

Поддержка и SLA

Корпорация Майкрософт не предоставляет поддержку пользовательских решений, созданных для SharePoint, через обычные каналы поддержки SharePoint Online. Все проблемы, связанные с созданием решений SharePoint, следует регистрировать на сайте GitHub по адресу https://github.com/SharePoint/sp-dev-docs/issues. Инженерная группа SharePoint регулярно рассматривает проблемы в этом репозитории и старается как можно быстрее отвечать на входящие запросы.

Если у вашей организации есть соглашение о поддержке Premier, то этот канал должен использоваться по умолчанию, чтобы запрашивать поддержку по проблемам, связанным с разработкой решений SharePoint. Инженеры по эскалации в корпорации Майкрософт обрабатывают ваши запросы в соответствии с их срочностью.

Платформа SharePoint Framework является обратно совместимой. Корпорация Майкрософт гарантирует, что решения, созданные с помощью любой их общедоступных версий SharePoint Framework, продолжат работать до явного предварительного уведомления об устаревании определенной версии.

Сводка

SharePoint Framework — отличное дополнение и развитие набора инструментов для настройки SharePoint, позволяющее разработчикам расширять SharePoint поддерживаемым и управляемым образом. Платформа SharePoint Framework, основанная на современных технологиях с открытым кодом, позволяет расширить аудиторию корпоративных разработчиков SharePoint. Теперь она не ограничивается командой разработчиков SharePoint и включает разноплановых специалистов. Обеспечивая надлежащее управление и поддержку SharePoint Framework в клиенте, администратор поможет разработчикам создавать более качественные решения в более сжатые сроки, повышая общую эффективность работы.

Так как платформа SharePoint Framework создана и для собственных, и для сторонних разработчиков, а также все чаще используется корпорацией Майкрософт для будущих улучшений SharePoint, она будет удачным выбором и для вашей организации. Со временем ожидаются добавочные обновления и дополнения SharePoint Framework, которые заполнят пробел между классической и современной средами SharePoint.