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. Ниже представлены ссылки на основные материалы:
- SPMeta2 @ GitHub
- SPMeta2 @ Nuget
- SPMeta2 Documentation Wiki
- SPMeta2 Bugtracker
- SPMeta2 FAQ
- SPMeta2 API Documentation
В качестве заключения
Мы призываем Вас переосмыслить разработку под SharePoint, наслаждайтесь этим процессом исключив декларативные описания артефактов. Успехов! С удовольствием почитаем о Ваших впечатлениях, поможем, ответим, втягивайтесь в процесс!
P.S.
И конечно референц на основного создателя библиотеки - Антон Вишняков, австралийское солнце и волны способствуют позитивным решениям.
Опубликовано: 18.06.2014
Автор: Андрей Кольтяков