문제

여러 EventReceivers 및 워크 플로가있는 복잡한 SharePoint 배포가 있습니다.

또한 기존 목록에 스키마가 변경되어 새로운 메타 데이터 열을 추가하고 기존 열을 변경합니다.

단일 기능, EventReceiver 또는 Workflow, 단일 솔루션에 패키지해야합니까, 아니면 모두 함께 작동하므로 단일 솔루션 내부에 여러 기능을 넣어야합니까?

제가 요구하는 주요 이유 중 하나는 향후 코드 업그레이드입니다. 기능이 분리되면 코드의 한 부분으로 업그레이드하면 솔루션의 모든 기능을 다시 배포 할 필요가 없습니다. 이것이 제가 걱정해야 할 것입니까 아니면 "Stsadmin -o 업그레이드"가 많은 기능을 갖춘 솔루션 업그레이드와 관련된 문제를 처리합니까?

이것이 SharePoint 전문가에게 의미가 있는지 알려주세요.

고맙습니다,
키이스

업데이트:웹 사이트를보고 있습니다 드 락스 참조, 나는이 참조 사이트를 찾았다. http://msdn.microsoft.com/en-us/library/aa543659.aspx

이 진술은 솔루션에서 기능을 업그레이드하는 데 큰 핸디캡을 넣는 것으로 보입니다.

솔루션 업그레이드는 파일을 교체하는 데만 사용할 수 있습니다. 솔루션 업그레이드에 새 파일을 추가하고 이전 버전의 파일을 제거 할 수 있지만 기능 설치 및 활성화를 위해 기능을 설치하거나 기능 이벤트 핸들러를 사용할 수 없습니다. 솔루션 업그레이드에서는 다음 작업이 지원되지 않습니다.

  • 새 버전의 솔루션에서 오래된 기능을 제거합니다.

  • 솔루션 업그레이드에 새로운 기능 추가.

  • 새 버전의 솔루션에서 기존 기능에 대한 수신기 어셈블리를 업데이트하거나 변경합니다.

  • 새 버전의 솔루션에서 기능 요소 (Element.xml 파일)를 추가하거나 변경합니다.

  • 새 버전의 솔루션에서 기능 속성을 추가하거나 변경합니다.

  • 새 버전의 솔루션에서 이전 기능의 ID 또는 범위를 변경합니다.

  • 새 버전의 솔루션에서 기능 요소 (Element.xml 파일) 제거

  • 새 버전의 솔루션에서 기능 속성을 제거합니다.

그래서 ... 솔루션 업그레이드로 무엇을 할 수 있습니까?

도움이 되었습니까?

해결책

나는 조언 할 것이다 에 맞서 모든 것을 여러 솔루션으로 분할합니다. 빠르게 악몽이 될 수있는 메인 타는. 12 개의 SharePoint 폴더와 동일한 방식으로 WSP를 작성하는 데 사용되는 프로젝트를 구조화하십시오. 그런 다음 사용할 수 있습니다 WSP 빌더, 마지막 안정 버전은 많은 유용한 것들을 제공합니다.

또한 솔루션을 재배치하는 데 아무런 문제가 없었습니다. 에 따르면 이것 기사와 내 경험에 WSP의 배포는 버전 간의 동기화를 처리합니다. 따라서 몇 가지 새로운 기능을 추가하면 나타나고 기능을 제거/변경하면 그에 따라 수정됩니다.

편집 :

그래서 나는 이끼 업데이트 주제에 대한 빠른 조사를했습니다. MS에 따르면 솔루션을 업데이트하는 두 가지 방법이 있습니다.

  1. 내부 업데이트
  2. 증분 업데이트

기본적으로 내부 업데이트는 표준 업데이트 방법입니다. 당신이 다음에 설명 된 바와 같이 빌드 인 기능에 의존한다는 것을 의미합니다. 이것 (이전과 동일한 문서) 문서. 이 솔루션의 문제는 많은 기능이 부족하다는 것입니다 (버전 작성, 기능의 변경 사항 변경 ...).

증분 업데이트 (이것은 MS가 아마도 호출되는 방식)는 빌드 인 솔루션에 의존하지 않습니다. 즉, 스스로 구현하는 것은 모든 사람에게 달려 있음을 의미합니다. (. 더 나은 것은이 접근 방식에 대한 지침을 실제로 찾을 수 없었습니다. 귀하가 취하고 싶은 접근 방식이 증분 업데이트의 예라고 생각합니다 (프로젝트 분할 많은 독립 솔루션).

또한 증분 업데이트는 MS가 공식적으로 지원하지 않습니다.

그래서 나는 당신에게 어떤 조언을 해야하는지 정말로 모릅니다. 단일 WSP는 Buch보다 메인 타이어질 수 있습니다. 또한 약간의 변경 사항 만 업데이트하는 경우 완벽하게 작동합니다. 그러나 더 큰 구조적 변화를 만들어야한다면 문제가 나타나기 시작합니다.

아마도 이끼 전문 지식을 가진 사람들 이이 주제에 대해 말할 수 있는지 기다릴 것입니다.

다른 팁

기본적으로 (언급 한 이유로) .NET 어셈블리와 같이 솔루션을 생각해야합니다. 업그레이드 솔루션을 사용하면 포함 된 모든 기능을 재배치 할 수 있습니다. 아무것도 변경되지 않으면 해당 기능을 사용하는 사이트에 대해 아무것도 변경되지 않아야합니다. 그러나 그것이 당신을 긴장하게한다면, 그것을 분할하는 것을 고려하십시오.

어셈블리를 업데이트하고 프로비저닝 된 파일을 그대로 두는 경우 업그레이드 해상도는 정말 편리합니다.

-local을 지정하지 않으면 업그레이드 솔루션은 인프라 전체에서 전체 IISRESET을 수행합니다. 업그레이드를 수행 할 적절한시기를 계획 할 때 주목할 가치가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top