Какова ваша стратегия обслуживания кода для пользовательских сборок SharePoint?

Как вы справляетесь с улучшениями и добавлением функциональности в существующий код SharePoint?

Вы развернули свой оригинальный код как функцию?
Вы создаете новую feature_V2 и деактивируете оригинал?

Какие процессы вы обнаружили, что привело к проблемам в будущем?

Я особенно заинтересован в WebParts, EventHandlers и WorkFlows.

Из того, что я могу найти, MS не оставляла "Best Practices" вокруг обновления существующего кода. (На самом деле, я не уверен, что они оставили "Практику", а тем более "Лучшую практику")

Вы можете увидеть другие вопросы по этой теме:
как к модернизации-а-затянувшемуся-SharePoint-рабочему процесс уже находящимся в производстве
как к обновлению-spitemeventreceiver-сборочно-версия-для-а-список-в-SharePoint
должен-я-держать-решения-и-функцию-в-1-1-отношения

Какой у вас метод?

Я понимаю, что этот вопрос может быть субъективным, но я чувствую, что существует большой информационный пробел, окружающий эту область разработки SharePoint.

Спасибо,
Кит

2 ответа

Мы всегда внедряем пользовательский код как функции и решения. Когда пришло время обновить существующий код, все, что вам нужно сделать, это stsadm -upgradesolution, и все работает очень хорошо. Мне не нравится идея иметь функции типа feature_v2... очень трудно отслеживать текущую версию. Я думаю, что у вас должна быть только одна версия каждой функции в вашей производственной среде.

Оставьте контроль версий вашей системе контроля версий.

Я работаю в магазине, который занимается разработкой SharePoint. Вы хотите развернуть по функции с пакетом решений. Вы можете легко обновить свои функции по мере продвижения, и вам нужно будет обновить пакет решений. Этот пакет решений может быть создан на сервере сборки TFS с помощью WSPBuilder. Пока вы впереди, остается только обновить решение и "Принудительно" активировать вашу функцию, чтобы получить новую функцию.

Не забудьте выполнить сброс IIS для любого нового развертывания кода, которое выполняется через GAC. Если вы поместите что-нибудь внутри, например, карты сайта и ресурсы, в свой 12, вы захотите выполнить stsadm -o copyappbincontent.

Если вы развертываете функции, содержащие файлы приложений, вы хотите выгрузить свое приложение на ВСЕХ серверах фермы. Это легко сделать, поместив App_Offline.htm в корень каждого приложения на каждой машине.

По завершении удалите App_Offline.htm (или переименуйте его), и все готово. Ваш сайт снова в сети.

Другие вопросы по тегам