Инструменты и методики разработки и оформления SharePoint
В этой статье описываются варианты разработки и оформления, доступные в SharePoint. Здесь вы также найдете сведения об использовании шаблона удаленной подготовки для применения ресурсов фирменной символики к сайту SharePoint.
Примечание.
Код, приведенный в этой статье, предоставляется "как есть" без какой-либо явной или подразумеваемой гарантии, включая подразумеваемые гарантии пригодности для какой-либо цели, для продажи или гарантии отсутствия нарушения прав иных правообладателей.
Термины и понятия
Таблица 1. Основные понятия разработки и проектирования SharePoint
Термин или понятие | Определение | Дополнительная информация |
---|---|---|
Дизайнер | Компонент, доступный на сайтах публикаций или сайтах групп SharePoint с включенной публикацией, который используется для импорта ресурсов фирменной символики сайта и управления ими, а также для экспорта их в пакет оформления. | Используйте Дизайнер для импорта ресурсов фирменной символики, созданных с помощью других инструментов, таких как Adobe PhotoShop или Adobe DreamWeaver, в SharePoint. SharePoint Designer недоступен для использования с OneDrive для бизнеса или сайтов команд на SharePoint, где отсутствует включенная публикация. |
Пакет оформления | Предназначен для использования с сайтами для публикации SharePoint, содержащими ресурсы фирменной символики, которые хранятся в Дизайнере. | Руководство по решениям SharePoint |
Удаленная подготовка | Модель, подразумевающая использование сайтов для подготовки с использованием шаблонов и кода, который выполняется за пределами SharePoint в надстройке на стороне поставщика. | - Методы подготовки сайтов и удаленная подготовка в SharePoint 2013 - Самостоятельная подготовка сайта с помощью приложений для SharePoint 2013 |
Корневой веб-сайт | Первый веб-сайт внутри семейства веб-сайтов. Корневой сайт также иногда называют "корнем веб-приложения". | |
Изолированные решения | WSP-файлы, которые содержат сборки, другие нескомпилированные компоненты и XML-файл манифеста. Изолированное решение использует код с частичным доверием. | Изолированные решения |
SharePoint Designer | Конструктор HTML и средство управления ресурсами проекта для управления элементами фирменной символики в SharePoint. SharePoint Designer чаще всего поддерживает настраиваемые рабочие процессы. | - Новые возможности разработки сайтов в SharePoint |
WSP-файл | Файл решения SharePoint. WSP-файл — это CAB-файл, который классифицирует ресурсы сайта и упорядочивает их в файле manifest.xml. | Обзор решений |
Параметры разработки
При использовании SharePoint в качестве платформы разработки необходимо создать среду для разработки, тестирования, сборки и развертывания контента. Сведения о параметрах для разработки см. в статье Объектная модель рабочих процессов SharePoint и API управления жизненным циклом приложений (ALM).
Табл. 2. Варианты разработки, тестирования и принятия SharePoint
Параметр | Рекомендации |
---|---|
Team Foundation Server | - Расположен в Visual Studio Team Services для удобства доступа. - Включает в себя систему централизованного исходного кода и управления жизненным циклом. |
Тестирование в Облаке и среды для приемки | - Используйте отдельный клиент для приемочного тестирования. - Отдельная тестовая среда для локального тестирования. |
Локальное тестирование и среды для приемки | - Используйте для локальных вариантов развертывания SharePoint - В качестве хоста используются локальные средства клиента или Microsoft Azure. |
В большинстве случаев необходимы по крайней мере следующие клиенты, хотя они могут отличаться в зависимости от требований:
Клиент разработчика. Рекомендуется настроить и использовать собственный сайта разработчика. Таким образом вы предотвратите смешивание ваших данных с рабочей средой. Сведения о том, как зарегистрировать сайт разработчика, см. в статье Настройка среды разработки надстроек SharePoint в Office 365.
Клиент интеграции и тестирования. Используйте этот сайт, чтобы проверить работу новых приложений и компонентов в нескольких семействах веб-сайтов, а также их взаимодействие со службами и данными в рабочей среде. Добавьте в среду возможности, доступные в режиме предварительного просмотра. (Чтобы сделать это, в вашей консоли администратора клиента выберите Параметры службы, а затем в разделе Обновления выберите Первый выпуск.) С помощью Visual Studio Team Services вы можете выполнить запуск автоматизированного тестирования и любого другого непрерывного тестирования интеграции.
Рабочий клиент. Развертывайте протестированные, принятые и утвержденные приложения в этом клиенте. Вы можете создать сайт разработчика в этом клиенте для разработки и тестирования приложений с небольшой областью применения или изолированным влиянием. В целом, избегайте смешивания среды разработки и рабочей среды.
Инструменты разработки
Используйте стандартные инструменты для оформления и разработки, например HTML, CSS-файлы и файлы JavaScript, для создания ресурсов фирменной символики для сайта SharePoint. Например, можно использовать Adobe DreamWeaver и Adobe PhotoShop для оформления HTML, CSS, JavaScript и файлов изображений, используемых для оформления ваших сайтов SharePoint в стиле фирменной символики. Вы можете использовать SharePoint Designer для создания, управления и настройки ресурсов фирменной символики или создания пользовательских решений в среде Visual Studio.
Пакеты оформления SharePoint и WSP-файлы
Пакеты разработки — это WSP-файлы, созданные Дизайнером, которые следуют предсказуемым правилам для упаковки ресурсов разработки. Это, по сути, изолированные решения. Если вы используете другое средство для упаковки ресурсов фирменной символики в WSP-файле, ваши ресурсы будут находиться в менее фиксированном и предсказуемом состоянии.
Пакет разработки содержит все настроенные файлы. Например, если создать макет страницы, который использует настраиваемый тип контента, пакет разработки будет содержать макет страницы, настраиваемый тип контента и все настраиваемые столбцы сайта. Пакет оформления также содержит несколько файлов, связанных с составными представлениями, которые применяются к сайту SharePoint, в том числе файлы, переданные в следующие расположения:
- библиотека ресурсов сайта;
- библиотека стилей;
- коллекция эталонных страниц.
Если вы применили составные представления к сайту перед применением настраиваемой фирменной символики, пакет разработки будет содержать файлы с расширениями .themedcss и .themedpng. Чтобы применить ресурсы фирменной символики в пакете оформления к сайту SharePoint, экспортируйте пакет оформления и используйте шаблон удаленной подготовки для применения содержимого пакета.
SharePoint содержит API-интерфейсы, которые можно использовать для работы с пакетами оформления. Если вы используете SSOM, CSOM или JSOM, можно использовать классы DesignPackage или DesignPackageInfo .
Использование пакета оформления CSOM для применения содержимого пакетов оформления к сайту SharePoint.
В следующем примере показано, как использовать API-интерфейсы пакета оформления в шаблоне удаленной подготовки для применения содержимого пакета к сайту SharePoint.
Этот код был создан для использования на сайтах публикации. Хотя можно применить фирменную символику к сайтам групп с включенной публикацией, используя API пакетов оформления, это может вызвать долгосрочные проблемы с поддержкой.
using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint.Client.Publishing;
namespace ProviderSharePointAppWeb
{
public partial class Default : System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
Uri redirectUrl;
switch (SharePointContextProvider.CheckRedirectionStatus(Context, out redirectUrl))
{
case RedirectionStatus.Ok:
return;
case RedirectionStatus.ShouldRedirect:
Response.Redirect(redirectUrl.AbsoluteUri, endResponse: true);
break;
case RedirectionStatus.CanNotRedirect:
Response.Write("An error occurred while processing your request.");
Response.End();
break;
}
}
protected void Page_Load(object sender, EventArgs e)
{
// Use TokenHelper to get the client context and Title property.
// To access other properties, the add-in might need to request permissions
// on the host web.
var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
// Publishing feature GUID to use the infrastructure for publishing.
Guid PublishingFeature = Guid.Parse("f6924d36-2fa8-4f0b-b16d-06b7250180fa");
// The site-relative URL of the design package to install.
// This sandbox design package should be uploaded to a document library.
// For practical purposes, this can be a configuration setting in web.config.
string fileRelativePath = @"/sites/devsite/brand/Dev.wsp";
//string fileUrl = @"https://SPXXXXX.com/sites/devsite/brand/Dev.wsp";
using (var clientContext = spContext.CreateUserClientContextForSPHost())
{
// Load the site context explicitly or while installing the API, the path for
// the package will not be resolved.
// If the package cannot be found, an exception is thrown.
var site = clientContext.Site;
clientContext.Load(site);
clientContext.ExecuteQuery();
// Validate whether the Publishing feature is active.
if (IsSiteFeatureActivated(clientContext,PublishingFeature))
{
DesignPackageInfo info = new DesignPackageInfo()
{
PackageGuid = Guid.Empty,
MajorVersion = 1,
MinorVersion = 1,
PackageName = "Dev"
};
Console.WriteLine("Installing design package ");
DesignPackage.Install(clientContext, clientContext.Site, info, fileRelativePath);
clientContext.ExecuteQuery();
Console.WriteLine("Applying design package");
DesignPackage.Apply(clientContext, clientContext.Site, info);
clientContext.ExecuteQuery();
}
}
}
public bool IsSiteFeatureActivated( ClientContext context, Guid guid)
{
var features = context.Site.Features;
context.Load(features);
context.ExecuteQuery();
foreach (var f in features)
{
if (f.DefinitionId.Equals(guid))
return true;
}
return false;
}
}
}
Использование FileCreationInformation для передачи ресурсов фирменной символики и главной страницы на сайт группы
Вы можете использовать функции CSOM SharePoint для установки и удаления пакетов оформления и экспорта пакетов оформления на сайты SharePoint Online.
Например, используйте метод SP.Publishing.DesignPackage.install (sp.publishing) или метод DesignPackage.Install для установки пакета оформления на сайте, как показано в примере ниже.
public static void Install(
ClientRuntimeContext context,
Site site,
DesignPackageInfo info,
string path
)
Класс DesignPackageInfo указывает метаданные, описывающие содержимое устанавливаемого пакета разработки. Используйте метод Uninstall, чтобы удалить пакет с сайта, как показано в приведенном ниже примере.
public static void UnInstall(
ClientRuntimeContext context,
Site site,
DesignPackageInfo info
)
Если вам нужно оформить в фирменном сайт группы с включенной функцией публикации или сайт публикации в SharePoint Online, можно использовать методы ExportEnterprise или ExportSmallBusiness, чтобы экспортировать пакеты оформления для шаблонов сайтов в каталог решений. Используйте метод ExportSmallBusiness с шаблоном сайта для малого бизнеса и используйте метод ExportEnterprise для всех других шаблонов сайта, как показано в примере ниже.
public static ClientResult<DesignPackageInfo> ExportEnterprise(
ClientRuntimeContext context,
Site site,
bool includeSearchConfiguration
)
При использовании метода ExportSmallBusiness можно включить в пакет оформления конфигурацию поиска, как показано в примере ниже. Обратите внимание, что все методы пакета оформления будут работать на уровне семейства сайтов. Название пакета оформления отображается с помощью строки packageName
.
public static ClientResult<DesignPackageInfo> ExportSmallBusiness(
ClientRuntimeContext context,
Site site,
string packageName,
bool includeSearchConfiguration
)
Параметры средства оформления для SharePoint Online
Средства, которые можно использовать для оформления в фирменной символике сайта SharePoint Online, зависят от вашей версии SharePoint Online edition и типа сайта, который вы хотите создать. Версия для малого бизнеса, например, содержит один сайт группы и один общедоступный сайта. В нее не входит сайт публикации. Вы можете надстройку для создания сайта в SharePoint Online для персональной настройки фирменной символики на вашей сайте.
Корпоративная версия содержит семейство сайтов группы и корневое веб-приложение для домена без функции публикации. В нее не входит общедоступный сайт. Используйте Дизайнер для управления элементами фирменной символики сайта SharePoint для сайта публикации в корпоративной версии SharePoint Online.