Какие способы доступны для разработки приложения для Sharepoint? - PullRequest
0 голосов
/ 02 апреля 2012

Я только учусь, как разрабатывать приложение для Sharepoint.

Насколько я вижу, существует три типа интеграции в Sharepoint:

  • Sandboxed Solution (ограниченный доступ к ресурсам, но простота установки и т. д.)
  • Farm Solution (установка доступна только администратору)
  • Стандартное приложение (возможно, .net MVC) со ссылкой на сборку Sharepoint для доступа к функциональности SPS

Это правильно и полно или я что-то упустил?

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012

Существует несколько способов разработки для SharePoint в зависимости от вашей области применения, требований и т. Д. Мои знания в области SP2007 больше, чем в 2010 году, и мой ответ отражает это.

JavaScript

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

Пользовательский тип контента

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

СобытиеПриемник

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

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

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

Задание таймера

Задание таймера - это фрагмент кода, который выполняется по расписанию.Он выполняется не в процессе W3WP, как приемники событий, а через службу TimerService.Из-за этого некоторые функции или значения отсутствуют в объекте SPRequest.Разработка заданий таймера более сложна и на практике более подвержена ошибкам, более сложна в отладке и т. Д., Чем приемники событий.

Рабочий процесс

Рабочие процессы можно создавать с помощьюSharePoint Designer или Visual Studio.Основное различие между ними - это функции, доступные вам во время разработки.Рабочие процессы SharePoint Designer проще создавать и запускать, но в SharePoint 2007 они, как правило, содержат ошибки. Кроме того, их нелегко упаковать и развернуть в разных средах, а связать непосредственно со списком, в котором вы их создали (в 2007 году; в 2010 годурасширенная возможность, позволяющая упаковать или даже перенести в Visual Studio для более сложной настройки.

Использование Visual Studio дает вам больше глубины и возможностей, но, как и в случае заданий на работу с таймером, их часто трудно «получить правильно» и они также обрабатываютсяс помощью процесса службы таймера.

веб-часть

Пользовательская веб-часть очень похожа на обычную веб-часть ASP.NET с некоторыми расширенными возможностями в контексте SharePoint.У вас есть доступ к объекту SPRequest и, следовательно, ко всей контекстной информации (текущий пользователь, текущий список / веб-сайт / т. Д.) Для выполнения вашей работы.Вы можете получить доступ к внешним базам данных, использовать большинство элементов управления ASP.NET и т. Д.

Пользовательская страница ASPX

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

Пользовательское веб-приложение

Если выЕсли вы нуждаетесь в отдельном приложении, вы все равно можете воспользоваться средствами аутентификации и авторизации SharePoint, не работая непосредственно в его контексте.Для этого создайте веб-приложение IIS и установите для идентификатора пула приложений то же самое, что и для SharePoint.В качестве альтернативы вы можете создать виртуальный каталог в вашем пуле приложений SharePoint, но обычно это не рекомендуется.Вы по-прежнему будете ограничены использованием среды выполнения .NET Framework 2.0, если вообще хотите использовать объектную модель SharePoint.Эта настройка, по-видимому, редко используется в полевых условиях, поскольку большую часть времени вы можете удовлетворить свои потребности, просто используя пользовательские страницы ASPX или веб-части.

Относительно ваших конкретных вопросов:

Песочницы - это просто особый тип решения, ограничивающий пространства имен, к которым у вашей веб-части и т. Д. Есть доступ.Например, ваш код не может получить доступ к спискам за пределами его области разрешений.Он не может отправить электронное письмо от вашего имени.Вы можете увеличить свои права с помощью пользовательских наборов разрешений, но это сложная тема.Я просто хотел отметить, что «изолированное решение» само по себе не является типом, оно просто описывает ограничение, в котором ранее его не было (решения, развернутые в GAC SP 2007).

Относительно вашего вопроса относительно MVCприложение, использующее объектную модель SharePoint, как я уже говорил, по-прежнему ограничено для запуска в среде выполнения .NET 2.0.

РЕДАКТИРОВАТЬ: я забыл (по крайней мере) еще один вариант!

Служба списков / Другие службы ASMX

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

0 голосов
/ 25 июня 2015

Для разработки решения в Visual Studio вы можете выбрать решение Sandbox и решение для фермы.Если у вас SharePoint 2013, у вас будет еще один лучший вариант - разработка части приложения.

Поскольку решение Sandbox не относится к SharePoint 2013 и более поздним версиям, я советую вам не использовать решения Sandbox.Лучше пойти с разработкой App Part.

...