1. Site Action / Create Site 클릭하면, New SharePoint Site 라는 화면이 나타난다.
2. Template Selection / Select a template 탭 추가
- C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\(LCID)\XML 의 WEBTEMP.XML를 해당 폴더에 Copy 하여 파일명을 WEBTEMP*****.XML로 변경한다. (단, 파일명을 임의로 정하면 되지 않는다. 예를 들면, WEBTEMPSKT.XML)
- 복사한 WEBTEMPSKT.XML를 수정하는데, 예제를 통해 설명하자면,
<?xml version="1.0" encoding="utf-8"?>
<!-- _lcid="1033" _version="12.0.4518" _dal="1" -->
<!-- _LocalBinding -->
<Templates xmlns:ows="Microsoft SharePoint">
<Template Name="SampleTemplate" ID="10001">
<Configuration ID="0" Title="Global Avenue Community" Hidden="FALSE" ImageUrl="/_layouts/images/stsprev.png"
Description="A site for teams to quickly organize, author, and share information. It provides a document library, and lists for managing announcements, calendar items, tasks, and discussions.(SKT Global Avenue Community Site)"
DisplayCategory="SKT" >
</Configuration>
</Template>
</Templates>
<Template>
Name : Site Template 이름 (C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates 밑에 사이트 템플릿을 만들 폴더 이름)
ID : Site Template ID인데, 임의로 지정(10000번 이상으로 지정하는 게 좋다고 한다.)
<Configuration>
ID : Configuration ID로 Site Template 만들 때 중요한 ID값이므로, 기억하는 게 좋다.
Title : 위 그림에서 보면 탭 안에 있는 템플릿 명을 나타낸다.
Hidden : 템플릿 탭을 보여줄지 여부를 체크한다.
ImageUrl : 우측 이미지 URL 주소를 나타낸다.
Description : 이미지 아래 설명 부분을 나타낸다.
DisplayCategory : 탭 버튼에 들어가는 텍스트를 나타낸다.(상단그림에서 빨간색 부분)
- Site Template 폴더 생성
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates\sts를 해당 폴더에 Copy 한다. 그 폴더 명은 WEBTEMPSKT.XML에서 정의한 Template Name으로 변경한다.
- Site Template 의 Onet.xml 수정
<?xml version="1.0" encoding="utf-8"?>
<Project Title="$Resources:onet_TeamWebSite;" Revision="2" ListDir="$Resources:core,lists_Folder;" xmlns:ows="Microsoft SharePoint">
<!-- _locID@Title="camlidonet1" _locComment="{StringCategory=HTX}" -->
<NavBars>…
<ListTemplates>…
<DocumentTemplates>…
<Configurations>…
<Modules>…
</Project>
보통 수정해야 할 부분이 Configurations와 Modules 부분이다.
<Configurations>
<Configuration ID="0" Name="Default" MasterUrl="_catalogs/masterpage/GAComm.master">
<Lists>
<List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" Type="101" Title="Shared Documents" Url="doc" QuickLaunchUrl="doc/Forms/AllItems.aspx" />
<List FeatureId="00BFEA71-EC85-4903-972D-EBE475780106" Type="106" Title="$Resources:core,calendarList;" Url="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;/Calendar.aspx" EmailAlias="$Resources:core,calendar_EmailAlias;" />
<List FeatureId="00BFEA71-52D4-45B3-B544-B1C71B620109" Type="109" Title="Picture library" Url="picture" QuickLaunchUrl="picture/Forms/AllItems.aspx" />
</Lists>
<Modules>
<Module Name="Default" />
<Module Name="CustomMasterPage" />
</Modules>
<SiteFeatures>
<!-- BasicWebParts Feature -->
<Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />
<!-- Three-state Workflow Feature -->
<Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" />
</SiteFeatures>
<WebFeatures>
<Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />
<!-- TeamCollab Feature -->
<Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />
<!-- MobilityRedirect -->
<!-- 응답형 게시판 -->
<Feature ID="EE4DB430-EB44-4696-9E03-F6D70DFC144C" />
<!-- 사이트생성후 처리 -->
<Feature ID="A4DFAAF2-D2D0-45a2-8AC6-011B9E6B2088" />
</WebFeatures>
</Configuration>
</Configurations>
l <Configuration> 설명
여기서 중요한 사항 중 하나가 WEbTEMP***.XML 에서 정의한 Configuration ID 값과 Site Template 에서 정의한 Configuration ID 값이 같아야 한다. MasterUrl은 해당 Url에 있는 file를 마스터로 등록한다.
Lists : 리스트 찍는 부분으로 FeatureId 는 리스트템플릿의 FeatureId, Type는 리스트 Type 번호
Title 는 리스트 이름, Url는 리스트 Url
Modules : 웹파트 추가, 마스터 페이지 파일 등록 등등 작업하는 곳
SiteFeatures : 사이트 모음 기능을 나타내며, Feature ID를 등록시, 기능 활성화 된다.
WebFeatures : 사이트 기능으로 ID 등록시, 기능 활성화 된다.
<Modules>
<Module Name="CustomMasterPage" List="116" Url="_catalogs/masterpage" RootWebOnly="FALSE">
<File Url="GAComm.master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" />
</Module>
<Module Name="Default" Url="" Path="">
<File Url="default.aspx" NavBarHome="True">
<View List="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" BaseViewID="0" RecurrenceRowset="TRUE" WebPartZoneID="Left" WebPartOrder="2" />
<AllUsersWebPart WebPartZoneID="Right" WebPartOrder="0">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="SKT.TWorkplace.SPS.GlobalAvenue.WebParts.CommImage, SKT.TWorkplace.SPS.GlobalAvenue.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=388b774ba96c947e" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="AllowClose" type="bool">True</property>
<property name="Width" type="string" />
<property name="AllowMinimize" type="bool">True</property>
<property name="AllowConnect" type="bool">True</property>
<property name="ChromeType" type="chrometype">None</property>
<property name="TitleIconImageUrl" type="string" />
<property name="Description" type="string" />
<property name="Hidden" type="bool">False</property>
<property name="TitleUrl" type="string" />
<property name="AllowEdit" type="bool">True</property>
<property name="Height" type="string" />
<property name="MissingAssembly" type="string">Cannot import this Web Part.</property>
<property name="HelpUrl" type="string" />
<property name="Title" type="string">Community Image</property>
<property name="CatalogIconImageUrl" type="string" />
<property name="Direction" type="direction">NotSet</property>
<property name="ChromeState" type="chromestate">Normal</property>
<property name="AllowZoneChange" type="bool">True</property>
<property name="AllowHide" type="bool">True</property>
<property name="HelpMode" type="helpmode">Modeless</property>
<property name="ExportMode" type="exportmode">All</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</AllUsersWebPart>
</File>
</Module>
</Modules>
l <Modules> 설명
<Configuration><Modules><Module Name=””>에서 정의한 Name과 동일하여야 한다.(Configuration 아래 Modules는 구성하는것이고, 실제 작업은 여기 Modules에서 한다고 생각하면 된다.)
<Module Name="CustomMasterPage" List="116" Url="_catalogs/masterpage" RootWebOnly="FALSE">
<File Url="GAComm.master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" />
</Module>
사이트 템플릿을 만든 폴더 (예, C:\Program Files\Common Files\Microsoft Shared\web se
rver extensions\12\TEMPLATE\SiteTemplates\SKTTemplate) 아래 있는 마스터 페이지를 마스터 페이지 갤러리에 등록하는 부분이다.
<Module Name="Default" Url="" Path="">
<File Url="default.aspx" NavBarHome="True">
<View List="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" BaseViewID="0" RecurrenceRowset="TRUE" WebPartZoneID="Left" WebPartOrder="2" />
<AllUsersWebPart WebPartZoneID="Right" WebPartOrder="0">…….
default.aspx 레이아웃(웹파트존) 정의 된 페이지로, 그 파일에 웹파트를 추가하는 부분이다. WebPartZoneID 는 웹파트존의 위치, WebPartOrder 웹파트의 순서를 나타낸다.
<AllUsersWebPart WebPartZoneID="Right" WebPartOrder="0">
<![CDATA[
...*******************************************…
]]>
</AllUsersWebPart>
커스텀 웹파트는 ********** 부분에 웹파트 속성 정보(xml 형식)을 작성하면 된다.
웹파트 속성은 아래 그림과 같이 내보내기를 하면 해당 파일에 xml형식로 되어 있다.
'Solution Platform' 카테고리의 다른 글
Word 2007: How to hide document properties panel from SharePoint server (0) | 2010.03.19 |
---|---|
[MSDN 펌]How to find out the storage space allocation details a site through code (0) | 2010.01.29 |
SharePoint Crawling - Invalid UTF-8 Encoded Characters Error (0) | 2009.10.08 |
FullTextSqlQuery를 이용한 검색 샘플 소스 및 주의 사항 (0) | 2009.09.21 |
[번역본]LogParser를 이용한 SharePoint 운영 현황 분석 (0) | 2009.09.21 |