SharePoint 응용 프로그램 작성 소개

이 문서의 내용


소개

Windows SharePoint Services 3.0은 공동 작업 및 통신 서비스의 통합 포트폴리오를 제공하는 Windows Server 기술인 동시에 웹 기반 비즈니스 응용 프로그램의 개발 플랫폼입니다. Microsoft에서는 이 기능을 활용하여 40가지 Windows SharePoint Services 3.0 응용 프로그램 서식 파일 (영어)을 개발했습니다. 이러한 서식 파일은 지원 센터 조정 또는 그림 1의 예제와 같은 마케팅 캠페인 관리 등과 같은 특정 비즈니스 프로세스의 요구 사항을 해결하는 완벽한 솔루션을 제공합니다.

통합 마케팅 캠페인 추적 응용 프로그램의 홈 페이지 보기

그림 1: 통합 마케팅 캠페인 추적 응용 프로그램의 홈 페이지 보기

Microsoft에서는 배포 후 즉시 사용할 수 있는 응용 프로그램 서식 파일을 개발하여 무료로 제공하고 있습니다. 고객과 파트너들도 이러한 응용 프로그램 서식 파일을 기반으로 사용자 지정 솔루션을 개발하거나 이러한 응용 프로그램 서식 파일에서 아이디어를 얻어 Microsoft Office SharePoint Designer 2007을 사용하여 고유의 Windows SharePoint Services 3.0 응용 프로그램을 작성할 수 있습니다.

이 문서의 목적은 Microsoft에서 응용 프로그램 서식 파일을 개발한 방법을 설명하고, 고객 및 파트너가 고유의 응용 프로그램을 만들 수 있도록 Windows SharePoint Services 3.0과 Office SharePoint Designer 2007의 핵심 기능을 사용하는 최상의 방법을 제공하는 것입니다. 이 문서는 Windows SharePoint Services 3.0 SDK (영어)를 대체하지 않으며 기본적으로 개발자 리소스도 아닙니다. 개발자는 Windows SharePoint Services 3.0을 확장하는 방법을 전반적으로 이해하려면 SDK를 사용해야 합니다.

이 문서는 사이트 디자이너를 위한 리소스입니다. Windows SharePoint Services와 Office SharePoint Designer 2007에서는 UI를 통해 많은 응용 프로그램 기능을 작성할 수 있기 때문에 고급 개발 기술이 없더라도 다양한 기능을 갖춘 응용 프로그램을 작성할 수 있습니다. 물론 이 문서에서는 특히 복잡한 디자인 패턴에 대한 몇 가지 사용자 지정 코드 구현을 설명하지만 전반적으로 개발자가 아닌 대상 그룹도 이해하기 쉬운 방법을 제공합니다. 개발자의 경우 앞부분의 도구 및 방법에 관한 섹션을 빠르게 읽어 보고 디자인 패턴에 대한 설명과 이러한 디자인 패턴을 구현하는 방법에 대한 특정 예제를 꼼꼼히 살펴보는 것도 괜찮습니다.

문서 구조를 보면, 먼저 첫 번째 사용 도구 및 기술 섹션에서는 Windows SharePoint Services 3.0과 Office SharePoint Designer 2007에서 응용 프로그램을 작성하는 데 사용되는 기능에 대한 개요를 제공합니다. 다음으로 응용 프로그램 아키텍처 및 개발 방법 섹션에서는 모든 응용 프로그램 서식 파일에서 Microsoft가 사용한 방법을 전반적으로 설명합니다. 여기에서는 솔루션의 목적, 사용 방법, 사용 대상 및 사용자 지정 코드를 작성하지 않고도 최상의 성과를 얻을 수 있게 해준 기술 부분을 살펴보고 사용자 코드 또는 기타 사용자 작업이 필요한 영역을 확인하는 과정으로 마무리합니다.

다음으로 공통 디자인 패턴 구현 섹션에서는 Windows SharePoint Services와 Office SharePoint Designer 2007의 장점을 사용하여 일반적인 응용 프로그램 디자인 요구 사항(예: 목록에서 사용자 지정 동작을 만드는 방법)을 해결하는 방법에 중점을 두며, 모든 응용 프로그램 서식 파일과 실제로 사용자가 다룰 수 있는 모든 응용 프로그램에서 되풀이되는 디자인 패턴에 대한 접근 방법을 설명합니다. 이 섹션에서는 Windows SharePoint Services UI 또는 Office SharePoint Designer 2007과 일부 사용자 코드 작업에 대한 지침을 포함하여 5가지 디자인 패턴에 대한 각각의 예제를 제공합니다.

마지막 서식 파일 작성 섹션에서는 Office SharePoint Designer 2007을 사용하여 실제로 서식 파일을 만드는 방법을 설명하며 지역화와 같은 다른 주제들도 다룹니다.

이 문서를 모두 읽고 나면 응용 프로그램을 디자인하고 구성하는 방법, Windows SharePoint Services 3.0에서 직접 사이트를 작성하는 방법(연결된 목록, 사용자 지정 열, 라이브러리, 워크플로 등 포함), 그런 다음 Office SharePoint Designer 2007에서 이 사이트를 열어 추가 사용자 지정하는 방법(사용자 지정 양식 만들기, 사용자 지정 코드를 추가하여 특정 동작 변경하기, 사용자 지정 워크플로 만들기 등 포함), 끝으로 응용 프로그램 서식 파일을 만든 다음 사용할 수 있도록 배포하는 방법을 완전히 이해하게 됩니다.

맨 위로 이동 맨 위로 이동

사용 도구 및 기술

응용 프로그램을 이전보다 훨씬 쉬운 방법으로 만들 수 있게 해주는 기술 및 도구가 몇 가지 있습니다. 기술의 경우 워크플로 지원과 같은 새 기능을 사용하면 사이트 디자이너가 코드를 작성하지 않고도 워크플로를 응용 프로그램으로 가져올 수 있습니다. 도구의 경우 Office SharePoint Designer 2007, Microsoft Visual Studio 2005 및 기타 도구에서는 코드를 거의 사용하지 않거나 많은 경우 코드 없이 매우 어려운 작업을 수행할 수 있습니다.

일반적으로 Microsoft에서는 이러한 모든 도구와 기술에서 인프라 자체에 점점 많은 노력을 투자하는 전략을 추구해 오면서 개발자보다는 디자이너로서의 면모를 점점 강화할 수 있었습니다. 즉, Microsoft에서는 사용자가 단순히 UI를 통해 직관적인 방법으로 응용 프로그램에서 이러한 기능을 사용할 수 있도록 이미 힘든 작업의 대부분을 완료해 두었습니다.

응용 프로그램을 만드는 과정에서 여러 기술 및 도구를 사용하는 방법을 이해하기 위한 준비 단계로, 다음 섹션에서는 특히 새로운 기능을 중심으로 Windows SharePoint Services 3.0, Office SharePoint Designer 2007 및 기타 기술에 대해 살펴봅니다. 자세한 내용은 이 문서의 끝부분에 있는 리소스를 참고하십시오.

Windows SharePoint Services 3.0

Windows SharePoint Services 3.0에는 몇 가지 강력한 새 기능(전체 목록은 Windows SharePoint Services 3.0 평가판 가이드 (영어) 참고)이 도입되었습니다. 다음은 사용자 지정 응용 프로그램 작성과 특히 관련이 있는 새로운 기능으로, 이후 섹션에서 좀 더 자세히 알아봅니다.

  • 라이브러리 및 목록    Windows SharePoint Services 3.0에는 응용 프로그램의 기초로 사용할 수 있는 몇 가지 새로운 라이브러리 및 목록 유형이 도입되었습니다. 새 라이브러리 유형에는 슬라이드 라이브러리, 다시 사용할 수 있는 Microsoft Office PowerPoint 2007 슬라이드를 저장하고 관리하도록 특별히 디자인된 라이브러리, 데이터 연결 라이브러리 등이 있습니다.
  • 콘텐츠 형식     콘텐츠 형식은 Windows SharePoint Services 3.0에서 전반적으로 사용되는 핵심 개념으로, 사용자가 SharePoint 사이트에서 보다 효율적인 방식으로 콘텐츠를 구성할 수 있도록 디자인되었습니다. 콘텐츠 형식은 특정 범주의 콘텐츠에 적용할 수 있는 재사용 가능한 설정 모음입니다. 콘텐츠 형식을 사용하면 문서 또는 항목 유형의 메타데이터 및 동작을 중앙에서 관리하고 다시 사용할 수 있습니다. 예를 들어 여러 문서 또는 라이브러리에 워크플로와 이벤트를 추가할 필요 없이 콘텐츠 형식에 워크플로와 이벤트를 연결할 수 있습니다.
  • 사이트 열    사이트 열은 다시 사용할 수 있는 기본 열 정의 모델을 제공합니다. 사이트 열을 만들면 이 열을 사용하는 각 목록에 동일한 정의가 적용되므로 각 목록에서 열을 재현할 필요가 없습니다. 최종 사용자는 사이트 열에서 미리 정의된 열 집합을 선택하여 목록에서 사용할 수 있습니다. 사이트 열은 알려진 목록 서식 파일의 열을 중앙에서 정의하는 데 사용될 수 있을 뿐만 아니라 사용자가 지정한 의미를 포함하는 특정 열을 사용할 수 있는 경로를 제공합니다.
  • 워크플로    Windows SharePoint Services 3.0에서는 워크플로를 사용하여 목록 및 라이브러리의 항목에 비즈니스 프로세스를 연결할 수 있습니다. 이 프로세스에서는 항목의 수명 주기를 비롯하여 항목의 거의 모든 부분을 제어할 수 있습니다. 예를 들어 일련의 사용자에게 승인용으로 문서를 회람하도록 하는 간단한 워크플로를 만들 수 있습니다. 일반적으로 사이트 디자이너나 개발자는 특정 워크플로를 만듭니다. 사이트 디자이너는 Office SharePoint Designer 2007을 사용하여 워크플로 디자이너 마법사 환경에서 워크플로를 만들고, 개발자는 Visual Studio 2005를 사용하여 보다 강력하고 복잡한 워크플로를 만들 수 있습니다.
  • 기능 프레임워크    Windows SharePoint Services 3.0에는 “기능”이라고 하는 새 구조가 있습니다. 기능은 사용자가 특정 목표 또는 작업을 완료하는 데 유용한 하나 이상의 Windows SharePoint Services 요소로 구성됩니다. 요소는 하나의 아주 작은 Windows SharePoint Services 개념입니다. Windows SharePoint Services 3.0 기능은 Windows SharePoint Services 솔루션에 대한 사용자 지정 기능을 제공함으로써 개발자로서의 역량을 향상시킬 수 있는 전체 프레임워크를 제공합니다. 또한 관리자는 이러한 기능을 사용하여 패키지된 기능을 손쉽게 추가하거나 제거할 수 있습니다.
  • 향상된 이벤트    이벤트는 크게 다음 두 가지 범주에 속합니다.
    • 목록 이벤트    목록 항목 및 목록 열의 변경, 추가, 제거를 포함하는 핵심 이벤트(스키마 변경)
    • 단순한 사이트 이벤트    사이트 및 사이트 모음 삭제

