솔루션 패키지 구성 요소

업데이트 날짜: 2008년 1월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2008-08-08

이 문서의 내용

  • Solution 요소

  • FeatureManifest 요소

  • Assembly 요소

  • ApplicationResourceFile 요소

  • CodeAccessSecurity 요소

  • DwpFile 요소

  • Resource 요소

  • SiteDefinitionManifest 요소

  • RootFile 요소

  • TemplateFile 요소

이 문서에서는 솔루션 패키지 구조를 설명하고 솔루션 패키지에서 사용하는 솔루션 스키마 및 요소에 대한 설명을 제공합니다.

솔루션 패키지는 사용자 지정 Office SharePoint Server 2007 및 Windows SharePoint Services 3.0 개발 콘텐츠를 서버 팜의 웹 서버 및 응용 프로그램 서버(가능한 경우)에 제공하는 배포 패키지입니다. 솔루션 패키지로 배포할 수 있는 구성 요소는 다음과 같습니다.

  • 솔루션을 구동할 코드를 래핑하는 .NET Framework 어셈블리

  • 리소스 파일, 이미지, 기타 도우미 파일 등의 배포 파일

  • 여러 솔루션에서 사이트, 목록, 라이브러리, 필드, 콘텐츠 형식 등에 대해 제공하는 새 서식 파일 및 정의. 이러한 정의는 CAML 기반 XML 파일 형식입니다.

  • 웹 서버 수준에서 수행해야 하는 구성(예: 웹 파트 등록을 위한 Web.config 파일)

또한 솔루션 패키지 배포 프로세스에서 Office SharePoint Server 2007을 지원하는 매니페스트 파일을 포함해야 합니다. 매니페스트 파일에는 솔루션 패키지에 포함되는 모든 자산의 목록과 함께 이러한 자산의 대상 위치 및 해당 자산이 표시되어야 하는 다양한 구성이 들어 있습니다. 매니페스트 파일의 스키마 정의는 Office SharePoint Server 2007 시스템 폴더에 있는 Wss.xsd 파일에 포함되어 있습니다.

