서식 파일 배포(SharePoint Server 2010)

 

적용 대상: SharePoint Server 2010

마지막으로 수정된 항목: 2016-11-30

이 문서에서는 솔루션 패키지를 사용하여 사용자 지정 사이트 정의를 만들고 배포하는 방법에 대해 설명합니다.

이 문서의 내용

  • 사이트 정의란?

  • 사이트 정의 및 구성

  • 사용자 지정 사이트 정의 및 구성 만들기

  • 솔루션 패키지를 사용하여 사이트 정의 배포

사이트 정의란?

Microsoft SharePoint Server 2010에서 사용자는 UI(사용자 인터페이스)를 통해 사이트를 인스턴스화하는 방법을 정의하는 사이트 정의 구성 또는 사용자 지정 사이트 서식 파일을 선택하여 사이트를 만듭니다. 사이트 정의는 목록, 파일, 웹 파트, 기능 또는 새 SharePoint 사이트를 구축하는 데 사용되는 설정 등을 결정하는 서식 파일입니다.

사이트 정의는 사이트 정의 구성의 집합입니다. 각 사이트 정의는 이름을 지정하고 사이트 정의 구성 목록을 포함합니다. SharePoint Server 2010에서 사이트 정의는 새 사이트를 구축하는 데 적용할 수 있는 XML 파일의 집합으로 구성됩니다. 이 XML 파일은 웹 서버에 있습니다.

사이트 정의는 주로 여러 XML 및 ASPX 파일로 구성되며, 이러한 파일은 프런트 웹 서버에서 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates 폴더 아래의 폴더에 저장됩니다.

사이트 정의에 기반하여 만들어진 사이트는 원본 사이트 정의의 구조 및 콘텐츠 정보를 그대로 반복하지 않고 다른 정보를 새로 추가합니다. 사이트는 수명 주기 동안 이러한 기본 사이트 정의에 계속 의존합니다. 따라서 Microsoft는 사이트 정의에 기반하여 사이트를 만든 후 해당 사이트 정의를 변경하거나 제거하는 것을 지원하지 않습니다. 이와 같이 변경하는 경우 해당 사이트 정의에 기반하여 만든 사이트는 더 이상 올바르게 작동하지 않거나 이 사이트 정의에 직접 또는 간접적으로 기반하는 새 사이트를 만들지 못할 수도 있습니다. 개발자는 사이트 정의를 사용자 지정하기 위해 사이트 정의에 대한 변경 내용을 포함하는 기능을 추가할 수 있습니다. 이 경우 사이트 정의 자체는 수정되지 않습니다.