이벤트는 "XYZing" 이름 형식으로 표시되는 동기식 "사전 발생" 이벤트 또는 "ABCed" 이름 형식으로 표시되는 비동기식 "사후 발생" 이벤트입니다.

  • 모바일 장치 액세스    Windows SharePoint Services 3.0에서는 모바일 장치에서 목록을 적절하게 렌더링할 수 있는 새로운 기능을 제공합니다. 사용자가 모바일 장치를 사용하여 Windows SharePoint Services 3.0 사이트를 탐색하면 장치에 가장 적합한 형식으로 사이트 콘텐츠 및 목록을 렌더링하는 특정 모바일 버전의 사이트로 해당 웹 브라우저가 리디렉션됩니다.

Office SharePoint Designer 2007: 뛰어난 SharePoint 응용 프로그램 작성 도구

Office SharePoint Designer 2007은 SharePoint 제품 및 기술(Windows SharePoint Services 3.0 및 Microsoft Office SharePoint Server 2007)을 사용하여 작성된 웹 사이트와 워크플로를 만들고 사용자 지정할 수 있도록 도와주기 위해 특별히 디자인되었으며, IT 전문가 및 솔루션 개발자가 조직의 민첩성과 비즈니스 프로세스 자동화를 개선할 수 있는 SharePoint 기반 응용 프로그램 및 워크플로 솔루션을 개발하는 데 필요한 도구를 제공합니다. Office SharePoint Designer 2007을 사용하면 기존의 프로시저 코딩 언어 또는 기술을 사용하지 않고도 다음 작업을 수행할 수 있습니다.

  • 여러 데이터 원본(예: XML 파일, Microsoft SQL Server 2005와 같은 SQL 데이터베이스 및 웹 서비스)에서 코드 없는 데이터 보기 및 양식 작성
  • 코드 없는 정교한 동적 워크플로 작성
  • 페이지 레이아웃 지정 및 디자인
  • 마스터 페이지 작성
  • CSS 편집 및 적용
  • 웹 파트 페이지 작성 및 웹 파트를 연결하여 정교한 비즈니스 응용 프로그램 생성

Visual Studio 2005

Visual Studio 2005는 응용 프로그램에 사용자 지정 코드를 추가하거나 사용자 지정 워크플로를 만드는 데 사용될 수 있습니다. Visual Studio 2005 Designer for Windows Workflow Foundation을 사용하여 워크플로 서식 파일 및 사용자 지정 워크플로 활동을 만들 수 있습니다. 또한 워크플로에 코드를 포함할 수 있을 뿐만 아니라 연결되어 있는 동안과 런타임 시 워크플로에서 워크플로 사용자와 통신하는 데 사용할 양식을 디자인할 수 있습니다.

Visual Studio 2005 Extensions for Windows SharePoint Services 3.0은 Visual Studio 2005를 사용하여 사용자 지정 SharePoint 응용 프로그램을 개발하는 데 필요한 도구 집합이 함께 제공되는 무료 다운로드 제품입니다. 여기에는 웹 파트용 Visual Studio 프로젝트 템플릿, 사이트 정의, 목록 정의 및 기존 SharePoint 사이트에서 사이트 정의 프로젝트를 생성하는 독립 실행형 유틸리티 프로그램인 SharePoint Solution Generator가 포함되어 있습니다. 이 프로그램을 사용하면 개발자가 Visual Studio 2005를 사용하여 코드를 만들기 전에 브라우저 및 Office SharePoint Designer 2007을 사용하여 사이트 콘텐츠를 사용자 지정할 수 있습니다.

Visual Studio 2005 Extensions for Windows SharePoint Services 3.0 (영어)을 다운로드하십시오.

Microsoft Office Access 2007

Microsoft Office Access 2007을 사용하면 특정 시나리오에 대한 데이터를 입력, 관리 및 보고할 수 있는 풍부한 사용자 환경을 제공하는 추적 응용 프로그램을 만들 수 있습니다. Access 서식 파일을 디자인하고 만들고 공유하는 방법에 대한 자세한 내용은 The Rational Guide To Microsoft Office Access 2007 Templates (영어)를 참고하십시오.

접근 방법 및 일반적인 기법

다음 섹션에 설명된 개발 방법의 맥락에서 응용 프로그램을 만드는 기본 단계는 다음과 같습니다.

  1. 사이트 정의가 필요한지, 사이트 서식 파일이 필요한지 결정합니다.
  2. Windows SharePoint Services 3.0 또는 Office SharePoint Server 2007에서 핵심 사이트를 만듭니다.
  3. Office SharePoint Designer 2007을 사용하여 사이트를 열고 필요한 사항을 수정합니다.
  4. 필요한 경우 Visual Studio 2005를 사용하여 추가 사용자 지정 코드, 사용자 지정 워크플로 등을 만듭니다.

맨 위로 이동 맨 위로 이동

응용 프로그램 아키텍처 및 개발 방법

모든 개발 프로젝트와 마찬가지로 Windows SharePoint Services 응용 프로그램을 구성하고 만들면 검증된 방법을 따를 경우 성공할 확률이 높습니다. 이 섹션에서는 Microsoft에서 다운로드 가능한 모든 응용 프로그램 서식 파일을 디자인하는 데 사용한 방법을 설명합니다. 접근 방법의 경우 특히 경험 많은 개발자라면 놀랄 만한 사항이 없지만 특정 SharePoint 환경을 고려하고 Microsoft에서 실제로 얻은 교훈을 반영하고 있다는 점에서 가치가 있다고 할 수 있습니다. 다시 말하지만, 이 섹션은 Windows SharePoint Services 3.0 및 Office SharePoint Designer 2007 사용 방법을 알고 있는 개발자가 아닌 독자에게 가장 유용합니다.

간단히 말해, 방법은 일반적으로 응용 프로그램에서 무엇을 수행해야 하는지, 응용 프로그램을 사용해야 하는 대상은 누구인지 등에 대한 생각에서부터 출발합니다. 그런 다음 응용 프로그램 데이터의 흐름, 데이터 저장 위치 및 여러 데이터 간의 관계를 좀 더 면밀히 고려해야 합니다. 데이터 모델 및 사용 시나리오에 대해 잘 알고 있으면 단계를 건너뛰어서 Windows SharePoint Services 3.0에서 응용 프로그램 초기 버전을 작성하는 것부터 시작하여 원하는 모양과 동작을 갖출 때까지 목록, 라이브러리, 워크플로 등을 반복해서 만든 다음 마지막으로 비즈니스 프로세스 요구 사항에 적합한 응용 프로그램을 실제로 만드는 데 필요한 수정 사항 및 사용자 지정 사항을 확인하고 작성합니다.

응용 프로그램에 대한 기능 요구 사항 정의

Windows SharePoint Services 솔루션을 만드는 데 매우 자세한 기술 사양 문서가 있어야 하는 것은 아니지만 응용 프로그램이 작동하는 데 필요한 것이 무엇인지는 잘 알고 있어야 합니다. 다소 모호하게 들릴 수도 있지만 관계자들이 응용 프로그램에서 원하는 것과 성공적인 비즈니스 프로세스를 위해 실제로 필요로 하는 것(일반적으로 거의 완성된 응용 프로그램을 보고 난 뒤에 깨닫는 경우가 많음)이 달라서 개발자들이 어려움을 겪은 경우가 많았습니다.

요약하자면, 처음부터 시작한다는 것은 기능 요구 사항을 수집하고 응용 프로그램이 작동하는 데 필요한 사항을 생각하는 것을 의미합니다. 예를 들어 프로젝트 추적 솔루션이 필요하다면 적어도 다음 사항을 확인해야 합니다.

  • 비즈니스 프로세스의 행위자/역할    프로젝트 소유자는 프로젝트를 만들고 작업, 문제점 등에 관한 정보를 유지 관리하며, 작업 소유자는 문제점과 작업을 할당받아서 자신의 작업을 완료하기 위해 상호 작용해야 합니다. 또한 관리자는 전체 프로젝트 상태에 대한 롤업 정보를 확인해야 합니다.
  • 여러 행위자에 대한 UI 요구 사항    프로젝트 소유자, 작업 소유자 및 관리자 모두 자신의 작업과 관련된 다른 보기가 필요합니다. 예를 들어 작업 소유자는 할당된 모든 문제점을 볼 수 있어야 하고 프로젝트 소유자는 기한이 지난 문제점을 모두 볼 수 있어야 합니다.
  • 비즈니스 프로세스 모양    프로젝트 소유자는 프로젝트, 중요 시점, 작업 및 예산 항목을 만든 다음 시간에 따른 진행 상황을 추적합니다. 프로젝트 소유자는 전체 정보에 자주 액세스하지만 작업 소유자는 할당받은 사항이 있는 경우에 데이터를 사용해야 합니다.
  • 데이터 위치     Windows SharePoint Services 데이터만 사용할지, 외부 데이터(데이터베이스, 웹 서비스, 비즈니스 데이터 카탈로그 등)에 액세스해야 하는지, 데이터를 Windows SharePoint Services 외부에 저장해야 하는지 등을 결정합니다.
  • 데이터 사이의 관계    논리적 계층 구조를 가지는 프로젝트 항목, 중요 시점 항목, 작업 및 문제점 항목이 있어야 합니다. 사용자도 데이터 요소이므로 예산, 기간 등과 같은 개념으로 보면 됩니다.

