이번 장은 다음 내용이 포함되어 있습니다.
이 절은 다음과 같이 구성됩니다.
커뮤니티 템플릿은 일련의 서비스(채널)와 시각적 레이아웃으로 구성됩니다. 그러나 레이아웃을 wiki 자체에서 제어하는 wiki 커뮤니티 템플릿의 경우와 같이 항상 커뮤니티 템플릿에서 레이아웃을 제어하는 것은 아닙니다. 커뮤니티 템플릿은 역할 디스플레이 프로필 문서에서 커뮤니티에 사용 가능한 서비스 유형, 각 서비스의 기본 설정 및 서비스를 바인딩하는 컨테이너를 정의합니다.
실제로 커뮤니티 템플릿은 등록 정보 파일, 이미지 및 하나 이상의 디스플레이 프로필 문서입니다. 커뮤니티 역할(예: OWNER, VISITOR, MEMBER)마다 디스플레이 프로필 문서가 하나씩 있습니다. 각 역할 템플릿은 특정 역할과 연관된 레이아웃 및 서비스를 정의합니다. 이러한 역할에 대한 자세한 내용은 회원 관리를 참조하십시오. 역할 템플릿의 내용은 디스플레이 프로필 문서에 표시됩니다. 본질적으로 커뮤니티 템플릿에는 다양한 역할 처리를 위한 로직을 포함(역할당 하나의 디스플레이 프로필 문서)하며, 사용자는 하나 이상의 역할에 따라 서로 다른 서비스 집합과 레이아웃을 갖게 됩니다. 또한 커뮤니티가 삭제(deleted.xml)된 것으로 표시되어 있거나 비활성화(disable.xml)되어 있을 때 컨텐트를 사용자 정의하는 디스플레이 프로필 문서도 있습니다.
커뮤니티는 커뮤니티 템플릿에서 만들어집니다. 시스템에는 수의 제한 없이 커뮤니티 템플릿이 있을 수 있으며, 최종 사용자는 커뮤니티를 만들 때 엔터프라이즈 샘플에서 커뮤니티 템플릿을 선택합니다.
커뮤니티 템플릿은 파일 시스템에 저장됩니다. 커뮤니티 템플릿은 PortalServer-DataDir/portals/ portal-URI/communitytemplates 디렉토리(communityTemplateBaseDir이라고도 함)에 저장됩니다. 즉, 각 포털(여러 포털 배포 환경인 경우)은 당연히 자체 커뮤니티 템플릿 집합을 소유하게 됩니다. communityTemplateBaseDir에 있는 자원 번들은 각 템플릿과 연결된 메타 데이터를 정의합니다. 또한 각 템플릿에는 역할 템플릿이 저장되는 자체 디렉토리가 있습니다.
communityTemplateBaseDir -+-- template1 -+-- deleted.xml | | | +-- disabled.xml | | | +-- member.xml | | | +-- owner.xml | | | +-- visitor.xml | -+-- template2 -+-- deleted.xml | | | +-- disabled.xml | | | +-- member.xml | | | +-- owner.xml | | | +-- visitor.xml | -+-- template3 -+-- deleted.xml | | | +-- disabled.xml | | | +-- member.xml | | | +-- owner.xml | | | +-- visitor.xml | +-- template1.properties | +-- template1_en.properties | +-- template1_fr.properties | +-- template2.properties | +-- template3.properties | +-- template3_en_US.properties | +-- ...
디스플레이 프로필 disabled.xml 및 deleted.xml 파일은 커뮤니티가 비활성화되어 있거나 삭제 표시가 되어 있는 경우 컨텐트를 제어합니다. 자세한 내용은 커뮤니티 상태 관리를 참조하십시오.
포털 관리자는 새 커뮤니티 템플릿을 추가하고, 기존 커뮤니티 템플릿을 업데이트하고, 시스템에서 커뮤니티 템플릿을 보관 및 복원하며, 한 포털 인스턴스의 커뮤니티 템플릿을 다른 포털 인스턴스로 내보내거나 동기화할 수 있습니다.
각 템플릿은 XML 형식으로 된 하나 이상의 역할 템플릿(member.xml, owner.xml, visitor.xml, deleted.xml, disabled.xml)으로 구성됩니다. 템플릿 디렉토리에는 서비스를 제공할 역할에 대한 XML 파일이 포함되어 있습니다. 예를 들어, member.xml은 커뮤니티 회원용이고 owner.xml은 커뮤니티 소유자용이며 visitor.xml은 커뮤니티 방문자용입니다.
각 역할 템플릿은 해당 역할의 커뮤니티 사용자에 대한 디스플레이 프로필 문서입니다. 이 파일은 디스플레이 프로필 DTD를 바탕으로 해야 합니다.
<?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd"> <DisplayProfile version="1.0" priority="%COMMUNITY_DP_PRIORITY%"> <Properties/> <Channels> <Container name="%COMMUNITY_CONTAINER%" provider="JSPTableContainerProvider"> <Properties> <String name="title" value="%COMMUNITY_NAME%"/> <String name="description" value="%COMMUNITY_DESCRIPTION%"/> <Boolean name="compileToRealPath" value="true"/> </Properties> <Available>...</Available> <Selected>...</Selected> <Channels>...</Channels> </channels> <Providers/> </DisplayProfile>
아래에서 설명하는 디스플레이 프로필의 토큰( 양쪽 끝에 %가 있음)은 커뮤니티를 만들 때 템플릿 엔진에서 실제 값으로 동적으로 대체합니다.
커뮤니티에 제공되는 이름을 지정합니다. 예: tourists
커뮤니티를 식별하는 고유 문자열을 지정합니다. 이 이름은 내부 표시에만 사용되며, 사용자 인터페이스에는 표시되지 않습니다. 예: jdo__tourists
커뮤니티의 설명을 포함합니다.
커뮤니티의 최상위 수준 컨테이너를 지정합니다. 예: jdo__touristsContainer
결과 커뮤니티 디스플레이 프로필에 제공되는 디스플레이 프로필 병합 우선 순위를 지정합니다. 각 역할에는 서로 다른 값이 지정됩니다. 기본적으로 방문자 역할에는 1000을 지정하고 회원 역할에는 1005를 지정하며 소유자 역할에는 1010을 지정합니다.
커뮤니티의 검색 서버 URL을 지정합니다.
커뮤니티 컨텐트의 검색 데이터베이스를 지정합니다.
토론 데이터베이스를 지정합니다.
포털 아이디를 지정합니다. 예: portal1
각 템플릿에는 해당 템플릿과 연결된 메타 데이터를 정의하는 자원 번들 등록 정보 파일이 포함됩니다. 자원 번들은 현지화할 수 있는 설명자라고도 합니다. 각 템플릿 설명자 파일은 다음 등록 정보를 정의해야 합니다.
템플릿의 고유 아이디를 지정합니다. 이 아이디는 템플릿 디렉토리 이름과 일치해야 합니다. 예를 들어, 세 가지 지원되는 모든 역할에 대해 역할 템플릿(또는 XML 파일)이 있고 이름이 Baseball인 템플릿 디렉토리인 경우 이 값을 Baseball로 지정합니다.
사용자 인터페이스(포털 데스크탑)에서 템플릿을 식별하는 데 사용하는 이름을 지정합니다. 예: Baseball Template
제공하는 서비스를 포함하여 템플릿에 대한 상세한 설명이 포함됩니다. 예: 선수 통계, 경기 토론, TV 중계 일정 및 온라인 채팅 등의 서비스가 포함된 야구 테마 템플릿
템플릿 역할 파일에서 사용되는 토큰 목록이 포함됩니다. 이 항목은 정보 제공용이며 필수는 아닙니다. 예를 들어, %COMUNITY_ID% %COMMUNITY_DESCRIPTION% %COMMUNITY_CONTAINER%입니다.
포털 컨텍스트에 대한 절대 또는 상대 URI를 지정합니다. 예를 들어, http://images.domain.com/images/baseball.jpg입니다. 상대 URI는 포털 웹 응용 프로그램 컨텍스트 경로에 상대적이어야 합니다.
id=Baseball name=Baseball Template description=Baseball-themed template containing the following services: Player Statistics, Game Discussions, TV Schedule, and Online Chat tokens=%COMUNITY_ID% %COMMUNITY_DESCRIPTION% %COMMUNITY_CONTAINER% previewImageURI=http://images.domain.com/images/baseball.jpg |
새 템플릿을 만들거나 기존 템플릿을 수정하려면 이 절의 다음 지침을 따르십시오. 다음 방법 중 하나로 템플릿을 만들 수 있습니다.
psadmin 유틸리티를 사용하여 템플릿을 내보내고 컨텐트를 추가하고 가져옵니다.
컨텐트를 만든 다음 가져와 기존 템플릿을 덮어씁니다.
기존 템플릿에 새 파일을 추가합니다.
communityTemplateBaseDir로 이동합니다.
다음을 만듭니다.
새 템플릿을 저장할 새 디렉토리
새 템플릿 디렉토리에 기존 템플릿 복사
예를 들어, 다음과 같이 입력합니다.
cd PortalServer-DataDir/portals/portal-URI/communitytemplates mkdir NewTemplate cp 2column/* NewTemplate/ |
필요에 따라 새 템플릿 디렉토리에서 역할 기반 디스플레이 프로필 문서를 수정합니다.
역할 기반 디스플레이 프로필 문서에 대한 자세한 내용은 템플릿 구문 및 의미를 참조하십시오.
등록 정보 파일을 만들어 템플릿 설명자 파일에서 설명한 등록 정보가 포함되도록 편집한 후 저장합니다.
예를 들어, 새 템플릿에 사용할 새 등록 정보 파일을 만들려면 다음을 입력합니다.
cp 2colimn.properties NewTemplate.properties |
또는
touch NewTemplate.properties |
새로 추가한 템플릿을 보려면 현재 포털 세션에서 로그아웃한 후 다시 로그인하여 변경 사항을 확인하십시오.
communityTemplateBaseDir/ template 디렉토리로 이동한 다음 수정하려는 파일을 엽니다.
현재 포털 세션에서 로그아웃했다가 다시 로그인하여 변경 사항을 확인합니다.
여러 포털 환경(시스템에 포털이 두 개 이상 있는 경우)에서 PAR 메커니즘(communityTemplateBaseDir의 파일을 직접 편집하는 것과 반대)을 사용하여 커뮤니티 템플릿의 변경 사항이 여러 포털에 적용되도록 합니다. 이렇게 하면 모든 포털이 같은 커뮤니티 템플릿 집합을 갖게 됩니다. 전체 포털에서 환경을 동기화하지 않으려면 단일 포털 환경에서 새 템플릿을 만들려면의 지침을 참조하십시오.
psadmin export --type desktop을 사용하여 데스크탑 데이터(커뮤니티 템플릿 포함)를 내보내 컨텐트를 편집할 수 있도록 하거나, 다른 데스크탑 데이터를 제외하고 커뮤니티 템플릿 항목만 복사하여 PAR 구조를 새로 만듭니다.
컨텐트를 편집하려면 단일 포털 환경에서 새 템플릿을 만들려면을 참조하십시오.
다음이 포함된 새 PAR 파일을 만듭니다.
-+-- META-INF -- MANIFEST.MF | +-- pbfiles -+-- communityTemplateBaseDir -+-- template1 -+-- deleted.xml | | | | | +-- disabled.xml | | | | | +-- member.xml | | | | | +-- owner.xml | | | | | +-- visitor.xml | | | +-- template1.properties | | | +-- template1_en.properties | | | +-- template1_fr.properties | | | +-- ... | +-- static -- community -- images -- template1.gif
필요에 따라 컨텐트를 편집하거나 추가합니다.
새 PAR 파일을 만듭니다.
psadmin import 하위 명령을 사용하여 전체 포털에서 PAR 컨텐트를 가져옵니다.
모든 데스크탑 데이터를 내보낸 경우 psadmin export 하위 명령은 모든 데스크탑 데이터를 내보내며, 커뮤니티 템플릿만 사용하여 PAR 구조를 새로 만든 경우에는 해당 명령이 커뮤니티 템플릿만 내보내게 됩니다.
자세한 내용은 Sun Java System Portal Server 7.2 Command-Line Reference의 psadmin export를 참조하십시오.