SPMeta2 - создание артeфактов SharePoint 2013

Дилемма выбора подхода способа создания артефактов SharePoint давно витает в воздухе. Сломано много копий и съедено собак. ;) Использовать ли XML декларативное описание сущностей или же поступать умнее и при этом полностью контролировать процесс? Преимущества и недостатки есть у всего.

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

Вот так и в SharePoint, кто-то может не до конца ощутил, но уже пришла эпоха CSOM/JSOM. А в месте с этим XML/WSP нужно тихонечко убирать на полки архивов и вооружаться подходами и/или инструментами для создания артефактов SharePoint кодом!

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

SPMeta2 – обзор

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

Как результат явилась свету SPMeta2 – библиотека .NET 4.5, обеспечивающая гибкое API для создания артефактов SharePoint 2013 с помощью SSOM/CSOM или JSOM как для локальных установок SharePoint, так и для Office 365. Хочется подробностей?

Философия и миссия SPMeta2

Гибкий API и расширение синтаксиса

API SPMeta2 позволяет определять артефакты SharePoint (колонки сайта, типы контента, списки и многие другие), определять взаимосвязи между ними и, самое главное, производить развертывание по средствам SSOM/CSOM. В результате, Вы работаете с объектами C# для определения моделей сущностей, а SPMeta2 берет на себя все остальное.

SPMeta2 можно расширять, добавляя синтаксические расширения, свойственными задачам Вашего проекта. Методы расширения можно использовать для регулировки специфичного поведения и свойств артефактов SharePoint.

Древовидная модель и встроенные проверки

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

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

SharePoint 2013 Foundation, Standard, Enterprise и O365 – все, что захотите

SPMeta2 поддерживает все редакции SharePoint 2013. Библиотека разбита на несколько пакетов в соответствии с редакциями платформы: Foundation, Standard и Enterprise. Поддержка Office 365 реализована по средствам CSOM.

Поддерживаются SSOM и CSOM. JSOM не за горами.

Не смотря на то, что SSOM и CSOM уже закрывают большинство сценариев применения, в процессе разработки реализация SPMeta2 для JSOM, позволяющая разработку на TypeScript и SPTypeScript.

Никакого XML, только код!

SPMeta2 основана на принципе полного исключения XML описаний, обеспечивая создание всего кодом.

Вы НЕ пишите XML…

Вы НЕ создаете WSP…

Вы ПИШИТЕ код :)

Регрессивное тестирование – все включено

Наличие механизмов развертывания артефактов SharePoint по средствам программного кода позволяет иметь полный контроль над процессом развертывания и обновления. Т.к. какие-либо WSP c XML отсутствуют, отсутствует необходимость активации возможностей сайта.

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

Документация по SPMeta

Не так давно проект переехал с CodeClex на GitHub. Ниже представлены ссылки на основные материалы:

В качестве заключения

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

P.S.

И конечно референц на основного создателя библиотеки - Антон Вишняков, австралийское солнце и волны способствуют позитивным решениям.


Опубликовано: 18.06.2014
Автор: Андрей Кольтяков