이러한 질문에 대한 답을 얻으려면 몇 가지 변화(여러 프로젝트를 만들거나 프로젝트에서 두세 명에게 작업을 할당하는 등)를 주면서 전체 비즈니스 프로세스를 몇 번 반복하여 화이트보드에 그림을 그려 보는 것이 가장 좋은 방법입니다. 이제 개념적으로 프로젝트 추적 응용 프로그램은 디자인이 매우 단순하고 요구 사항이 명확해졌습니다.

데이터 모델 유효성 검사

데이터 모델은 이미 논의한 적이 있지만 중요한 사항이기 때문에 더욱 자세한 분석이 필요합니다. 데이터 모델을 잘못 이해하면 나중에 전체 시스템을 변경해야 할 수도 있으므로 정확하게 이해하는 것이 매우 중요합니다.

비즈니스 프로세스에서 지정된 정보가 있는 위치를 설명하고 정의하는 메타 정보를 비롯하여 관련된 여러 정보가 있다는 것을 이해해야 합니다. 프로젝트 추적 응용 프로그램의 경우 프로젝트, 중요 시점, 작업 및 문제점이 있다는 것 외에 더 많은 것을 알아야 합니다. 예를 들어 프로젝트는 최상위 항목이고 여기에는 여러 중요 시점이 있을 수 있다는 것을 알아야 합니다. 프로젝트에는 작업 및 문제점도 여러 개가 있을 수 있습니다.

구성 요소 및 각 구성 요소 간의 관계 결정

지금까지 응용 프로그램의 기능에 대해 알아보았습니다. 다음 단계에서는 아키텍처를 계획하고 Windows SharePoint Services 3.0과 Office SharePoint Designer 2007의 여러 기술 및 기능을 사용하는 방법을 결정합니다. 모든 응용 프로그램은 다음을 비롯하여 위의 사용 도구 및 기술 섹션에 설명된 기능 조합을 포함하고 있습니다.

  • 목록 및 조회
  • 사용자 지정 목록 보기(Windows SharePoint Services UI를 통한 그룹화, 정렬, 필터링 등)
  • 워크플로
  • Office SharePoint Designer 2007의 사용자 지정 페이지 및 사용자 지정 데이터 보기

목록과 조회는 데이터 모델을 실제로 구현합니다. 따라서 프로젝트 추적 응용 프로그램의 경우 프로젝트, 중요 시점(프로젝트 목록에 대한 조회 필드 포함), 문제점(프로젝트 목록에 대한 조회 필드 포함) 등에 각기 다른 목록을 사용할 수 있습니다. 또한 사용자 지정 페이지 보기를 사용하면 기본 보기를 상태에 따라 그룹화하거나 상태에 따라 정렬하는 등의 설정을 할 수 있습니다.

여기에서도 화이트보드를 사용하여 응용 프로그램 기획안을 만들고 각 부분에 사용되는 기술을 확인하는 과정을 거치는 것이 좋습니다.

응용 프로그램 구성 요소 작성 시작

다시 말하지만, 지금 단계에서는 아주 세부적인 기술 사양 문서는 필요하지 않습니다. 기본적인 데이터 흐름 및 UI 요구 사항을 잘 이해하고 있다는 가정하에 작성을 시작해 보는 것이 더욱 중요합니다.

즉, Windows SharePoint Services 3.0의 기본 서식 파일을 사용하여 새 사이트를 만들거나 고유의 사이트 서식 파일을 미리 만들고 이를 기반으로 새 사이트 인스턴스를 작성해 봅니다. 실제로 많은 응용 프로그램에서 팀 사이트 또는 새 사이트 서식 파일을 기본 서식 파일로 사용하게 될 것입니다.

프로젝트 추적 응용 프로그램의 경우 가장 먼저 해야 할 일은 목록 4개(프로젝트 목록, 프로젝트 작업, 프로젝트 문제점 및 프로젝트 중요 시점)를 만드는 것입니다. 그런 다음 각 목록의 사용자 지정 열을 만듭니다. Windows SharePoint Services 3.0을 사용하면 선택, 숫자, 개인 또는 그룹조회(이 사이트에 정보가 이미 있음)를 포함하여 여러 가지 열 유형을 만들 수 있습니다. Microsoft 프로젝트 추적 응용 프로그램의 프로젝트 목록에서는 그림 2와 같이 많은 열을 사용합니다.

목록의 사용자 지정 열

그림 2: 목록의 사용자 지정 열

상태 열은 선택 열 유형을 기반으로 하고 예산 열은 숫자 열(통화 사용)을 기반으로 합니다.

프로젝트 중요 시점 목록에서 조회 열은 중요 시점을 상위-하위 관계로 프로젝트와 연결하는 데 사용됩니다. 그림 3과 같이 보려는 목록을 선택한 다음 해당 목록에서 열을 선택하면 되도록 조회 열을 만듭니다. 이 경우 Windows SharePoint Services에서 드롭다운을 자동으로 채웁니다.

다른 목록에서 정보를 가져오도록 조회 열 정의

그림 3: 다른 목록에서 정보를 가져오도록 조회 열 정의

이제 일부 응용 프로그램 논리를 사용하여 새 프로젝트 생성 시기를 구성원에게 알릴 간단한 워크플로를 작성할 수 있습니다. 또한 Windows SharePoint Services UI를 사용하여 목록에서 기본 설정에 따라 정렬하고 필터링할 수 있는 사용자 지정 보기를 만들기 시작할 수 있습니다.

응용 프로그램에 필요한 사용자 지정 사항 결정

Windows SharePoint Services UI만 사용하여 기능적으로 프로젝트 추적 응용 프로그램의 대부분이 구현되었습니다. 이제 작동하는 기능, Windows SharePoint Services UI를 사용하여 수행할 수 없는 작업 등을 대략적으로 알고 있습니다. Office SharePoint Designer 2007을 활용할 수 있는 일부 영역은 다음과 같습니다.

  • 워크플로의 응용 프로그램 논리    Windows SharePoint Services 3.0 및 Office SharePoint Server 2007에서 기본적으로 사용할 수 있는 워크플로에서는 작업을 할당할 대상 사용자 또는 그룹을 지정해야 합니다. 프로젝트 추적 응용 프로그램의 경우 문제점 또는 작업의 소유자 속성을 기준으로 워크플로 동작의 받는 사람을 동적으로 결정할 수 있는 방법이 필요합니다. 이러한 목적으로 Office SharePoint Designer 2007을 사용하여 코드 없는 동적 워크플로를 만들 수 있습니다.
  • 대시보드 및 관리자 보기    모든 프로젝트, 모든 예산 등의 통합 보기를 표시할 방법이 필요합니다. 코드 없는 데이터 보기를 만들어 대시보드에 대한 결합된 정보를 간편하게 보여 줄 수 있습니다.
  • 상위-하위 관계    작업을 만들 때 사용하기 편리한 몇 가지 문제점이 있습니다. 현재 페이지에 따라 특정 프로젝트에 대한 기본 작업을 만들어 두는 것이 좋습니다. Office SharePoint Designer 2007을 사용하여 항목 간의 연결을 자동화할 논리를 추가할 수 있습니다.

Microsoft에서는 40가지 응용 프로그램 서식 파일을 만드는 동안 똑같은 반복적인 접근 방법을 사용했으며 일관성 있는 최상의 방법, 의사 결정 트리 등을 사용하여 기본적으로 Windows SharePoint Services 3.0에서 수행해야 하는 작업과 Office SharePoint Designer 2007 및 다른 도구를 사용하여 수행해야 하는 작업에 대해 최적화할 수 있는 일관된 접근 방법을 개발했습니다. 이 문서의 다음 섹션에서는 이러한 접근 방법을 설명하고 많은 응용 프로그램 서식 파일의 예를 인용하여 5가지 "디자인 패턴"과 이를 구현하는 방법을 알아봅니다. 마찬가지로 이 문서의 나머지 부분에서는 방법에 대한 논의보다 훨씬 자세하고 심도 깊은 기술적 사항을 다룹니다.

맨 위로 이동 맨 위로 이동

공통 디자인 패턴 구현

이 섹션에서는 Microsoft에서 실제로 사용한 사례를 바탕으로 5가지 기본 디자인 패턴을 설명합니다. 따라서 코드 예제 및 단계별 지침을 포함하여 서식 파일에 대한 여러 가지 예제를 보여 줍니다. 이 섹션을 비롯하여 실제로 응용 프로그램 서식 파일을 작성하는 방법에 대한 나머지 섹션은 개발자에게 가장 유용할 수 있지만 개발자가 아닌 독자도 쉽게 이해할 수 있도록 구성되어 있습니다.

먼저 디자인 패턴은 다음과 같습니다.

  • 사용자 지정 양식    비즈니스 프로세스의 특정 시점에서 수행되는 동작에 대한 지침을 제공하는 사용자 지정 디자인을 만듭니다. 여기에는 수정할 수 있거나 지정된 단계에서 관련이 있는 속성을 표시하는 것만 포함됩니다.
  • 동작 흐름    해당 행위자에게 올바른 위치를 안내하는 잘 정의된 동작을 만듭니다. 이를 위해서는 동작 및 행위자에 따라 제어되는 이동 컨트롤이 필요합니다.
  • 상위-하위 관계    둘 이상의 SharePoint 목록 간의 조회 및 참조 관계를 만듭니다.
  • 워크플로    Office SharePoint Designer 2007을 사용하여 Windows Workflow Foundation 기반 비즈니스 프로세스를 만듭니다.
  • 대시보드    웹 파트를 사용하여 사이트 전체에 분산된 정보를 한 곳에서 볼 수 있는 통합 보기를 만듭니다.