솔루션 패키지에 대한 자세한 내용은 MSDN의 Windows SharePoint Services 3.0 SDK(소프트웨어 개발 키트)에서 제공하는 솔루션 및 웹 파트 패키지 (영문)(https://go.microsoft.com/fwlink/?linkid=106479&clcid=0x412)를 참조하십시오.

다음의 각 섹션에서는 솔루션 패키지 파일의 각 요소를 설명합니다.

Solution 요소

Solution 요소는 매니페스트 파일의 루트 요소입니다. SolutionId 특성은 구성 데이터베이스의 일부인 솔루션 저장소에서 솔루션을 식별하는, 이 파일의 중요한 요소입니다. 솔루션은 GUID(Globally Unique Identifier)로 식별합니다. 예를 들면 다음과 같습니다.

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

</Solution>

DeploymentServerTypeResetWebServer는 선택적 특성입니다. DeploymentServerType에는 ApplicationServer 또는 WebFrontEnd 같은 값을 지정할 수 있습니다. 일반적으로 대부분의 솔루션은 서버 팜의 웹 서버를 대상으로 합니다. 인덱스 서버, Excel 서비스를 실행하는 서버, 문서 변환 서버 등의 응용 프로그램 서버를 대상으로 하는 솔루션으로는 사용자 지정 구성 또는 추가 사용자 지정 변환기가 있습니다. 솔루션을 특정 IIS(인터넷 정보 서비스) 웹 응용 프로그램에 배포한 경우 IISReset 특성을 사용하여 IIS를 재설정할 수 있습니다.

FeatureManifest 요소

Feature는 솔루션의 개별 구성 요소(예: 필드 형식, 웹 파트, 워크플로 등)를 나타내므로 여러 SharePoint 제품 및 기술 솔루션에서 중요한 역할을 합니다. 솔루션에 포함된 모든 Feature는 FeatureManifest 요소로 표시해야 합니다. 다음 코드 예제에는 SharePoint 사이트의 웹 파트를 알리는 Feature가 있습니다.

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

  <FeatureManifests>

    <FeatureManifest Location="HelloWorldWebPart_28c3eefe-2c03-4791-9f69-4405c80e1d92\feature.xml" />

  </FeatureManifests>

  ...

</Solution>

웹 서버에 솔루션을 배포하면 모든 Feature 관련 파일이 지정된 위치로 복사됩니다.

Assembly 요소

대부분의 SharePoint 솔루션에는 하나 이상의 .NET Framework 어셈블리가 포함됩니다. Assembly 요소는 매니페스트 파일에 사용되어 대상 서버에서 DDL(동적 연결 라이브러리)을 사용할 수 있도록 합니다. 예를 들면 다음과 같습니다.

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

...

  <Assemblies>

    <Assembly Location="HelloWorldWebPart.dll" DeploymentTarget="GlobalAssemblyCache" >

      <SafeControls>

        <SafeControl Assembly="HelloWorldWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="MSDN" TypeName="HelloWorldWebPart" Safe="True" />

      </SafeControls>

  </Assembly>

  </Assemblies>

</Solution>

Assembly 요소의 첫 번째 특성인 Location은 솔루션 파일에서 DDL의 상대 경로를 저장합니다. 다음 특성인 DeploymentTarget에는 GlobalAssemblyCache 또는 WebApplication 같은 값을 지정할 수 있습니다. GlobalAssemblyCache는 어셈블리가 전역 어셈블리 캐시에 배포되도록 지시하고 WebApplication은 어셈블리를 IIS 웹 응용 프로그램의 개인 응용 프로그램 폴더로 이동하도록 Windows SharePoint Services 3.0에 지시합니다. 나중에 다시 설명하겠지만 WebApplication을 지정하면 사용되는 솔루션은 IIS 웹 응용 프로그램에 연결된 Web.config 파일에 관리자가 설정한 신뢰 수준에 의존하게 됩니다. 완전히 신뢰할 수 있는 위치인 전역 어셈블리 캐시에 어셈블리를 배포하는 경우 개발자는 이 신뢰 수준을 설정하는 데 신경 쓰지 않아도 됩니다.

솔루션의 웹 파트는 Web.config 파일에서 안전한 컨트롤로 등록되어야 합니다. Assembly 요소는 하나 이상의 SafeControl 요소(SafeControls 요소 내에 그룹화됨)를 포함할 수 있습니다. 각 SafeControl 요소는 Web.config 파일에서 설정해야 하는 구성을 설명합니다.

Assembly 요소의 자식 요소로 ClassResource 요소(ClassResources 요소 내에 그룹화됨)도 사용할 수 있습니다. 이러한 요소는 각각 배포된 어셈블리에 필요한 리소스를 나타냅니다. 리소스 파일, XML 파일 또는 그림이 이러한 리소스에 해당합니다.

ApplicationResourceFile 요소

매니페스트 파일은 배포해야 하는 리소스 파일에 대한 상대 경로와 함께 하나 이상의 ApplicationResourceFile 요소를 포함할 수 있습니다. 배포 시 리소스 파일은 IIS 웹 응용 프로그램의 개인 응용 프로그램 리소스 폴더로 복사됩니다. 예를 들면 다음과 같습니다.

<Solution SolutionId="8f37f0a7-ec35-4a63-9c3d-91205d9a2ac6"

          xmlns="https://schemas.microsoft.com/sharepoint/" >

...

    <ApplicationResourceFiles>

        <ApplicationResourceFile Location="hellowp.resx"/>

        <ApplicationResourceFile Location="hellowp.en-us.resx"/>

    </ApplicationResourceFiles>

</Solution>

CodeAccessSecurity 요소

CodeAccessSecurity 요소는 코드에 특정 사용 권한을 부여하려는 경우 매니페스트 파일에 포함해야 합니다. CodeAccessSecurity 요소에는 솔루션에 적용할 코드 액세스 보안 정책과 관련된 내용을 각각 정의하는 하나 이상의 PolicyItem 자식 요소가 있습니다. 정책 항목은 두 가지 부분, 즉 해당 항목의 일부인 사용 권한 목록 및 이러한 사용 권한을 적용해야 하는 어셈블리로 구성됩니다.

각각 IPermission 요소로 표시되는 사용 권한 목록은 PolicyItem 요소의 자식 요소인 PermissionSet 요소 내에 그룹화됩니다. 각 IPermission요소는 어셈블리를 올바르게 실행하는 데 필요한 코드 액세스 보안 권한을 정의합니다.

하나 이상의 Assembly 요소가 코드 액세스 보안에서 역할을 수행할 수 있습니다. 이러한 요소는 하나씩 정의해야 하며 이름, 버전 및 전체 공개 키로 식별됩니다.

DwpFile 요소

웹 파트는 웹 파트 페이지로 이동하기 전에 웹 파트 갤러리에서 사용할 수 있어야 합니다. 웹 파트를 사용할 수 있도록 하는 데 필요한 메타데이터 정보는 XML 파일(.dwp 확장명 또는 .webpart 확장명 사용)에 저장됩니다. 솔루션 매니페스트 파일에는 DwpFiles 요소 내에 그룹화된 하나 이상의 DwpFile 요소를 포함할 수 있으며 각 요소는 이러한 파일 중 하나를 가리킵니다. 예를 들면 다음과 같습니다.

   <DwpFiles>

      <DwpFile FileName="hellowebpart.webpart" Location="hellowebpart.webpart"/>

   </DwpFiles>

Resource 요소

Feature를 포함하는 폴더로 리소스 파일을 이동하여 해당 위치에서 사용할 수 있습니다. Resource 요소는 솔루션 매니페스트 파일에서 이러한 리소스를 나타냅니다. 이 요소에 대해 설정할 특성은 패키지에서의 리소스 파일 위치를 가리키는 상대 경로뿐입니다.

SiteDefinitionManifest 요소

사용자 지정 사이트 정의를 배포할 때 이 요소를 사용합니다. SiteDefinitionManifest 요소에는 지정된 폴더에 있는 모든 파일을 선택하고 \12\Template\SiteTemplates 폴더에 필요한 폴더를 만드는 Location 특성이 있습니다. WebTempFile 자식 요소는 webtemp*.xml 파일을 배포하여 서식 파일에 대한 정보를 SharePoint 제품 및 기술에 제공합니다. 예를 들면 다음과 같습니다.

  <SiteDefinitionManifests>

    <SiteDefinitionManifest Location="LitwareSiteTemplate">

      <WebTempFile Location="1033\xml\webtempLitware.xml" />

    </SiteDefinitionManifest>

  </SiteDefinitionManifests>

RootFile 요소

솔루션 매니페스트 파일에 RootFile 요소를 삽입하여 배포 중에 \12 폴더 바로 아래의 지정된 폴더로 솔루션 파일을 복사할 수 있습니다.

TemplateFile 요소

TemplateFile 요소는 \12\Template 폴더에 배포해야 하는 서식 파일을 정의하는 데 사용할 수 있습니다. 이러한 방법으로 배포할 수 있는 파일 유형으로는 fldtypes*.xml 파일이 있습니다. 이 파일에서는 사용자 지정 필드 형식에 대한 세부 정보를 정의합니다. Location 특성을 사용하여 이 파일의 상대 경로를 지정합니다.

이 문서의 다운로드

이 항목은 다운로드 가능한 다음 문서에도 포함되어 있어 더 쉽게 읽고 인쇄할 수 있습니다.

사용 가능한 문서의 전체 목록은 다운로드 가능한 Office SharePoint Server 2007 관련 문서 (영문)를 참조하십시오.

참고 항목

개념

사용자 지정 내용 배포
제작된 사이트 요소 사용자 지정 콘텐츠 배포
개발된 사이트 요소 사용자 지정 배포