콘텐츠 쿼리 웹 파트의 새로운 기능
콘텐츠 쿼리 웹 파트의 새로운 기능
안녕하세요. 저는 엔터프라이즈 콘텐츠 관리 팀의 프로그램 관리자인 Dustin Anglin입니다. 오늘은 이 블로그를 통해 가장 널리 사용되는 SharePoint 웹 파트 중 하나이며 CQWP로 더 잘 알려진 콘텐츠 쿼리 웹 파트를 사용하여 현재 저희 팀이 연구 중인 새로운 기능을 소개하려고 합니다.
아직 살펴보지 않은 경우 먼저 Jim Masson의 ECM 개요(영문일 수 있음)와 Sangya Singh의 WCM 개요를 모두 확인해 보시기 바랍니다.
신규 사용자를 위한 CQWP
CQWP가 생소한 경우를 위해 CQWP가 무엇이며 이를 어떤 용도로 사용할 수 있는지 간략히 설명하겠습니다.
CQWP는 여러분이 사용하기 편리한 UI를 통해 쿼리를 작성한 다음 구성 가능한 고유한 방식으로 해당 콘텐츠를 표시할 수 있도록 하여 웹 페이지에 대한 흥미롭고 관련성 있는 정보를 집계할 목적으로 사이트 디자이너가 사용할 수 있는 도구입니다.
CQWP는 단일 목록 또는 라이브러리의 모든 위치에서 전체 사이트 모음의 모든 목록 또는 라이브러리에 이르기까지 서로 다른 여러 범위에 걸쳐 롤업 콘텐츠를 반환하는 데 사용됩니다. SharePoint 2010에서 CQWP의 단일 목록 쿼리는 대규모 단일 라이브러리에서 작동하도록 최적화되어 있으며 대규모 문서 라이브러리에서 쿼리 성능을 개선하도록 디자인된 다른 도구 및 스마트 인덱스를 활용합니다.
CQWP의 개요에 대한 자세한 내용을 확인하려면 George Perantatos의 SharePoint 2007 블로그 게시물(영문일 수 있음)을 살펴보는 것이 좋습니다.
CQWP를 사용하여 관련된 뉴스 기사 웹 파트 만들기
무언가에 대해 학습하는 데 가장 좋은 방법은 예를 활용하는 것이라고 생각됩니다. 따라서 CQWP를 사용하여 현재 제가 읽고 있는 뉴스 기사와 관련된 뉴스 기사를 나타내는 전형적인 상황을 살펴보겠습니다. 또한 오래된 뉴스 기사보다는 지난 주에 작성된 뉴스 기사 같은 최신 기사만 표시하도록 웹 파트를 설정하겠습니다.
쿼리 작성: 컨텍스트를 기반으로 쿼리 수행
CQWP는 쿼리된 콘텐츠를 페이지에 표시하는 데 매우 유용하지만 동일한 웹 파트를 계속 반복해서 설정하게 되는 경우처럼 새 뉴스 기사를 만들 때마다 웹 파트 영역에 새 CQWP를 추가하고 싶지는 않을 것입니다.
SharePoint 2007에서는 페이지 레이아웃에 CQWP를 추가하면 해당 CQWP가 특정 유형의 모든 페이지에 나타났습니다. 예를 들어 이 예제 시나리오에서는 "뉴스 기사" 페이지 레이아웃을 만들 수 있습니다. 이때 문제는 해당 웹 파트에 쿼리를 하나만 설정할 수 있기 때문에 "뉴스 기사" 레이아웃을 사용하는 모든 페이지에 동일한 결과 집합이 반환된다는 것입니다.
여기서 원하는 것은 각 “뉴스 기사” 페이지에 현재 읽고 있는 기사와 관련된 기사가 표시되도록 하는 것입니다. 스포츠 기사를 읽고 있는 경우 관련 스포츠 기사가 나타나는 것처럼 말입니다.
또한 스포츠 또는 비즈니스와 같이 현재 기사가 어떤 종류의 "뉴스 기사"인지를 설명하기 위한 메타데이터 필드가 필요하므로 "뉴스 범주(News Category)"라는 새 관리되는 메타데이터 필드를 추가하겠습니다. 그러면 이 필드를 통해 용어 저장소에 연결하여 제작자가 선택할 수 있는 뉴스 범주의 관리되는 분류를 만들 수 있습니다.
그러면 여기서 “뉴스 기사” 페이지 레이아웃이 갖추게 될 모양을 개념적으로 설명해 보겠습니다.
앞에서 현재 기사의 컨텍스트, 특히 현재 기사 "뉴스 범주"를 통해 웹 파트를 구동하겠다고 언급했습니다. SharePoint 2010에서는 이를 위해 다음과 같이 두 개의 유용한 새로운 토큰을 사용하여 쿼리 필터를 설정하면 됩니다.
PageFieldValue
이 토큰을 사용하면 현재 페이지 레이아웃에 있고 필터에 대한 값이 현재 페이지의 필드 값으로 동적으로 바뀌는 필드를 지정할 수 있습니다.
예: "뉴스 범주"의 기사 유형(예: 비즈니스, 정치, 국제, 스포츠)을 지정하는 사용자 지정 관리되는 메타데이터 필드인 “뉴스 범주(News Category)”를 만들어 이를 "뉴스 기사" 페이지 레이아웃에 추가한 경우 PageFieldValue 토큰을 사용하면 현재 페이지의 뉴스 범주에 따라 쿼리가 변경됩니다. 따라서 현재 페이지의 범주가 "스포츠"이면 "스포츠(Sports)"로 태그가 지정된 페이지가 반환됩니다.
PageQueryString
PageFieldValue 토큰과 마찬가지로 URL 쿼리 문자열에서 쿼리에 사용할 값을 확인하도록 선택할 수 있습니다.
예: “&NewsCategory=Sports” 같은 URL에 쿼리 문자열 값을 추가하고 뉴스 범주(News Category) 필드가 "스포츠(Sports)"로 설정된 페이지 또는 현재 쿼리 문자열에 있는 아무 값이나 반환하도록 CQWP의 쿼리를 설정할 수 있습니다.
서로 다른 각 결과 집합에 대해 새 페이지를 만들지 않고 웹 파트에 각각 다른 결과 집합을 표시하려는 경우에는 쿼리 문자열 매개 변수를 사용하는 것이 효과적입니다.
이 예에 대해 PageFieldValue 토큰을 사용하여 해당 "뉴스 범주(News Category)" 필드에 현재 기사의 "뉴스 범주" 필드와 동일한 메타데이터 값이 포함된 뉴스 기사를 반환하도록 CQWP를 설정해 보겠습니다. 또한 사용자 지정 "뉴스 기사" 페이지 레이아웃을 수정하면 CQWP가 이미 설정되어 관련 뉴스 기사를 표시할 준비가 된 모든 새로운 "뉴스 기사" 페이지에 자동으로 나타나게 됩니다.
쿼리를 좀 더 자세히 들여다 보면 두 개의 다른 필터가 추가되어 있음을 알 수 있을 것입니다. 첫 번째 필터는 현재 기사와 이름이 같은 모든 기사를 필터링하여 특히 현재 기사가 쿼리 결과에서 중복되지 않도록 하고, 두 번째 필터는 최근 7일 동안 작성된 뉴스 기사만 반환하여 결과를 항상 최신 상태로 유지합니다.
또한 이 예에서 “뉴스 범주(News Category)” 메타데이터 필드는 단일 및 다중 값 변종을 포함하여 CQWP에서 완벽하게 지원하는 새로운 관리되는 메타데이터 필드의 하나입니다. 이 예에는 나와 있지 않지만 CQWP에서는 엔터프라이즈 키워드 열 및 "모든 태그" 열에 대한 필터링도 지원하며 이를 통해 태그를 포함하는 항목의 메타데이터 필드에 관계없이 쿼리된 항목의 모든 관리되는 메타데이터 태그를 확인할 수 있습니다.
결과 표시: 도구 창에서 열 매핑
어떤 사람들은 XSLT를 작성하길 좋아하는데 이런 경우 저는 원하는 모든 XSLT를 작성하면 보다 강력한 성능을 얻을 수 있다고 말합니다. 그러나 나머지 사람들 중 일부는 우리 같은 사람들 대부분에 대해 XSLT 코드 작성자들을 좋아하긴 하지만 XSLT를 작성하여 X, Y 및 Z 필드를 나타내는 방법을 이해하는 것이야 말로 가장 마지막에 하고 싶은 일이라고 주장합니다.
SharePoint 2010에서 CQWP의 가장 유용한 새로운 기능 중 한 가지는 도구 창 UI에서 직접 표시하려는 필드를 선택하는 기능입니다. 따라서 이제 쿼리가 정의되었으므로 프레젠테이션 섹션을 열어 확인해 보겠습니다.
도구 창의 프레젠테이션 섹션으로 이동하면 표시할 필드라는 새로운 섹션이 있는데, 여기서 정의된 XSL 스타일에 대해 표시할 필드를 입력할 수 있습니다. 따라서 항목 스타일을 빈 서식 파일로 가정하여 표시되는 필드를 제외하고 표시할 수 있는 항목 수와 항목이 이동하는 위치를 정의합니다. 서식 파일을 선택한 후에는 지정된 항목 스타일에 대해 나타나는 슬롯에 필드를 입력하여 표시할 필드를 연결하기만 하면 됩니다.
저는 왼쪽에 이미지가 표시되고, 기사 제목으로 나타낸 페이지의 링크와 간략한 기사 발췌 내용(제 페이지 레이아웃에 대해 정의한 사용자 지정 필드)이 있는 스타일을 사용하기로 결정했습니다. 이러한 각 슬롯에 표시할 필드를 입력하면 다음과 같은 결과를 얻게 됩니다.
XSLT를 다룬 시간은 다 합해서 0.0초입니다. 정말 쉽죠?
글을 마치며
이제 다음과 같이 지금까지 수행한 작업을 요약하며 내용을 정리해 보겠습니다.
- 한 위치에서 페이지 레이아웃을 수정하여 모든 내 뉴스 기사 페이지에 CQWP 웹 파트 추가
- 현재 페이지의 컨텍스트에 따라 동적으로 구동되는 웹 파트 쿼리 구성(예: 스포츠 기사는 관련된 스포츠 기사를 반환하고, 비즈니스 기사는 다른 비즈니스 기사를 반환)
- 사용자 지정 XSLT를 작성하지 않고 사용자 지정 필드를 표시하도록 웹 파트 표시 구성
그리고 다음은 최종 결과의 모습입니다.
이제 콘텐츠 제작자가 뉴스 기사를 작성하면 모든 기사에 최신 관련 기사를 보여 주는 웹 파트가 포함되므로 콘텐츠 제작자는 웹 파트 및 쿼리를 다루며 시간을 보낼 필요가 없습니다.
요약
이 내용은 콘텐츠 기반 쿼리의 기능과 코드 없이 콘텐츠 표시 방식을 구성하는 간단한 방법을 활용하여 CQWP로 구현할 수 있는 새롭고 유용한 여러 가지 실례 중 한 가지에 불과합니다. 이 블로그를 자주 방문하여 CQWP를 비롯하여 SharePoint 2010의 다른 흥미롭고 새로운 ECM 기능에 대한 자세한 내용을 확인하시기 바랍니다.
이 문서는 번역된 블로그 게시물입니다. 원본 문서는 콘텐츠 쿼리 웹 파트의 새로운 기능을 참조하십시오.