Microsoft에서 지원하는 사이트 정의 사용자 지정 유형에 대한 자세한 내용은 Windows SharePoint Services, SharePoint Portal Server 2003 및 Office SharePoint Server 2007의 사용자 지정 사이트 정의 및 사용자 지정 영역 정의 작업에 지원되는 시나리오 및 지원되지 않는 시나리오(https://go.microsoft.com/fwlink/?linkid=187678&clcid=0x412)를 참조하십시오.

개체 모델에서 SPWebTemplate은 사이트 정의 및 구성을 나타냅니다. 사이트 서식 파일 및 사이트 정의에 대한 자세한 내용은 사이트 서식 파일 및 정의 (https://go.microsoft.com/fwlink/?linkid=184756&clcid=0x412)(영문일 수 있음)를 참조하십시오.

참고

사용자 지정 사이트 서식 파일의 STP 형식(.stp 파일)은 SharePoint Server 2010에서 더 이상 사용되지 않으며 WSP 형식의 사이트 서식 파일로 대체되었습니다. Office SharePoint Server 2007에서 사용자는 기존 사이트를 사용자 지정 사이트 서식 파일로 저장할 수 있습니다. 이 사이트 서식 파일은 데이터베이스에 모델로 저장되고, 사용자는 사이트 서식 파일을 선택하여 사이트를 인스턴스화하는 방법을 정의할 수 있습니다. 이와 달리 SharePoint Server 2010에서는 사용자가 기존 사이트를 서식 파일로 저장할 수 있습니다. 이 서식 파일은 사이트 모음에 있는 최상위 사이트의 솔루션 갤러리에 파일로 저장되어, 해당 사이트 모음의 모든 웹 사이트에서 하위 사이트를 만드는 데 사용할 수 있습니다.

사이트 정의에 대한 자세한 내용은 사이트 정의 및 구성(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x412)(영문일 수 있음)을 참조하십시오.

사이트 정의 및 구성

사이트 정의는 특정 SharePoint 사이트를 정의합니다. SharePoint Server 2010에서는 기본적으로 5개의 사이트 정의가 설치됩니다. 사이트 정의에는 둘 이상의 사이트 정의 구성이 포함될 수 있습니다. SharePoint 웹 사이트는 다음을 포함하는 특정 사이트 정의 구성을 기반으로 합니다.

  • STS는 팀 사이트, 새 사이트 및 문서 작업 영역에 대한 사이트 정의 구성을 포함합니다.

  • MPS는 기본 모임 작업 영역, 새 모임 작업 영역, 결정 사항 모임 작업 영역, 사교 모임 작업 영역 및 멀티페이지 모임 작업 영역에 대한 사이트 정의 구성을 포함합니다.

  • CENTRALADMIN은 중앙 관리 웹 사이트에 대한 사이트 정의 구성을 제공합니다.

  • WIKI는 wiki 기술을 사용하여 커뮤니티 콘텐츠를 지원하는 웹 사이트에 대한 사이트 정의 구성을 제공합니다.

  • BLOG는 블로그에 대한 사이트 정의 구성을 제공합니다.

각 사이트 정의는 SharePoint Server 2010을 설치하는 동안 프런트 엔드 웹 서버의 \\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates 하위 폴더에 배치되는 파일로 구성됩니다. 사이트 정의 파일에는 문서 서식 파일(예: .dot 및 .htm)과 콘텐츠 파일(예: .gif 및 .doc) 외에 .xml, .aspx, .ascx 및 마스터 페이지 파일이 포함됩니다.

사용자 지정되지 않은 페이지 및 페이지 사용자 지정

사이트 정의 파일은 Microsoft IIS(인터넷 정보 서비스) 프로세스가 시작될 때 서버의 메모리에 캐시됩니다. 따라서 사용자 지정되지 않은 페이지는 모든 사이트에서 재사용할 수 있습니다. 이러한 파일에 포함되는 정보는 런타임에 캐시에서 가져옵니다. 페이지 및 목록 스키마는 사이트 정의 파일에서 읽어 오지만 사이트 내에서는 실제 파일로 나타납니다. 새 웹 파트 페이지 또한 사용자 지정되지 않은 것으로 간주됩니다.

웹 파트 수정 같은 브라우저 기반 사용자 지정 내용을 제외하고 사이트 페이지를 사용자 지정하는 경우 해당 콘텐츠는 콘텐츠 데이터베이스에 저장되고, 사용자 지정된 사이트 페이지가 사이트 정의의 원본 페이지 대신 사용됩니다. 업로드된 .aspx 파일은 사용자 지정된 것으로 자동으로 간주됩니다.

고스팅 및 페이지 사용자 지정에 대한 자세한 내용은 사이트 정의 및 구성(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x412)(영문일 수 있음)을 참조하십시오.

핵심 스키마 파일

다음 표에서는 사이트 정의에 맞춰 수정할 수 있는 핵심 XML 파일과 해당 파일이 파일 시스템에서 어느 위치에 있는지 보여 줍니다.

WebTemp.xml

사이트 정의를 식별하고 해당 구성에 대한 정보를 제공합니다. 이 파일은 다음 위치에 있습니다.

\TEMPLATE\1033\XML

Onet.xml

탐색 영역을 정의하고, 사용 가능한 목록 정의를 지정하고, 문서 서식 파일 및 해당 파일을 지정하고, 목록의 기본 형식을 정의하고, 사이트 정의에 필요한 구성 및 모듈을 정의합니다. 이 파일은 다음 위치에 있습니다.

\TEMPLATE\SiteDefinitions\사이트_유형\XML

Schema.xml

목록 정의의 보기, 양식, 도구 모음 및 특수 필드를 정의합니다. 각 정의에는 고유한 Schema.xml 파일이 있습니다. 이 파일은 다음 위치에 있습니다.

\TEMPLATE\FEATURES\목록_정의_이름

DocIcon.xml

SharePoint Server 배포의 각 프런트 엔드 웹 서버에는 파일 프로그래밍 식별자(ProgID) 및 문서 형식의 파일 이름 확장명을 특정 아이콘 및 각 형식을 열기 위한 컨트롤에 매핑하는 DocIcon.xml 파일이 포함되어 있습니다. DocIcon.xml을 변경하면 SharePoint Server 배포에 전역적으로 적용되고 프런트 엔드 웹 서버에 있는 모든 사이트 정의에 영향을 줍니다. 이 파일은 다음 위치에 있습니다.

\TEMPLATE\XML

이러한 XML 파일에서는 사이트의 여러 측면을 정의하기 위해 CAML(Collaborative Application Markup Language)(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x412)(영문일 수 있음)을 사용합니다. 사이트 정의를 사용자 지정하는 데 사용할 수 있는 이와 같은 핵심 XML 파일에 대한 자세한 내용은 사이트 정의 및 구성(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x412)(영문일 수 있음)을 참조하십시오.

사용자 지정 사이트 정의 및 구성 만들기

사용자 지정 사이트 정의는 기존 사이트 정의를 수동으로 복사하거나 .wsp 파일을 Visual Studio 2010으로 가져와 만들 수 있습니다.

기존 SharePoint 사이트에서 항목 가져오기

이 방법에서는 SharePoint Server에서 사이트를 서식 파일로 저장하여 .wsp 파일을 생성한 다음 솔루션 가져오기 프로젝트 서식 파일을 사용하여 .wsp 파일을 Visual Studio 2010으로 가져와야 합니다. SharePoint 솔루션 패키지 가져오기 프로젝트 서식 파일을 사용하면 기존 SharePoint 사이트에 있는 콘텐츠 형식, 목록 정의 및 필드 같은 요소를 새 Visual Studio SharePoint 솔루션에서 다시 사용할 수 있습니다. 기존 SharePoint 사이트의 항목을 Visual Studio SharePoint 프로젝트로 가져오는 방법에 대한 자세한 내용은 기존 SharePoint 사이트에서 항목 가져오기(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=187040&clcid=0x412)를 참조하십시오. 이 장에는 다음 작업을 보여 주는 연습이 포함되어 있습니다.

  1. 사용자 지정 사이트 열을 추가하여 SharePoint 사이트 사용자 지정

  2. SharePoint 사이트를 .wsp 파일로 내보내기

  3. .wsp 가져오기 프로젝트를 사용하여 Visual Studio SharePoint 프로젝트로 .wsp 파일 가져오기

기존 SharePoint 사이트 복사

이 방법에서는 기존 사이트 정의를 복사하고 복사본을 수정하고 2개의 스키마 파일, 즉 WebTemp.xml 파일의 복사본과 Onet.xml 파일의 복사본을 변경합니다.

경고

원래 설치되어 있는 WebTemp.xml 파일은 수정하지 마십시오.

  1. 로컬_드라이브:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\ 디렉터리에 있는 기존 사이트 정의 폴더를 복사합니다. 복사본은 원본의 피어여야 하며 이 복사본에는 공백이 포함되지 않은 이름을 지정할 수 있습니다.

    예를 들어 Microsoft SharePoint Server용 팀 사이트 정의에서 파생되는 사용자 지정 사이트 정의를 만들려면 \sts 폴더를 복사합니다.

  2. WebTemp.xml 파일의 복사본을 만듭니다. 이 파일은 로컬_드라이브:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\1042\XML에 있습니다.

    WebTempAction.xml과 같이 원본 파일의 이름 끝에 문자열을 추가하여 고유한 이름을 파일에 지정합니다. 컴파일러는 이 파일에 포함된 정보를 원본 파일에 포함된 정보와 런타임에 병합하여 새 사이트를 만드는 데 사용할 수 있는 사이트 정의 구성을 지정합니다.

  3. 새 WebTemp 파일의 콘텐츠를 사용자 지정합니다.

    각 WebTemp.xml 파일에는 인스턴스화할 수 있는 모든 사이트 정의 구성을 컴파일러에 알려 주는 Template 요소와 Configuration 하위 요소의 모음이 포함되어 있습니다. Configuration 요소는 UI(사용자 인터페이스)에 표시되는 이미지의 제목, 설명과 URL 등을 정의하고 사이트 모음 만들기 페이지의 Template Selection 섹션에 있는 서식 파일을 표시할 탭을 지정하는 표시 항목을 정의합니다.

    중요

    WebTemp 파일에 정의된 각 Template 요소에서 Name 특성은 새 폴더에 할당된 것과 동일한 이름을 포함해야 합니다. SharePoint Server 2010에서 이미 사용되고 있는 ID와 충돌하지 않도록 해당 ID 특성에 대해 10,000보다 큰 고유한 값을 사용하십시오.

다음은 WebTemp.xml 파일의 Configuration 요소 2개를 사용하여 사이트를 인스턴스화하는 데 필요한 서로 다른 사이트 정의 구성을 정의하는 예입니다. 이 중 하나는 리서치 공동 작업 사이트에 사용되고, 다른 구성은 리서치 문서 작업 영역 사이트에 사용됩니다. 이 예에서는 단일 사이트 정의 내에 있는 2개의 구성만 사용하지만 2개 이상의 구성이 있는 여러 사이트 정의를 WebTemp.xml 파일 하나에 포함할 수 있습니다. 각 사이트 정의는 서로 다른 사이트 정의 폴더와 해당 Onet.xml 파일을 참조합니다.

<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
  <Template Name="RESEARCH" ID="10001">
    <Configuration ID="0" Title="Research Collaboration site" 
      Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg" 
      Description="This definition creates a site for the Research 
      team to create, organize, and share general information." 
      DisplayCategory="Collaboration">
    </Configuration>
    <Configuration ID="1" Title="Research Workspace" Hidden="FALSE" 
      ImageUrl="_layouts/images/dwsprev.jpg" Description="This 
      definition creates a site for Research team colleagues to 
      work together on specific documents." 
      DisplayCategory="Collaboration">
    </Configuration>
  </Template>
</Templates>

Template 요소의 Name 특성 값에서 알 수 있듯이 이 예에서는 "RESEARCH"라는 이름의 사이트 정의 디렉터리가 있는 것으로 가정합니다. WebTemp*.xml 파일에서 둘 이상의 사이트 정의를 지정한 경우 각 정의는 고유한 해당 ID 값으로 구분됩니다.

Configuration 요소는 ID 특성도 포함합니다. 이 IDTemplate 요소의 Name 특성 값과 결합하여 특정 Onet.xml 파일에 있는 특정 Configuration 요소에 대한 참조를 제공합니다. 주어진 예에서 Name 특성은 RESEARCH를 포함하고 ID 특성은 0과 1을 포함하므로 Onet.xml에서 RESEARCH 사이트 정의 및 ID 가 0 또는 1인 구성을 참조합니다.

새 정의 구성이 UI에 옵션으로 나타나도록 하기 위해 IIS를 다시 설정해야 할 수도 있습니다. 이렇게 하려면 명령 프롬프트에서 iisreset 명령을 입력하십시오.

Onet.xml에서 각 사이트 정의 구성을 정의하는 방법에 대한 자세한 내용은 방법: 사이트 정의 구성 사용(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=183465&clcid=0x412)(영문일 수 있음)을 참조하십시오.

솔루션 패키지를 사용하여 사이트 정의 배포

솔루션 패키지를 사용하여 사용자 지정 사이트 정의를 배포하려면 SiteDefinitionManifest 요소를 솔루션 패키지의 매니페스트 파일에 추가합니다. \14\Template 폴더의 하위 폴더에 배포해야 하는 서식 파일을 정의하려면 TemplateFiles 요소를 추가하십시오.

SiteDefinitionManifest 요소 추가

SiteDefinitionManifest 요소에는 지정된 폴더에 있는 모든 파일을 선택하고 \14\Template\SiteTemplates 폴더에 필요한 폴더를 만드는 Location 특성이 있습니다. 다음 예와 같이 WebTempFile 하위 요소는 webtemp*.xml 파일을 배포하여 서식 파일이 SharePoint 2010 제품에 알려지도록 합니다.

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

TemplateFile 요소 추가

솔루션 매니페스트 파일의 TemplateFile 요소는 \14\Template 폴더의 하위 폴더에 배포되어야 하는 서식 파일을 정의하는 데 사용됩니다. 이러한 방법으로 배포할 수 있는 파일 유형으로는 사용자 지정 필드 형식에 대한 세부 정보를 정의하는 fldtypes*.xml 파일이 있습니다. 다음 예에서 문자열 "Text"로 지정되는 파일의 상대 경로를 지정하려면 Location 특성을 사용하십시오.

  <TemplateFiles
    <TemplateFile
      Location="Text"/>
      ...
  </TemplateFiles>

솔루션을 배포하는 방법에 대한 자세한 내용은 솔루션 패키지 배포(SharePoint Server 2010)를 참조하십시오.