Как вы поддерживаете отдельные среды разработки, которые должны быть синхронизированы, синхронизированы? - PullRequest
1 голос
/ 26 ноября 2010

Я настраиваю две среды разработки (одна будет на моем локальном сервере, другая на поставщике облачных услуг, где я буду выполнять работу, которая может потребовать больше памяти, чем на моем локальном сервере).

Что я могу сделать, чтобы обе среды всегда были полностью синхронизированы? Я рассматриваю централизованное развертывание приложений и использование инструмента для синхронизации баз данных SQL Server, а также другого инструмента для синхронизации серверов Sharepoint между двумя виртуальными машинами в двух средах, которые похожи друг на друга. Есть ли что-нибудь еще, что могло бы помочь достичь этого?

Спасибо

1 Ответ

1 голос
/ 26 ноября 2010

Это очень сложная проблема для разработки SharePoint.

Что касается SQL-сервера (для сторонних разработчиков), вы можете просто синхронизировать базы данных, используя инструменты, предоставляемые в SQL Server. Например, мастер копирования базы данных, или вы даже можете написать свой собственный пакет служб SSIS, если вам нужно выполнить пользовательскую работу.

SharePoint - это другое дело. Вы не можете просто синхронизировать семейства сайтов / веб-приложения с одного сервера на другой, просто скопировав базы данных, это не будет работать (по многим причинам, но в основном потому, что при создании веб-приложения на сервере он создает базы данных с использованием GUID как идентификатор приложения. Этот GUID используется везде в базе данных, и все ссылки между таблицами будут разорваны, если вы попытаетесь изменить его). Структура базы данных SharePoint не документирована, и MS рекомендует не изменять ее вручную. И, честно говоря, даже если вам удастся синхронизировать ваши базы данных прямо с SQL-сервера, вы столкнетесь с другими проблемами, потому что не все настройки, которые вы делаете, сохраняются в базе данных (многие вещи уходят в 12 куст).

Итак, все сводится к тому, чего вы пытаетесь достичь.

Если вы пытаетесь синхронизировать настройки (например, типы контента, шаблоны списков, веб-части и т. Д.), Которые были закодированы. Я бы порекомендовал вам просто создавать пакеты WSP из среды разработки и развертывать их каждый раз, когда вам нужно синхронизировать.

Если вы пытаетесь только синхронизировать данные (то есть элементы списка), вы можете использовать решение для резервного копирования / восстановления (вы найдете его в центре администрирования). Обратите внимание, что это не слишком надежно, если у вас есть настройки, хотя. Он отлично работает на готовых сайтах, но его сложно восстановить после использования собственных шаблонов списков и т. Д.

Вы также можете написать код для синхронизации, используя веб-службы или API развертывания контента и посмотреть, соответствует ли он вашим потребностям.

Вы также можете посмотреть на инструменты, которые сделают всю или часть работы за вас. Вот один

Так что, в принципе, независимо от того, как вы решите это сделать, все будет не так просто, как вы ожидали. Проблема синхронизации среды DEV / TEST / PROD является классической для разработки SharePoint.

Я работаю над сильно настроенным веб-приложением SharePoint, и лучшее решение, которое мы нашли, было:

  • Будьте очень дисциплинированны в нашем коде: выполняйте все настройки с помощью кода и создавайте пакеты WSP с этим кодом. Нет SharePoint дизайнера. После настройки страницы в конструкторе SharePoint вы ничего не сможете синхронизировать.
  • Синхронизация списков между любыми серверами с использованием веб-сервисов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...