Как вы модифицируете существующие сайты SharePoint? - PullRequest
3 голосов
/ 02 февраля 2009

У меня часто бывает клиент, запрашивающий изменение свойств, например, настройки истории версий во всех библиотеках документов на всех существующих сайтах в ферме.

Пока что лучшее решение, которое я смог придумать, - это написать сценарий в Powershell, протестировать сценарий перед его запуском, а затем помолиться, чтобы я не пропустил что-то критическое. Есть ли лучший и безопасный способ?

Ответы [ 3 ]

3 голосов
/ 03 февраля 2009

Мой личный «рабочий процесс настройки» выглядит следующим образом:

  1. Прототип решения в PowerShell. Грязное.
  2. Экспорт моей грязной истории команд PowerShell.
  3. Вставить историю команд в Visual Studio, выполнить построчное преобразование в C # (это в основном механический процесс, за исключением преобразования конвейеров)
  4. Пакет как компонент, развернутый с помощью решения SharePoint (с использованием расширений WSPBuilder); в частности, вызовите мой преобразованный «скрипт» из Feature Receiver. Также напишите код, который отменяет ваши настройки, когда ваша функция деактивирована.
  5. Тест в dev, тест в QA. 5b.Если это огромный скрипт с большим влиянием, я попрошу наших администраторов баз данных восстановить большую базу данных контента на сервере QA db; затем я прикреплю эту копию производства к нашей ферме контроля качества и запустю сценарий для копии производственных данных . Это был важный шаг для нашего перехода с версии WSSv2 / 2003; Я думаю, что я выполнил четыре полных теста до перехода на 2007 год. В любом случае, если вам это нужно, вам это нужно.
  6. Установить / активировать функцию в производстве.

Это намного тяжелее, чем «запускать скрипт на сервере prod», но если вы ищете «лучший» способ настройки, это правильный способ сделать это в SharePoint. Платформы функций и решений SharePoint предназначены для этого сценария.

И да, я интенсивно использую PowerShell для создания прототипов / объектов.

РЕДАКТИРОВАТЬ: Я не упоминал, но вам нужно иметь план аварийного восстановления, который восстанавливает все ваши настройки. Это где он начинает сходить с ума, в зависимости от того, какие настройки вы сделали. В приведенном выше примере база данных контента хранит данные, но другие настройки не так легко восстановить в ситуации аварийного восстановления, особенно с настройками SSP и уровня фермы, хранящимися в db config, или если вы изменили веб .config или метабаза IIS.

1 голос
/ 02 февраля 2009

Что ж, если вы хотите что-то автоматизировать, PowerShell может быть одним из лучших способов сделать это. Вы можете увидеть фактические команды, которые выполняются перед тем, как их попробовать (вместо того, чтобы скомпилировать что-то, во что вы не можете попасть).

В зависимости от того, что будет делать скрипт PowerShell, вы часто можете использовать простые параметры, такие как -WhatIf и -Confirm, для командлетов, которые влияют на систему (которые удаляются, перемещаются и т. Д.).

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

-Подтверждение: перед тем, как какое-либо действие будет действительно предпринято, вас в основном спрашивают: «Вы уверены, что хотите сделать xyz».

С -WhatIf, если вся ваша информация прокручивается за пределы экрана, вы можете просто использовать Start-Transcript для запуска журнала сеанса консоли, а затем вы можете просмотреть этот журнал, чтобы внимательно посмотреть на все действия, которые были предприняты , Таким образом, вы можете убедиться в правильности ваших команд перед их выполнением.

0 голосов
/ 02 февраля 2009

Сначала сделайте резервную копию контента, затем запустите сценарий.

Резервное копирование через stsadm или базу данных.

Не работает при любых изменениях центрального администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...