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


Инструменты и методики разработки и оформления 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.

См. также