사용자 지정 양식 사용

사용자 지정 양식은 Windows SharePoint Services에서 데이터 입력 사용자 인터페이스를 사용자 지정하는 데 중요한 역할을 합니다. 목록 데이터를 여러 가지 방법으로 제공하는 데 사용되는 사용자 지정 목록 보기와 마찬가지로 사용자 지정 양식은 사용자 입력을 수집하는 다양한 방법을 제공합니다. 비즈니스 요구 사항에 따라 여러 가지 이유에서 사용자 지정 양식을 만들어야 할 수 있습니다.

작업 기반 사용자 지정

비즈니스 프로세스에서 사용자는 여러 시점에 비즈니스 데이터에 영향을 주는 특정 동작을 수행해야 합니다. 뛰어난 비즈니스 프로세스 솔루션을 사용하면 프로세스의 각 단계에서 올바른 정보를 표시하여 작업을 쉽게 수행할 수 있습니다.

Windows SharePoint Services에는 기본적으로 별도의 목록이 있는 편집 양식이 포함되어 있습니다. 그러나 이 양식의 필드 집합은 비즈니스 프로세스의 특정 단계에 적합하지 않을 수 있으며 필요한 동작을 명확하게 구분할 수 있는 방식으로 정렬되지 않습니다. 사용자가 동작을 수행할 때 올바른 정보를 쉽게 편집하기 위해 각 동작에 대한 사용자 지정 양식을 만들 수 있습니다.

버그 추적 솔루션에서는 사용자 지정 편집 양식을 사용하므로 버그 추적 프로세스의 각 단계에서 입력해야 하는 버그 항목 정보를 명확히 알 수 있습니다. 버그 추적 프로세스의 각 동작에는 고유의 양식이 있습니다. 예를 들어 사용자가 버그를 해결하기로 선택하면 해결 방법 페이지(Resolve.aspx)로 이동합니다. 이 페이지에서 버그 해결 방법과 버그를 해결한 사람의 이름을 입력할 수 있습니다. 사용자는 해결 단추를 클릭하여 수정 사항을 제출합니다. 이러한 방식은 사용하기 쉽고 오류를 제거하거나 정보가 누락되지 않도록 하는 데 유용한 동작 흐름을 제거합니다.

Office SharePoint Designer 2007을 사용하면 비교적 쉽게 사용자 지정 편집 양식을 만들 수 있습니다.

  1. 기본 EditForm.aspx의 복사본을 만들고 이름을 바꿉니다.

 중요   기본 EditForm.aspx를 만들고 이름을 바꾸는 작업을 이 프로세스의 첫 번째 단계에서 수행하는 것이 중요합니다. 원본 EditForm.aspx 페이지에서 2단계를 수행하면 목록이 손상되고 다시 복구할 수 없게 됩니다.

  1. 새 편집 양식에서 목록 양식 웹 파트를 삭제합니다.
  2. 삽입 메뉴에서 SharePoint 컨트롤을 클릭한 다음 사용자 지정 목록 양식을 클릭하여 표시할 데이터가 포함된 데이터 보기를 삽입합니다.
  3. Insert 메서드를 사용하면 Office SharePoint Designer 2007에서 양식 저장 단추를 자동으로 만듭니다. 아래의 코드는 저장 단추에 대한 사용자 지정 HTML 예제를 보여 줍니다.
<input type="button" value="저장" name="btnSave" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirectsource')}"/>

이동

역할에 해당하는 페이지를 만들었으면 이제 사용자가 관련 대시보드에 빠르게 액세스할 수 있는 방법을 제공해야 합니다. 행사 계획 솔루션에서는 XSL 서식 파일을 사용하여 역할을 기준으로 현재 사용자의 올바른 대시보드에 대한 링크를 만드는 방법을 사용했습니다.

이 기술의 한 가지 제한 사항은 솔루션에 더 많은 역할을 추가한 경우 역할에 사용자 지정 대시보드를 제공하려면 추가 .aspx 페이지를 만들어야 한다는 것입니다.

이 기술에서는 사이트의 정보에 액세스할 수 있는 사용자를 제어하지 않습니다. 따라서 이론적으로는 모든 사용자가 솔루션의 모든 정보를 볼 수 있습니다.

사용자에게 역할 할당

역할을 만들고 사용자에게 할당하는 방법은 여러 가지가 있습니다. 또한 최상의 솔루션도 특정 응용 프로그램 또는 조직의 요구 사항에 따라 크게 다를 수 있습니다. Windows SharePoint Services에서는 기본 역할 할당 방법을 제공하지 않습니다. 경우에 따라 사이트를 배포한 후에 역할을 구축하거나 사용자가 필요에 따라 스스로 역할을 할당하는 것이 적합할 수도 있습니다.

행사 계획 솔루션에서 사용자는 자신에게 가장 적합한 역할에 등록할 수 있습니다. 이 작업은 행사 계획 작업 영역의 앞 페이지에서 사용자 지정 웹 파트를 통해 수행할 수 있습니다.

이 디자인 패턴의 다른 예제

사용자 지정 양식 사용에 대한 다른 서버 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 대출 라이브러리를 참고하십시오.

사이트 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 제조 프로세스 관리 (영어)를 참고하십시오.

동작 흐름 제어

비즈니스 프로세스 이후에 모델링된 실제 웹 응용 프로그램은 거의 단일 웹 페이지 또는 웹 파트에 포함되어 있지 않습니다. 대신 비즈니스 프로세스의 고유 단계를 담당하는 여러 구성 요소에 걸쳐 있습니다. 따라서 이러한 응용 프로그램 구성 요소 간에 원활하게 이동하는 것이 응용 프로그램 디자인의 핵심입니다. 한 가지 중요한 디자인 패턴은 특정 동작을 수행하면 사용자가 다음 페이지 또는 다음 동작으로 이동할 수 있도록 비즈니스 프로세스 동작을 이동에 바인딩하여 동작 흐름을 제어하는 것입니다.

동작 흐름을 제어하는 한 가지 방법으로 Windows SharePoint Services 3.0의 사용자 지정 동작 기능을 사용할 수 있습니다. 이 기능을 사용하면 라이브러리의 항목에 대한 포함된 컨텍스트 단추에 고유의 동작을 추가할 수 있습니다. 그러나 동작이 하드 코드되어야 하고 항목 이름 또는 다른 동적 값으로 동작을 매개 변수화할 수 없다는 제한이 있습니다.

또 다른 방법으로는 사용자 지정 SharePoint 목록을 만들고 "계산된 필드"를 사용하는 방법이 있는데, 이 방법을 사용하면 비즈니스 프로세스에 동적 동작을 포함할 수 있습니다. 버그 추적 응용 프로그램 서식 파일에서는 사용자 지정 버그 목록을 사용하여 버그 상태 및 정보를 추적합니다. Microsoft는 사용자가 버그에 대한 동작(예: "활성화" 또는 "해결")을 수행할 수 있도록 계산된 필드를 사용하여 목록 보기에 사용자 지정 링크를 포함할 수 있었습니다. 이러한 각 동작에는 버그를 활성화하거나 해결하는 데 필요한 작업을 수행할 수 있도록 해당 사용자 지정 양식(이전 디자인 패턴 참고)으로 사용자를 안내하는 이동 기능이 포함되어 있습니다.

계산된 필드는 사용자 지정 렌더링 패턴을 SharePoint 목록의 열로 적용할 수 있는 Windows SharePoint Services 3.0의 기능입니다. 비즈니스 프로세스 동작(버그 활성화)은 해당 비즈니스 동작을 수행할 수 있도록 사용자를 올바른 사용자 지정 양식으로 이동시켜 주는 열의 단추로 표시됩니다.

계산된 필드에서는 동작 표시 여부를 선택할 수 있는 조건부 논리를 지원합니다. 예를 들어 버그가 이미 활성화된 경우에는 활성화 단추가 표시되지 않습니다. 목록을 정의하는 스키마 XML 파일에 Field 요소를 추가하면 계산된 필드가 SharePoint 목록에 추가됩니다.

<Field ID="{EA1D0509-767B-4576-ABEF-FC66647037B9}" Name="ActivateBug" Group="_Hidden" Type="Computed" Sortable="FALSE" Filterable="FALSE" DisplayName="$Resources:tsa,Activate_DispName;" ClassInfo="Icon" AuthoringInfo="$Resources:core,Linked_Item;">
<FieldRefs>
  <FieldRef ID="{94f89715-e097-4e8b-ba79-ea02aa8b7adb}" Name="FileRef"/>
  <FieldRef ID="{3f277a5c-c7ae-4bbe-9d44-0456fb548f94}" Name="Status"/>
  <FieldRef Name="ID" />
