Какова ваша стратегия обслуживания кода для пользовательских сборок 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 (или переименуйте его), и все готово. Ваш сайт снова в сети.