</FieldRefs>
<DisplayPattern>
  <IfEqual>
    <Expr1>$Resources:core,Status_Active;</Expr1>
    <Expr2>
      <Field Name="Status"/>
    </Expr2>
    <Then>
    </Then>
    <Else>
      <HTML><![CDATA[<a href="]]></HTML>
      <HttpHost/>
      <UrlDirName>
        <HTML>/</HTML>
        <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/>
      </UrlDirName>
      <HTML><![CDATA[/Activate.aspx?ID=]]></HTML>
      <Column HTMLEncode="TRUE" Name="ID">
      </Column>
      <HTML><![CDATA[" onclick="GoToLink(this);return false;" target="_self">]]></HTML>
      <HTML><![CDATA[<img border="0" alt="]]></HTML>
      <HTML>$Resources:tsa,Activate_DispName;</HTML>
      <HTML><![CDATA[" src="]]></HTML>
      <HttpHost/>
      <UrlDirName>
        <HTML>/</HTML>
        <LookupColumn URLEncodeAsURL="TRUE" Name="FileRef"/>
      </UrlDirName>
      <HTML><![CDATA[/IMNBUSY.GIF">]]></HTML>
      <HTML><![CDATA[</a>]]></HTML>
    </Else>
  </IfEqual>
</DisplayPattern>
</Field>

이 코드는 "Activate" 계산된 필드에 대한 XML을 보여 줍니다. 이 필드에는 버그가 활성화되지 않은 경우 클릭 가능한 주황색 상태 링크가 표시됩니다. 사용자는 이 링크를 클릭하여 이 버그에 대한 활성화 양식으로 이동할 수 있습니다.

FieldRefs 요소에는 버그 목록의 상태 필드에 대한 필드 참조가 포함되어 있습니다. 이 참조를 사용하여 버그 상태를 기준으로 이 계산된 필드에 대한 사용자 지정 렌더링을 수행할 수 있습니다.

계산된 열의 DisplayPattern 필드에는 열에 대한 계산 및 렌더링 패턴이 포함되어 있습니다. 이 예제에서는 if-then-else 문을 사용하여 버그 상태의 활성 여부를 확인합니다. 버그가 활성 상태이면 Activate 필드에 아무 것도 표시하지 않고 버그가 활성 상태가 아니면 Else 요소의 HTML이 표시됩니다. 이 HTML 코드는 사용자가 클릭하여 버그를 활성화할 수 있는 이미지 링크입니다.

이 디자인 패턴의 다른 예제

동작 흐름 제어에 대한 다른 서버 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 대출 라이브러리를 참고하십시오.

사이트 관리 예제는 Microsoft Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 직원 활동 사이트 (영어)를 참고하십시오.

상위-하위 관계 사용

비즈니스 솔루션에서는 다른 데이터와의 관계를 고려하여 데이터를 보고 사용해야 하는 경우가 많습니다. 예를 들어 프로젝트 추적 응용 프로그램에서 살펴본 바와 같이 프로젝트, 작업, 문제점 및 중요 시점은 각각 고유의 SharePoint 목록에 저장됩니다. 각 작업, 문제점 및 중요 시점은 Project 목록의 항목과 연결됩니다. 따라서 각 목록과 다른 목록에 포함된 "하위" 정보 간의 관계를 유지 관리하는 것이 중요할 수 있습니다.

새 목록 항목과 기존 목록 항목 간의 기본 연결 만들기

사용자가 상위 목록 항목과 관련된 목록 항목을 만들려는 경우 일반적인 문제가 발생합니다. 여러 프로젝트 추적 솔루션에서 이 문제는 사용자가 기존 프로젝트와 관련된 작업을 만들려는 경우에 발생합니다. 기본적으로 Windows SharePoint Services 3.0에는 새로 만드는 목록 항목과 기존 목록 항목 간의 관계를 자동으로 생성하는 메커니즘이 없습니다.

여러 프로젝트 추적 응용 프로그램 서식 파일의 프로젝트 정보 페이지(DispForm.aspx)에서 사용자는 해당 프로젝트 아래에 새 작업을 만들 수 있습니다. 새 작업 만들기 페이지(NewForm.aspx)에는 해당 작업에 대한 상위 프로젝트를 선택할 수 있는 드롭다운 메뉴가 있습니다. 이 상위 프로젝트에 대한 드롭다운을 사용자가 이동하기 이전 페이지에 기본적으로 표시하기 위해 상위 프로젝트의 ID를 쿼리 문자열의 NewForm.aspx로 전달합니다. 그런 다음 JavaScript를 사용하여 Project ID 값을 구문 분석하고 드롭다운 상자에서 관련 프로젝트를 선택합니다.

<a href="../ProjectTasks/NewForm.aspx?ProjectID={$ProjectID}" onclick="javascript:this.href = unescapeProperly(escape(this.href)); GoToLink(this); return false;" target="_self">새 작업 만들기...</a>

이 코드는 DispForm.aspx에서의 링크를 보여 줍니다. ProjectID가 쿼리 문자열에 포함되어 있는 것을 볼 수 있습니다.

NewForm.aspx가 로드되면 JavaScript가 쿼리 문자열에서 Project ID의 구문을 분석하여 올바른 프로젝트가 선택되도록 프로젝트 드롭다운을 변경합니다.

JavaScript는 NewForm.aspx의 콘텐츠 편집기 웹 파트에 포함되어 있습니다. 이 웹 파트는 페이지가 편집 모드에 있지 않은 경우 페이지에 표시되지 않도록 크롬이 없는 것으로 설정됩니다. JavaScript는 콘텐츠 편집기 영역 내에 배치됩니다.

<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("fillDefaultValues");
function fillDefaultValues() {
    var qs = location.search.substring(1, location.search.length);
    var args = qs.split("&");
    var vals = new Object();
    for (var i=0; i < args.length; i++) {
    var nameVal = args[i].split("=");
    var temp = unescape(nameVal[1]).split('+');
    nameVal[1] = temp.join(' ');
    vals[nameVal[0]] = nameVal[1];
  }  
  setLookupFromFieldName("Project", vals["ProjectID"]);
  setLookupFromFieldName("Milestone", vals["MilestoneID"]);
}
function setLookupFromFieldName(fieldName, value) {
  if (value == undefined) return;
  var theSelect = getTagFromIdentifierAndTitle("select","Lookup",fieldName);
  if (theSelect == null) {
    var theInput = getTagFromIdentifierAndTitle("input","",fieldName);
    ShowDropdown(theInput.id);
    var opt=document.getElementById(theInput.opt);
    setSelectedOption(opt, value);
    OptLoseFocus(opt);
  } else {
    setSelectedOption(theSelect, value);
  }
}
function setSelectedOption(select, value) {
  var opts = select.options;
  var l = opts.length;
  if (select == null) return;
  for (var i=0; i < l; i++) {
    if (opts[i].value == value) {
      select.selectedIndex = i;
      return true;
    }
  }
  return false;
}
function getTagFromIdentifierAndTitle(tagName, identifier, title) {
  var len = identifier.length;
  var tags = document.getElementsByTagName(tagName);
  for (var i=0; i < tags.length; i++) {
    var tempString = tags[i].id;
    if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
      return tags[i];
    }
  }
  return null;
}
</script>

_spBodyOnLoadFunctionNames.push 명령은 로드 시 실행할 스크립트 목록에 fillDefaultValues 함수를 추가합니다.

fillDefaultValues 함수는 쿼리 문자열에서 Project ID 또는 Milestone ID을 수집하여 setSelectedOptions로 전달합니다. 그러면 setSelectedOptions에서 드롭다운 메뉴 값을 상위 프로젝트의 ID로 설정합니다.

이 디자인 패턴의 다른 예제

상위-하위 보기 사용에 대한 다른 서버 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 재고 관리를 참고하십시오.

사이트 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 새 저장소 열기 (영어)를 참고하십시오.

워크플로 사용

Windows SharePoint Services 3.0에서는 응용 프로그램에 워크플로 논리를 추가할 수 있도록 Windows Workflow Foundation을 호스팅합니다. Office SharePoint Designer 2007에는 기본 워크플로를 사용자 지정하고 조건부 논리를 추가할 수 있는 강력한 규칙 기반 디자인 도구가 있습니다. 또한 Visual Studio 2005 Extensions for Windows Workflow Foundation이 포함된 Visual Studio 2005를 사용하면 코드를 활용하여 보다 복잡하고 사용자 지정된 워크플로를 만들 수 있습니다. 그러나 어떤 경우에든 워크플로를 사용할 시기와 방법에 대해 다음과 같이 몇 가지 고려할 사항이 있습니다.

워크플로 사용에 대한 고려 사항

워크플로는 비동기 작업에 유용한 솔루션입니다. 대출 라이브러리 솔루션에서 워크플로는 사용자가 새 라이브러리 자산을 제안할 때 사용됩니다. 여기에서 워크플로가 유용한 방법인 한 가지 이유는 제안자와 승인자 간의 프로세스가 동기적이지 않다는 것입니다.

워크플로는 예약된 이벤트에도 적합합니다. 대출 라이브러리 솔루션에서 워크플로는 자산의 체크 아웃 및 기한에 대한 미리 알림을 처리하는 데 사용됩니다. 항목이 체크 아웃되고 나면 항목의 기한이 만료될 때 워크플로에서 기한 미리 알림을 자동으로 보냅니다.

서버의 복잡한 프로그래밍 작업을 단순화하는 수단으로 워크플로를 사용할 수도 있습니다. Windows SharePoint Services 3.0 응용 프로그램 서식 파일:출퇴근 기록 카드 관리 (영어)를 한 가지 예로 들 수 있습니다. 이 응용 프로그램에서는 타임스탬프 기록 간의 시간 차이를 계산하여 특정 작업에 대한 직원 근무 시간을 추적합니다. 일반적으로 타임스탬프를 관리하려면 서버 또는 데이터베이스의 두 가지 작업에 로그인해야 하며 여기에는 개발 노력이 필요합니다. 그러니 이 응용 프로그램은 한 가지 단순한 워크플로 단계를 기반으로 합니다. 사용자가 출근 기록을 하면 워크플로에서 Time Log 목록에 항목을 만들고 Start Time 값을 현재 타임스탬프로 설정합니다. 마찬가지로 퇴근 기록을 하면 워크플로에서 같은 목록의 연결된 행을 업데이트하고 End Time 값을 설정합니다. 사용자의 근무 시간은 End Time 값과 Start Time 값의 차이일 뿐입니다. 이 차이는 Hours라는 계산된 열에 반영됩니다.

워크플로는 비동기식으로 실행됩니다. 다음 페이지로 이동하기 전에 동작 결과를 즉시 완료해야 하는 솔루션을 만드는 경우에는 워크플로가 적합한 솔루션이 아닐 수 있습니다. 예를 들어 버그 추적 솔루션에서 워크플로는 버그 활성화 및 해결을 처리하는 데 사용되지 않습니다. 버그 상태 변경 내용이 사용자가 버그에 대한 작업을 수행한 후에 사용자 인터페이스에 즉시 반영되어야 하기 때문입니다.

Office SharePoint Designer 2007을 사용하여 사용자 지정 워크플로 작성

Office SharePoint Designer 2007을 사용하면 코드 없이 워크플로를 만들 수 있습니다. 사이트가 열려 있는 상태에서 파일 메뉴를 클릭하고 새로 만들기를 가리킨 다음 워크플로를 클릭하고 워크플로 디자이너를 사용하기만 하면 됩니다. 워크플로 디자이너를 사용하면 정교한 규칙 및 동작을 만들 수 있습니다. 또한 워크플로 디자이너는 SharePoint 목록 및 라이브러리에 통합되므로 목록 및 라이브러리 항목에서 직접 필드 및 값을 사용하여 워크플로 논리를 실행할 수 있습니다.

예를 들어 새 작업 또는 문제점이 생성될 때마다 작업 소유자에게 전자 메일을 보내는 워크플로 동작을 만든다고 가정해 봅니다. 프로젝트 추적 서식 파일에서 소유자는 SharePoint 목록의 사용자 지정 열이므로 워크플로에서 이 열의 값을 사용한 다음 실제 전자 메일 주소를 런타임에서 동적으로 확인할 수 있습니다.

Office SharePoint Designer 2007의 워크플로에 대한 자세한 내용은 SharePoint Designer 2007 도움말 및 사용 방법을 참고하십시오.

이 디자인 패턴의 다른 예제

워크플로 사용에 대한 다른 서버 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 지원 자격 및 면접 관리를 참고하십시오.

사이트 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 임상 시험 관리 (영어)를 참고하십시오.

대시보드 사용

Windows SharePoint Services 3.0 웹 파트 인프라의 많은 이점 중에는 SharePoint 사이트 또는 외부에 분산된 정보를 대시보드라는 하나의 요약 페이지에 표시할 수 있는 기능이 있습니다. 공유 환경에서 한 가지 공통적인 비즈니스 요구 사항은 역할 또는 사용자의 관련 정보에 대한 보기를 제공할 수 있는 규칙 기반 대시보드입니다. 대시보드에서는 웹 파트 필터링 및 대상 그룹 지정과 같은 강력한 기본 제공 기능을 활용하여 페이지를 보고 있는 사용자를 기준으로 정보를 표시할 수 있습니다.

또한 이러한 기능을 확장하여 역할마다 별도의 페이지를 만들어 제공된 정보뿐만 아니라 페이지의 레이아웃 및 다른 부분도 사용자 지정할 수 있습니다. 이와 같이 사용자 지정된 규칙 기반 페이지는 응용 프로그램 서식 파일에서 광범위하게 사용되며 필터링 및 대상 그룹 지정 기능도 당연히 포함할 수 있습니다.

예를 들어 대출 라이브러리 응용 프로그램에서는 규칙 기반 대시보드를 사용하여 사용자 역할에 따라 사용자와 관련성이 가장 많은 정보를 제공합니다. 사이트의 기본 페이지에는 두 가지 페이지, 즉 라이브러리 사용자를 대상으로 하는 페이지(기본 설정 페이지)와 라이브러리 관리자를 대상으로 하는 페이지가 있습니다.

마찬가지로 지원 센터 응용 프로그램에는 기본 페이지에서 사용할 수 있는 세 가지 대시보드 보기(서비스 담당자 홈, 지식 관리자 홈 및 서비스 담당자 관리자 홈)가 있습니다. 사용자는 자신의 역할과 가장 관련성 있는 하이퍼링크를 선택합니다. 대시보드에 표시된 웹 파트 보기에서는 사용자와의 관련성에 따라 표시할 콘텐츠를 필터링할 수 있습니다. 이 기능을 사용하려면 보기에 필터를 적용하면 됩니다. 다음 단계에서는 기존 목록 보기에 필터를 적용하는 방법을 보여 줍니다.

  1. 브라우저에서 목록 보기 페이지로 이동합니다.
  2. 목록 도구 모음에서 드롭다운 컨트롤을 찾아서 수정할 보기를 선택(이미 선택되어 있지 않은 경우)합니다.
  3. 같은 드롭다운 컨트롤로 다시 이동하여 이 보기 수정을 선택합니다.
  4. 보기 편집 페이지에서 필터 섹션으로 스크롤하여 필터 값을 다음과 같이 설정합니다.

만든 사람 열이 [나]와 같거나 고객 열이 [나]와 같으면 항목 표시

  1. 확인을 클릭합니다.

지원 센터 응용 프로그램의 서비스 담당자 관리자 홈 페이지(그림 4)에는 상태 및 우선 순위를 기준으로 서비스 요청을 막대 그래프 형식으로 요약해 놓은 두 가지 대시보드 웹 파트가 있습니다.

대시보드 페이지

그림 4: 대시보드 페이지

이것은 지원 센터 솔루션 사이트의 일부인 서비스 요청이라는 목록에 포함된 데이터를 나타내는 데이터 보기 웹 파트입니다. 이러한 웹 파트가 생성된 방법을 이해하려면 Office SharePoint Designer 2007에서 사이트를 열고 이러한 웹 파트가 포함된 HelpDeskManager.aspx 페이지를 로드하는 것이 가장 좋습니다. 분할 보기로 페이지를 보면 웹 파트에 지정된 코드에 XLST, HTML 및 CSS 태그 언어가 혼합되어 있는 것을 알 수 있습니다.

이제 웹 파트의 막대 그래프를 만든 방법에 대해 알아보겠습니다. 그러기 위해 전체 서비스 요청 우선 순위 웹 파트를 하나의 예로 들어 보겠습니다. Office SharePoint Designer 2007의 삽입 메뉴에서 SharePoint 컨트롤을 클릭한 다음 데이터 보기를 클릭하여 데이터 원본 라이브러리 작업창을 엽니다. 이 작업창에서 사이트에 이미 있는 목록을 포함하여 현재 사이트에 액세스할 수 있는 여러 가지 데이터 원본을 찾아볼 수 있습니다. 이 예제에서는 SharePoint 목록이라는 섹션을 확장하고 서비스 요청 목록 이름을 클릭하여 이 목록이 데이터 원본임을 나타냅니다. 상황에 맞는 팝업 메뉴에서 데이터 표시를 클릭합니다. 서비스 요청 목록에 저장된 모든 필드와 예제 데이터를 보여 주는 데이터 원본 정보라는 새 패널이 작업창에서 열립니다. 이 패널에서 웹 파트에 표시할 필드 이름(이 예제에서는 우선 순위 필드)을 선택한 다음 단일 항목 보기로 선택한 필드 삽입을 선택합니다(그림 5 참고).

이 작업의 목적은 우선 순위를 기준으로 그룹화된 모든 작업의 요약된 개수를 보여 주는 것입니다. 즉, 우선 순위 필드에서 사용 가능한 옵션을 한 번만 나열하면 목록 옆에 각 우선 순위 값의 개수가 표시되어야 합니다. 따라서 사용자 지정의 시작 단계로 우선 순위 값을 단일 항목 보기로 표시할 수 있습니다. 그렇지 않고 복수 항목 보기를 선택하면 목록의 모든 행이 표시됩니다.

SharePoint Designer에서 대시보드 페이지 만들기

그림 5: Office SharePoint Designer 2007에서 대시보드 페이지 만들기

페이지의 커서 위치에 데이터 보기 웹 파트가 삽입됩니다. 그러나 웹 파트에는 우선 순위를 기준으로 서비스 요청을 요약하는 막대 그래프가 아니라 단순히 하나의 데이터 행만 표시됩니다. 그러나 HTML 및 XSL 코드를 사용하여 웹 파트를 렌더링할 수 있기 때문에 요구 사항에 따라 코드를 자유롭게 사용자 지정할 수 있습니다. 다음 섹션에서는 이 웹 파트를 막대 그래프로 변환하는 사용자 지정의 몇 가지 중요한 사항을 중점적으로 알아봅니다.

예제의 목록 데이터 원본에는 (1) 높음, (2) 보통 및 (3) 낮음의 세 가지 가능한 우선 순위 값이 있음을 알고 있습니다. 따라서 다음과 같이 각 값에 대한 XLST 변수를 선언합니다.

<xsl:variable name="높음" select="count(/dsQueryResponse/Rows/Row[normalize-space(@우선 순위) = '(1) 높음'])" />
<xsl:variable name="보통" select="count(/dsQueryResponse/Rows/Row[normalize-space(@우선 순위) = '(2) 보통'])" />
<xsl:variable name="낮음" select="count(/dsQueryResponse/Rows/Row[normalize-space(@우선 순위) = '(3) 낮음'])" />
<xsl:variable name="모든 작업" select="count(/dsQueryResponse/Rows/Row)" />

여기에서 XSL 매개 변수 @우선 순위는 데이터 원본 필드 이름을 나타냅니다. 세 가지 우선 순위 값에 대한 그래프 작성 코드는 서로 비슷하기 때문에 첫 번째 우선 순위 값에 대한 그래프 작성만 알아봅니다. 백분율 값을 가져오기 위해 새 변수 percetHigh를 정의하여 우선 순위가 높은 요청의 백분율 값을 계산합니다.

<xsl:variable name="percentHigh" select="$High div $AllTasks" />

실제 막대를 만드는 코드는 아래와 같은 XSL 서식 파일입니다.

<xsl:template name="ChartRow">
  <xsl:param name="RowName"></xsl:param>
  <xsl:param name="Value"></xsl:param>
  <xsl:param name="PercentValue"></xsl:param>
  <tr>
    <td class="ms-formbody" width="125px" >
      <xsl:value-of select="$RowName"/>: <xsl:value-of select="$Value" />
      <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">
        &amp;nbsp;
        </xsl:text>(
      <xsl:call-template name="percentformat">
        <xsl:with-param name="percent" select="$PercentValue"/>
      </xsl:call-template>)
    </td>
    <td>
      <table width="100%" >
        <tr>
          <td width="{round($PercentValue*100)+1}%" height="15px" class="ms-selected"><xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text>
          </td>
          <td width="100%" >
            <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes">&amp;nbsp;</xsl:text>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</xsl:template>

막대 자체는 두 개의 셀이 있는 테이블입니다. 그래프의 막대 너비를 나타내는 첫째 셀의 너비는 PercentValue 변수에 의해 결정되며 다음과 같은 코드로 표시됩니다.

td width="{round($PercentValue*100)+1}%"

또한 이 셀에는 ms-selected라는 CSS 스타일 클래스가 적용되어 있습니다. 이 스타일 클래스는 core.css 스타일시트 파일에 다음과 같이 정의됩니다.

.ms-selected {
   background-position:left top;
   color:#000000;
   background-image:url("/_layouts/images/filedialogselected.gif");
   background-color:#FFE499;
   border-top:1px solid #FFE499;
   border-bottom:1px solid #FFE499;
   background-repeat:repeat-x; }

배경 이미지 filedialogselected.gif는 셀, 즉 막대를 노란색으로 표시합니다.

이 디자인 패턴의 다른 예제

대시보드 사용에 대한 다른 서버 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 콜 센터를 참고하십시오.

사이트 관리 예제는 Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 업무 성과 보고 (영어)를 참고하십시오.

맨 위로 이동 맨 위로 이동

서식 파일 작성

Windows SharePoint Services의 응용 프로그램 서식 파일은 사이트 정의 및 사이트 서식 파일이라는 두 가지 유형으로 제공됩니다. 40가지 응용 프로그램 서식 파일은 이 두 가지 유형이 혼합된 것입니다. 두 유형 모두 새 SharePoint 사이트 페이지에서 선택하여 사용할 수 있으며 최종 사용자의 입장에서 보면 작동 방식이 매우 유사합니다. 그러나 이러한 서식 파일을 만들고 사이트 만들기 양식에서 사용할 수 있도록 하기 위한 방법은 서로 완전히 다릅니다.

사이트 정의

가장 기본적인 의미에서 사이트 정의는 사이트의 구성 방법과 사이트의 기본 응용 프로그램에서 수행할 작업을 알려 주는 XML 파일, 어셈블리 및 .aspx 페이지 모음입니다. 기본 XML 및 .aspx 파일은 파일 시스템을 통해 액세스할 수 있으므로 손쉽게 복제하고 수정하여 새 사이트 정의를 다시 만들 수 있습니다. 따라서 사이트 정의는 아주 간편하게 사용자 지정할 수 있습니다.

사이트 정의를 통해 사이트가 구축(생성)된 후에도 파일 시스템의 사이트 정의 파일에 대한 변경 내용을 구축된 사이트에 적용할 수 있습니다. 그러나 사이트가 구축된 이후의 사이트 정의 파일 변경은 Microsoft에서 지원하지 않습니다. Office SharePoint Designer 2007과 같은 외부 편집기를 사용하여 구축된 사이트를 수정하면 파일 시스템에 있는 사이트 정의와의 연결이 손실됩니다. 이 경우 페이지는 Windows SharePoint Services 데이터베이스 시스템에 저장되며 “사용자 지정된” 페이지 또는 “고스트되지 않은” 페이지가 됩니다.

기존 사이트 정의를 사용자 지정해야 하는 경우 기존 사이트 정의를 수정하는 대신 사이트 정의 복사본을 만들고 이름을 바꾸는 방식으로 시작할 수 있습니다. 사이트가 이미 구축된 이후에 기존 사이트 정의를 변경하려면 사이트 정의 업그레이드 솔루션 패키지를 만들어서 배포해야 합니다. 이 패키지를 만들고 배포하는 방법에 대한 자세한 내용은 Windows SharePoint Services 3.0 SDK (영어)의 해당 문서를 참고하십시오.

사이트 서식 파일

사이트 서식 파일은 단일 파일로 압축된 SharePoint 사이트로, 압축을 풀어 유사한 구조와 콘텐츠를 가진 새 사이트를 만드는 데 사용할 수 있습니다. 이는 사이트 서식 파일을 만들려면 기존 SharePoint 사이트를 기반으로 해야 함을 의미합니다. 페이지 레이아웃, 스타일시트, 이미지, 마스터 페이지, 문서, 목록, 목록 콘텐츠 등 사이트에 대한 모든 사용자 지정을 서식 파일로 캡처할 수 있습니다.

기존 사이트를 서식 파일로 캡처하는 프로세스는 사이트 관리 작업(사이트 설정) 또는 Office SharePoint Designer 2007에서 수행하는 것이 좋습니다. 새로 만든 사이트 서식 파일은 현재 사이트 모음의 사이트 서식 파일 갤러리에 저장되며, 파일 확장명은 .stp입니다. 사이트 서식 파일 갤러리에서 이 파일을 다운로드하여 다른 사이트 모음 또는 다른 서버 환경으로 마이그레이션할 수 있습니다. 사이트 서식 파일을 만들고 사용하는 방법에 대해서는 이 섹션의 뒷부분에서 자세히 설명합니다.

사이트 정의와 사이트 서식 파일 비교

방금 살펴본 바와 같이 사이트 서식 파일은 실제로 사이트 정의에서 파생됩니다. 새 사이트 정의를 만들지, 아니면 새 사이트 서식 파일을 만들지 결정할 때 고려할 사항은 다음과 같습니다.

  • 응용 프로그램의 복잡성    기존 사이트의 레이아웃을 변경하거나 이미지를 조정하는 등 대부분의 요구 사항이 사이트의 외관과 관련된 것이라면 사이트 서식 파일을 만드는 것이 좋고, 새 웹 파트 정의를 추가하거나 사용자 지정 코드 또는 계산된 필드를 사용하려면 사용자 지정 사이트 정의를 만들어야 합니다.
  • 서버에서의 액세스 수준    전체 웹 서버에 액세스할 수 있는지, 아니면 특정 사이트 모음에만 액세스할 수 있는지에 따라 결정합니다. 사이트 정의를 만들고 배포하려면 서버의 파일 시스템에 액세스해야 합니다. 이러한 액세스 권한이 없으면 액세스해야 하는 사이트 모음 수준에서 사이트 서식 파일을 만드는 데 제한이 있습니다. 이 액세스 요구 사항은 사이트 관리자에게는 적용되지 않습니다. 사이트가 배포되고 나면 새 사이트를 만들 권한이 있는 모든 사용자가 두 응용 프로그램 서식 파일 유형 중 하나에 액세스할 수 있습니다.
  • 이후의 업데이트/변경 빈도    사이트 서식 파일을 변경한 경우 해당 사이트 서식 파일에서 이미 만들어진 사이트는 영향을 받지 않고 이후에 만들어진 사이트만 영향을 받습니다. 그러나 사이트 정의 업그레이드 솔루션 패키지를 배포하면 해당 사이트 서식 파일로 만든 모든 사이트에 변경 내용이 적용됩니다.

사이트 서식 파일 및 사이트 정의 만들기에 대한 지침

사이트 서식 파일 및 사이트 정의 만들기에는 다양한 복잡성이 포함되어 있습니다. 기본적인 방법은 다음 섹션에서 설명합니다.

사이트 서식 파일 만들기

앞에서 살펴본 바와 같이 사이트 서식 파일은 다시 사용할 수 있도록 압축된 실제 SharePoint 사이트입니다. 이 압축 파일은 사이트 모음 수준의 사이트 서식 파일 갤러리에 있습니다. 갤러리의 사이트 서식 파일은 사이트 모음의 모든 하위 사이트 수준에서 새 사이트를 만드는 데 사용될 수 있습니다. 다음 단계에서는 기존 사이트에서 새 사이트 서식 파일을 만드는 과정을 안내합니다.

  1. Office SharePoint Designer 2007에서 기존 사이트를 열고 사이트의 레이아웃 및 콘텐츠가 요구 사항을 만족하는지 확인합니다.
  2. 파일 메뉴에서 내보내기를 가리킨 다음 SharePoint 사이트 서식 파일을 클릭합니다. 사이트 설정 웹 페이지로 이동합니다.
  3. 서식 파일의 파일 이름, 제목 및 설명을 입력합니다.
  4. 서식 파일에 목록 및 문서 라이브러리의 데이터를 포함하려면 콘텐츠 포함 옵션을 선택합니다. 워크플로를 포함하려는 경우에도 이 옵션을 선택해야 합니다. 워크플로는 실제로 문서 라이브러리에 저장된 콘텐츠이기 때문입니다.
  5. 확인을 클릭합니다. 사이트에서 확장명이 .stp인 서식 파일이 만들어지고 상위 사이트의 사이트 서식 파일 갤러리에 해당 파일이 저장됩니다.

사이트 서식 파일 갤러리에서 서식 파일 이름을 클릭하여 .stp 파일을 로컬 디스크에 다운로드할 수 있습니다. 또한 해당 디스크에서 다른 사이트 서식 파일 갤러리로 파일을 업로드할 수 있습니다.

사이트 정의 만들기

사이트 서식 파일과 달리 사이트 정의는 파일 시스템에 저장됩니다. 각 사이트 정의는 서버의 고유 폴더에 있으며 위치는 다음과 같습니다.

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\TEMPLATE\SiteTemplates

사이트 서식 파일 폴더에는 .aspx 및 .html 파일과 같은 여러 가지 사이트 요소를 비롯하여 이미지 및 JavaScript 파일과 같은 관련 리소스가 들어 있습니다. ONET.XML은 사이트 정의에 대한 여러 구성 및 모듈을 지정하는 핵심 사이트 정의 파일로, “XML”이라는 하위 디렉터리에 저장됩니다.

사이트 정의는 Windows SharePoint Services에 등록되며 WEBTEMP XML 파일을 통해 사용할 수 있습니다. 모든 WEBTEMP XML 파일은 다음 위치에 있습니다.

%CommonProgramFiles%\ \Microsoft Shared\Web server extensions\12\TEMPLATE\<LCID>\XML

여기에서 <LCID>는 1033과 같은 위치 ID입니다. XML 파일의 실제 이름에는 "WEBTEMP"가 앞에 옵니다(예: WEBTEMPBT.XML).

기본적으로 새 사이트 정의를 만드는 과정은 (1) 사이트 정의 폴더 설정, (2) Windows SharePoint Services에 사이트 정의를 등록할 WEBTEMP XML 파일 만들기의 크게 두 가지 단계로 구성됩니다. 첫 번째 단계에서는 기본 사이트 정의 폴더를 복제하고 비즈니스 요구 사항에 맞게 해당 콘텐츠를 변경합니다. ONET.XML 파일에는 탐색 모음, 문서 서식 파일, 목록 서식 파일 등 사이트 페이지의 여러 부분이 구축되는 방식을 지정하는 요소가 포함되어 있습니다. Configurations 요소는 사이트 정의가 인스턴스화되면 기본적으로 생성되는 목록 및 모듈을 지정합니다. 다음은 버그 추적 사이트 정의의 ONET.XML에서 발췌한 것으로, Configurations 요소의 일부를 보여 줍니다.

<Configurations>
    <Configuration ID="0" Name="Default">
        <SiteFeatures>
          <!-- BasicWebParts Feature -->
          <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />
          <!-- Three-state Workflow Feature -->
          <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" />
          <!-- TSA Fields and Content Types -->
          <Feature ID="75A0FEA7-CD50-401e-AF0E-782F3662A299" />
        </SiteFeatures>
        <WebFeatures>
          <!-- TeamCollab Feature -->
          <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />
          <!-- MobilityRedirect -->
          <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />
          <!-- Bug Tracking Categories List -->
          <Feature ID="75A0FEA7-42E8-4527-8313-F63C4C49A7E6" />
          <!-- Bug Tracking Bugs List -->
          <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8E" />
          <!-- Bug Tracking Bugs List Instance -->
          <Feature ID="75A0FEA7-2D1E-451a-B445-16BC346D7D8F" />
          ...
          ...
          <!-- Post Provisioning Event Handler -->
          <Feature ID="75A0FEA7-B0EF-434e-90D6-CE997D970564">
            <Properties>
              <Property Key="ZonedWebPartsUrlList" Value="$Resources:core,lists_Folder;/Bugs/Resolve.aspx,$Resources:core,lists_Folder;/Bugs/Activate.aspx,$Resources:core,lists_Folder;/Bugs/Close.aspx"/>
            </Properties>
          </Feature>
        </WebFeatures>
    </Configuration>
</Configurations>

이 사이트 정의에서는 버그 목록, 버그 범주 목록, 모바일 리디렉션 등의 많은 기능을 사용합니다. 이러한 기능은 해당 GUID와 함께 SiteFeaturesWebFeatures 요소 아래에 나열되어 있습니다. GUID는 다음 폴더에 있는 해당 Feature.XML 파일의 Feature 요소에 포함되어 있습니다.

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\TEMPLATE\FEATURES

ONET.XML 사용자 지정에 대한 자세한 내용은 Windows SharePoint Services 3.0 SDK (영어)를 참고하십시오.

사용자 지정 사이트 정의를 만드는 두 번째 단계는 다음 폴더에 WEBTEMP*.XML 파일을 만드는 것입니다.

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\TEMPLATE\<LCID>\XML

이 파일의 Templates 요소는 사이트 정의에서 만든 사이트를 인스턴스화하는 데 사용할 수 있는 구성을 지정합니다. 다음은 버그 추적 사이트 정의에서 사용되는 구성 파일에서 발췌한 것으로, WEBTEMPbt.XML 구성 파일의 형식을 보여 줍니다.

<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
  <Template Name="BT" ID="75801">
    <Configuration ID="0" Title="Bug Database" Hidden="FALSE" 
                   ImageUrl="/_layouts/images/stsprev.png" 
                   Description="A site for teams to track bugs in their shared software projects." 
                   DisplayCategory="Application Templates" >
     </Configuration>
  </Template>
</Templates>

위 서식 파일 노드의 Name 특성은 파일 이름 WEBTEMP*.XML에서 “*”와 일치해야 합니다. 또한 Configuration 요소의 DisplayCategory 특성은 사이트 만들기 웹 페이지의 서식 파일 선택 섹션에서 구성이 표시되는 탭을 나타냅니다. 이 특성에 고유 값을 입력하여 사용자 고유의 탭을 만들 수 있습니다.

사이트 정의 파일을 만들고 파일 시스템의 해당 폴더에 배치한 다음에는 IIS 서비스를 다시 시작합니다. 그러면 Windows SharePoint Services에서 새 SharePoint 사이트 페이지의 서식 파일 선택 섹션에 선택 항목으로 새 사이트가 정의가 표시됩니다. 사이트 정의 파일을 다른 SharePoint 환경으로 마이그레이션하거나 같은 환경에 다시 배포하기 쉽도록 단일 솔루션 파일로 압축할 수도 있습니다. 솔루션 파일은 확장명이 .WSP(웹 솔루션 패키지의 경우)인 캐비닛 파일로, 여기에는 사이트 정의에서 사용되는 기능, 웹 파트, 어셈블리, 클래스 리소스 등이 포함됩니다. makecab.exe 도구를 사용하여 .WSP 파일을 만들 수 있습니다. 솔루션 파일을 만드는 방법에 대한 자세한 내용은 Windows SharePoint Services 3.0 SDK (영어)를 참고하십시오.

사이트 정의 지역화

리소스 파일 및 문화권 검색을 통해 사이트 정의를 간편하게 지역화할 수 있습니다. 일반 ASP.NET 2.0 응용 프로그램 지역화는 컴파일 중에 완료되지만 SharePoint 사이트 지역화는 사이트가 구축되는 동안 완료됩니다. 응용 프로그램 서식 파일 중에 20개 사이트 정의 서식 파일은 모두 10개 언어로 이미 지역화되었습니다. 사이트 정의 자체는 언어 중립적 형식으로 만들어지며 문자열 리터럴이 리소스 파일(.resx)에 저장됩니다. 고유의 사이트 정의에 지역화를 추가하거나 기존 사이트 정의에 새 언어에 대한 지원을 추가하려는 경우 새 리소스 파일을 만들 수 있습니다. 이 파일은 다음 위치의 Resources 디렉터리에 저장됩니다.

%CommonProgramFiles%\Microsoft Shared\Web server extensions\12\Resources

이 파일은 기본적으로 XML 파일이며 모든 텍스트 편집기에서 편집할 수 있습니다. 다음 단계에서는 사이트 정의에 사용할 새 지역화 파일을 만드는 방법을 보여 줍니다.

  1. 위의 Resources 디렉터리로 이동하여 새 언어로 지역화할 기존 .resx 파일을 찾습니다.
  2. 파일을 복제한 다음 언어-문화권 이름을 제외하고 같은 이름을 지정(예: tsa-en-us.resx를 tsa-ko-kr.resx로 지정)합니다.
  3. 텍스트 편집기에서 복제된 파일을 엽니다.
  4. 파일의 두 번째 줄에 있는 lcid 코드를 언어를 나타내도록 설정합니다. 예를 들어 다음 코드는 언어를 스페인어로 설정합니다.
<!-- _lcid="3082" _version="12.0.5006.3000" _dal="1" ––>
  1. data 요소 뒤에 value 요소가 쌍으로 표시된 부분으로 스크롤합니다. 이 위치에서 리소스 이름과 지역화된 문자열 값을 한 쌍으로 만들 수 있습니다. value 요소의 문자열 값을 사용자 로캘에 맞게 수정합니다. 다음 코드 예제에서는 고객 만들기 동작에 대한 스페인어 리소스 문자열을 보여 줍니다.
<data name="Action_NewCustomer">
  <value>Crear un Nuevo cliente</value>
</data>
  1. Resources 폴더에 myCustomResource.es-es.resx와 같은 이름(실제 이름은 리소스 파일의 언어-문화권 이름에 따라 다름)으로 파일을 저장합니다. 이제 응용 프로그램의 사이트 정의 파일에서 이 파일을 참조할 준비가 완료되었습니다.

지역화된 사이트 정의를 해당 언어에 대한 새 SharePoint 사이트 페이지에서 사용할 수 있는 서식 파일로 표시하기 위해 WEBTEMP 파일을 해당 <LCID> 디렉터리에 추가합니다. 새 WEBTEMP 파일을 추가하는 방법에 대한 자세한 내용은 위의 "사이트 정의 만들기" 섹션을 참고하십시오.

지역화된 리소스 참조는 XML 파일에서와 다른 방식으로 .aspx 파일에서 작동합니다. 예를 들어 .aspx 파일의 참조는 런타임에서 계산되지만 XML 파일 참조는 웹 사이트가 인스턴스화될 때 계산됩니다. 사이트 정의 파일에서 리소스 파일의 XML 요소에 액세스하려면 $Resources:myCustomResource, DataName 구문을 사용합니다. 예를 들어 .aspx 파일에서 리소스 문자열을 사용하려면 태그를 다음과 같이 지정할 수 있습니다.

<div>
    <asp:Label runat="server" Text="<%Resources:myCustomResource, Action_NewCustomer %>" />
</div>

맨 위로 이동 맨 위로 이동

요약

Windows SharePoint Services 3.0과 Office SharePoint Designer 2007은 함께 대화형 워크플로 사용 응용 프로그램을 만들고 사용자 지정하는 데 필요한 강력한 도구를 제공합니다. 이 문서에서는 다운로드 가능한 40개 응용 프로그램 서식 파일 중 하나를 사용자 지정하거나 사용자 고유의 응용 프로그램 서식 파일을 만드는 모든 경우에 개발자가 아닌 독자들도 성공적으로 사용할 수 있는 검증된 방법과 유용한 정보를 제공합니다.

지금 응용 프로그램 서식 파일을 다운로드하여 Office SharePoint Designer 2007에서 열고 사용해 보십시오. 그런 다음 아래의 "리소스" 섹션에 있는 리소스를 사용하여 사용자 고유의 응용 프로그램을 만들어 보십시오.

맨 위로 이동 맨 위로 이동

리소스

Windows SharePoint Services 3.0 및 Office SharePoint Designer 2007에 대한 자세한 내용은 다음 리소스를 참고하십시오.

추가 개발자용 리소스는 다음을 참고하십시오.

맨 위로 이동 맨 위로 이동

 
 
적용 대상:
SharePoint Designer 2007