| Sun ONE Portal Server 6.2 관리자 설명서 |
부록B
XML 참조iPlanet Directory Server Access Management Edition 응용프로그램인 Sun ONE Portal Server는 그 서비스를 Sun ONE Identity Server 서비스 관리 서비스(SMS) 프레임워크에 등록합니다. 이 과정은 Sun ONE Portal Server 의 설치 전 그리고 Sun ONE Identity Server 의 설치 후에 이루어집니다.
참고
일반적으로 서버에 특정하지 않은 서비스 관련 데이터는 Sun ONE Identity Server 디렉토리에 저장됩니다. 서버에 특정한 데이터는 특정 서버의 로컬에 위치한 속성 파일에 저장할 수 있습니다.
SMS는 서비스가 SMS DTD (Document Type Definition)을 준수하는 XML (Extensible Markup Language) 파일을 사용하여 그 구성 데이터를 정의하고 관리하는 메커니즘을 제공합니다. XML 파일을 통한 구성 매개 변수의 정의를 서비스에 대한 스키마라고 합니다. 각 Sun ONE Portal Server 서비스(데스크탑, Netmail, Rewriter 및 검색)에는 서비스에 특정한 데이터를 표시하고 수정하기 위한 고유 XML 및 속성 파일이 있습니다.
Sun ONE Identity Server 프레임워크 내에서 Sun ONE Portal Server 는 다음 기능적 영역과 관련된 서비스를 정의합니다.
- 데스크탑—SunPortalDesktopService에는 데스크탑과 연관된 디스플레이 프로필 및 기타 구성 매개 변수를 포함하여 데스크탑 구성 요소와 연관된 데이터가 포함됩니다.
- 검색 엔진—SunPortalSearchService는 검색자 및 검색 인스턴스와 같은 검색 구성 요소와 연관된 데이터를 정의합니다. 하나 또는 여러 검색 서비스 인스턴스를 정의할 수 있습니다.
- NetMail—SunPortalNetMailService에는 주로 사용자의 기본 설정으로 구성된 NetMail 응용프로그램과 연관된 데이터가 포함됩니다.
- Rewriter—SunPortalRewriterService에는 다시 쓰기 작업을 제어하는 명명된 규칙 집합을 포함하여 Rewriter 구성 요소와 연관된 데이터가 포함됩니다. Rewriter API는 디렉토리에 저장되는 명명된 규칙 집합을 참조합니다.
또한 Sun ONE Portal Server 는 기타 DTD를 사용하여 디스플레이 프로필 및 Rewriter 규칙 집합에 대한 LDAP 속성 값을 정의합니다.
디스플레이 프로필 DTD (Document Type Definition)는 디스플레이 프로필이 구성되는 방식을 정의합니다. 디스플레이 프로필 문서의 기초가 되는 데이터 형식은 XML입니다. 이는 데스크탑에 대한 디스플레이 구성을 정의하려는 것입니다. 공급자, 포틀릿 및 채널 객체 그리고 기타 속성을 정의하여 이를 수행합니다. 디스플레이 프로필에 대한 자세한 내용은 5장 "디스플레이 프로필 관리" 를 참조하십시오.
Rewriter 규칙 집합 DTD는 규칙 집합의 구조를 정의합니다. Rewriter 에는 기본 규칙 집합이 포함됩니다. 7장 "Rewriter 서비스 관리" 에서 Rewriter와 Rewriter가 규칙 집합을 사용하는 방식에 대해 자세히 설명합니다.
이 부록에서는 Sun ONE Portal Server 의 서비스를 정의하기 위해 사용되는 다양한 XML 파일을 나열했습니다. 여기에는 다음 부분이 포함됩니다.
Sun ONE Portal Server 데스크탑 서비스 정의기본 설치에서 서비스 관리 서비스 DTD는 /opt/SUNWam/dtd/sms.dtd 파일에 있습니다. 포털 서버 데스크탑 서비스 정의는 /opt/SUNWps/export/psDesktop.xml 파일에 있습니다.
Sun ONE Portal Server NetMail 서비스 정의기본 설치에서 서비스 관리 서비스 DTD는 /opt/SUNWam/dtd/sms.dtd 파일에 있습니다. 포털 서버 NetMail 서비스 정의는 /opt/SUNWps/export/psNetMail.xml 파일에 있습니다.
코드 예제 B-2 NetMail 서비스 정의
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2001 Sun Microsystems, Inc. All rights reserved.
PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
Sun ONE Portal Server (iPS) NetMail Service Definition
-->
<!--
FIXME(P@): replace below DTD path with a token that can
be substituted by postinstall script
-->
<!DOCTYPE ServicesConfiguration
PUBLIC "=//Sun ONE//Service Management Services (SMS) 1.0 DTD//EN"
"file:/opt/SUNWam/dtd/sms.dtd">
<ServicesConfiguration>
<Service name="SunPortalNetMailService" version="1.0">
<Schema
i18nFileName="psNetMail"
serviceHierarchy="/ps.configuration/SunPortalNetMailService"
i18nKey="sunPortalNetmailServiceDescription">
<Global>
<AttributeSchema name="serviceObjectClasses"
type="list"
syntax="string"
i18nKey="">
<DefaultValues>
<Value>sunPortalNetmailPerson</Value>
</DefaultValues>
</AttributeSchema>
</Global>
<Dynamic>
<AttributeSchema name="sunPortalNetmailIMAPServerName"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a01">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSMTPServerName"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a02">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailDefaultMailDomain"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a03">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailRootFolder"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a04">
<DefaultValues>
<Value>Mail</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSentMessagesFolder"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a15">
<DefaultValues>
<Value>Mail/Sent</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithAuthor"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a20">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithDate"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a21">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithBody"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a22">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailIndentPrefix"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a18">
<DefaultValues>
<Value>></Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAddSignature"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a19">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInitialHeaders"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a07">
<DefaultValues>
<Value>10</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInactivityInterval"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a09">
<DefaultValues>
<Value>5</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMaxAttachLen"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a10">
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoload"
type="single_choice"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a11">
<ChoiceValues>
<ChoiceValue i18nKey="autoload.All">0</ChoiceValue>
<ChoiceValue i18nKey="autoload.None">1</ChoiceValue>
<ChoiceValue i18nKey="autoload.New">2</ChoiceValue>
<ChoiceValue i18nKey="autoload.Unread">3</ChoiceValue>
<ChoiceValue i18nKey="autoload.New_and_Unread">4</ChoiceValue>
<ChoiceValue i18nKey="autoload.Found">5</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutosave"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a17">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutopurge"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a14">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoFolderLoad"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a05">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMultipleReadWindows"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a13">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailHeadersPerPage"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a08">
<DefaultValues>
<Value>10</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailNewestFirst"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a12">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailNoPrefsList"
type="multiple_choice"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a23">
<ChoiceValues>
<ChoiceValue>IMAPServerName</ChoiceValue>
<ChoiceValue>IMAPUserName</ChoiceValue>
<ChoiceValue>IMAPPassword</ChoiceValue>
<ChoiceValue>SMTPMailServer</ChoiceValue>
<ChoiceValue>rootFolder</ChoiceValue>
<ChoiceValue>inactivityInterval</ChoiceValue>
<ChoiceValue>initialHeaders</ChoiceValue>
<ChoiceValue>multipleReadWindows</ChoiceValue>
<ChoiceValue>resetSize</ChoiceValue>
<ChoiceValue>autopurge</ChoiceValue>
<ChoiceValue>replyToAddress</ChoiceValue>
<ChoiceValue>indentPrefix</ChoiceValue>
<ChoiceValue>replyFields</ChoiceValue>
<ChoiceValue>saveSentMessages</ChoiceValue>
<ChoiceValue>sentMessagesFolder</ChoiceValue>
<ChoiceValue>signature</ChoiceValue>
<ChoiceValue>autosave</ChoiceValue>
<ChoiceValue>autoFolderLoad</ChoiceValue>
<ChoiceValue>autoload</ChoiceValue>
<ChoiceValue>maxAttachLen</ChoiceValue>
<ChoiceValue>textStyle</ChoiceValue>
<ChoiceValue>textSize</ChoiceValue>
<ChoiceValue>textColor</ChoiceValue>
<ChoiceValue>backgroundColor</ChoiceValue>
</ChoiceValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailLDAPServers"
type="list"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a06">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailLogMessages"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a16">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
</Dynamic>
<Policy>
<ActionSchema name="sunPortalNetmailExecutable"
type="single"
syntax="boolean"
any="display"
cosQualifier="default"
i18nKey="p1">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</ActionSchema>
</Policy>
<User>
<AttributeSchema name="sunPortalNetmailIMAPUserid"
type="single"
syntax="string"
any="display"
i18nKey="u1">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailIMAPPassword"
type="single"
syntax="encrypted_password"
any="display"
i18nKey="u2">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyToAddress"
type="single"
syntax="string"
any="display"
i18nKey="u3">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSignature"
type="single"
syntax="paragraph"
any="display"
i18nKey="u4">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailFavoriteFolders"
type="list"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailPersonalAddressBook"
type="list"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<!-- attributes duplicated from the dynamic section -->
<AttributeSchema name="sunPortalNetmailIMAPServerName"
type="single"
syntax="string"
any="display"
i18nKey="a01">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSMTPServerName"
type="single"
syntax="string"
any="display"
i18nKey="a02">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailDefaultMailDomain"
type="single"
syntax="string"
any="display"
i18nKey="a03">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailRootFolder"
type="single"
syntax="string"
any="display"
i18nKey="a04">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSentMessagesFolder"
type="single"
syntax="string"
any="display"
i18nKey="a15">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithAuthor"
type="single"
syntax="boolean"
any="display"
i18nKey="a20">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithDate"
type="single"
syntax="boolean"
any="display"
i18nKey="a21">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithBody"
type="single"
syntax="boolean"
any="display"
i18nKey="a22">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailIndentPrefix"
type="single"
syntax="string"
any="display"
i18nKey="a18">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAddSignature"
type="single"
syntax="boolean"
any="display"
i18nKey="a19">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInitialHeaders"
type="single"
syntax="numeric"
any="display"
i18nKey="a07">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInactivityInterval"
type="single"
syntax="numeric"
any="display"
i18nKey="a09">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMaxAttachLen"
type="single"
syntax="numeric"
any="display"
i18nKey="a10">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoload"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="a11">
<ChoiceValues>
<ChoiceValue i18nKey="autoload.All">0</ChoiceValue>
<ChoiceValue i18nKey="autoload.None">1</ChoiceValue>
<ChoiceValue i18nKey="autoload.New">2</ChoiceValue>
<ChoiceValue i18nKey="autoload.Unread">3</ChoiceValue>
<ChoiceValue i18nKey="autoload.New_and_Unread">4</ChoiceValue>
<ChoiceValue i18nKey="autoload.Found">5</ChoiceValue>
</ChoiceValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutosave"
type="single"
syntax="boolean"
any="display"
i18nKey="a17">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutopurge"
type="single"
syntax="boolean"
any="display"
i18nKey="a14">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoFolderLoad"
type="single"
syntax="boolean"
any="display"
i18nKey="a05">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMultipleReadWindows"
type="single"
syntax="boolean"
any="display"
i18nKey="a13">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSortKey"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="sort-key.IMAP_Number">0</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Status">1</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Cached">2</ChoiceValue>
<ChoiceValue i18nKey="sort-key.From">3</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Size">4</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Date">5</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Subject">6</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailViewKey"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="view-key.All">0</ChoiceValue>
<ChoiceValue i18nKey="view-key.New">1</ChoiceValue>
<ChoiceValue i18nKey="view-key.Non-deleted">2</ChoiceValue>
<ChoiceValue i18nKey="view-key.Cached">3</ChoiceValue>
<ChoiceValue i18nKey="view-key.Non-cached">4</ChoiceValue>
<ChoiceValue i18nKey="view-key.Found">5</ChoiceValue>
<ChoiceValue i18nKey="view-key.Unread">6</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailComposeWinBounds"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailFolderWinBounds"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReadWinBounds"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailGridHeight"
type="single"
syntax="numeric"
any="display"
i18nKey="">
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailGridColWidths"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailTextColor"
type="single_choice"
syntax="number"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="white">-1</ChoiceValue>
<ChoiceValue i18nKey="pink">-20561</ChoiceValue>
<ChoiceValue i18nKey="red">-65536</ChoiceValue>
<ChoiceValue i18nKey="orange">-14336</ChoiceValue>
<ChoiceValue i18nKey="yellow">-256</ChoiceValue>
<ChoiceValue i18nKey="green">-16711936</ChoiceValue>
<ChoiceValue i18nKey="cyan">-16711681</ChoiceValue>
<ChoiceValue i18nKey="blue">-16776961</ChoiceValue>
<ChoiceValue i18nKey="magenta">-65281</ChoiceValue>
<ChoiceValue i18nKey="lightGray">-4144960</ChoiceValue>
<ChoiceValue i18nKey="darkGray">-12566464</ChoiceValue>
<ChoiceValue i18nKey="black">-16777216</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>-16777216</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailBackgroundColor"
type="single_choice"
syntax="number"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="white">-1</ChoiceValue>
<ChoiceValue i18nKey="pink">-20561</ChoiceValue>
<ChoiceValue i18nKey="red">-65536</ChoiceValue>
<ChoiceValue i18nKey="orange">-14336</ChoiceValue>
<ChoiceValue i18nKey="yellow">-256</ChoiceValue>
<ChoiceValue i18nKey="green">-16711936</ChoiceValue>
<ChoiceValue i18nKey="cyan">-16711681</ChoiceValue>
<ChoiceValue i18nKey="blue">-16776961</ChoiceValue>
<ChoiceValue i18nKey="magenta">-65281</ChoiceValue>
<ChoiceValue i18nKey="lightGray">-4144960</ChoiceValue>
<ChoiceValue i18nKey="darkGray">-12566464</ChoiceValue>
<ChoiceValue i18nKey="black">-16777216</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>-1</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailTextSize"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue>8</ChoiceValue>
<ChoiceValue>10</ChoiceValue>
<ChoiceValue>12</ChoiceValue>
<ChoiceValue>14</ChoiceValue>
<ChoiceValue>16</ChoiceValue>
<ChoiceValue>18</ChoiceValue>
<ChoiceValue>20</ChoiceValue>
<ChoiceValue>24</ChoiceValue>
<ChoiceValue>28</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>12</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailTextStyle"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="plain">0</ChoiceValue>
<ChoiceValue i18nKey="bold">1</ChoiceValue>
<ChoiceValue i18nKey="italic">2</ChoiceValue>
<ChoiceValue i18nKey="bold_italic">3</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailHeadersPerPage"
type="single"
syntax="numeric"
any="display"
i18nKey="a08">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailNewestFirst"
type="single"
syntax="boolean"
any="display"
i18nKey="a12">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailLogMessages"
type="single"
syntax="boolean"
any="display"
i18nKey="a16">
</AttributeSchema>
</User>
</Schema>
</Service>
</ServicesConfiguration>
Sun ONE Portal Server Rewriter 서비스 정의기본 설치에서 서비스 관리 서비스 DTD는 /opt/SUNWam/dtd/sms.dtd 파일에 있습니다. 포털 서버 Rewriter 서비스 정의는 /opt/SUNWps/export/psRewriter.xml 파일에 있습니다.
코드 예제 B-3 Rewriter 서비스 정의
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2001 Sun Microsystems, Inc. All rights reserved.
PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
-->
<!DOCTYPE ServicesConfiguration
PUBLIC "=//Sun ONE//Service Management Services (SMS) 1.0 DTD//EN"
"jar://com/iplanet/sm/sms.dtd">
<ServicesConfiguration>
<Service name="SunPortalRewriterService" version="1.0">
<Schema serviceHierarchy="/ps.configuration/SunPortalRewriterService"
propertiesViewBeanURL="/portal/rwadmin/SelectRule"
i18nFileName="psRewriter"
i18nKey="sunPortalRewriterServiceDescription">
<Global>
<SubSchema name="SunPortalRewriterGlobal">
<SubSchema name="SunPortalRewriterRuleSets" inheritance="multiple">
<AttributeSchema name="sunPortalRewriterRuleset" syntax="xml" />
</SubSchema>
</SubSchema>
</Global>
</Schema>
<Configuration>
<GlobalConfiguration>
<SubConfiguration name="SunPortalRewriterGlobal">
</SubConfiguration>
</GlobalConfiguration>
</Configuration>
</Service>
</ServicesConfiguration>
Sun ONE Portal Server 검색 서비스 정의기본 설치에서 서비스 관리 서비스 DTD는 /opt/SUNWam/dtd/sms.dtd 파일에 있습니다. 포털 서버 Rewriter 서비스 정의는 /opt/SUNWps/export/psSearch.xml 파일에 있습니다.
코드 예제 B-4 검색 서비스 정의
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2001 Sun Microsystems, Inc. All rights reserved.
PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
Sun ONE Portal Server (iPS) Search Service Definition
-->
<!DOCTYPE ServicesConfiguration
PUBLIC "=//Sun ONE//Service Management Services (SMS) 1.0 DTD//EN"
"file:/opt/SUNWam/dtd/sms.dtd">
<ServicesConfiguration>
<Service name="SunPortalSearchService" version="1.0">
<Schema
serviceHierarchy="/ps.configuration/SunPortalSearchService"
propertiesViewBeanURL="/portal/searchadmin/"
i18nFileName="psSearch"
i18nKey="sunPortalSearchServiceDescription">
<Global>
<AttributeSchema name="serviceObjectClasses"
type="list"
syntax="string"
i18nKey="">
<DefaultValues>
<Value>sunPortalSearchPerson</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalSearchInstances"
type="list"
syntax="string"
i18nKey="cs_instances">
<DefaultValues>
</DefaultValues>
</AttributeSchema>
</Global>
</Schema>
</Service>
</ServicesConfiguration>
디스플레이 프로필 DTD기본 설치에서 디스플레이 프로필 DTD는 /opt/SUNWps/dtd/psdp.dtd 파일에 있습니다.
코드 예제 B-5 디스플레이 프로필 DTD
<!ELEMENT DisplayProfile
(
Properties,
Channels,
Providers
)
>
<!ATTLIST DisplayProfile
xmlns:DisplayProfile CDATA #FIXED 'http://www.iplanet.com'
name CDATA #FIXED "_root"
version CDATA #REQUIRED
merge (replace|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
priority CDATA #REQUIRED
>
<!ELEMENT Channels
(
(Container|Channel)*
)
>
<!ATTLIST Channels
>
<!ELEMENT Providers
(
(Provider)*
)
>
<!ATTLIST Providers
>
<!ELEMENT Provider
(
Properties
)
>
<!ATTLIST Provider
name CDATA #REQUIRED
class CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Channel
(
Properties
)
>
<!ATTLIST Channel
name CDATA #REQUIRED
provider CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Container
(
Properties,
Available,
Selected,
Channels
)
>
<!ATTLIST Container
name CDATA #REQUIRED
provider CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Available
(Reference*)
>
<!ATTLIST Available
merge (replace|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Selected
(Reference*)
>
<!ATTLIST Selected
merge (replace|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Properties
(
Collection|
Integer|
String|
Boolean|
Locale
)*
>
<!ATTLIST Properties
name CDATA #FIXED "_properties"
merge (replace|fuse) "fuse"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Locale
(
Collection|
Integer|
String|
Boolean
)*
>
<!ATTLIST Locale
language CDATA #IMPLIED
country CDATA #IMPLIED
variant CDATA #IMPLIED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Collection
(
Collection|
Integer|
String|
Boolean
)*
>
<!ATTLIST Collection
name CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Integer EMPTY>
<!ATTLIST Integer
name CDATA #IMPLIED
value CDATA #REQUIRED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT String (#PCDATA)>
<!ATTLIST String
name CDATA #IMPLIED
value CDATA #IMPLIED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Reference EMPTY>
<!ATTLIST Reference
value CDATA #REQUIRED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Boolean EMPTY>
<!ATTLIST Boolean
name CDATA #IMPLIED
value (true|false) #REQUIRED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT ParEntry
(
Description?,
Provider?,
Channel?
)
>
<!ATTLIST ParEntry
xmlns:ParEntry CDATA #FIXED 'http://www.iplanet.com'
name CDATA #REQUIRED
version CDATA #REQUIRED
date CDATA #REQUIRED
author CDATA #REQUIRED
requiredClass CDATA #REQUIRED
>
<!ELEMENT Description (#PCDATA)>
Rewriter 규칙 집합 DTD기본 설치에서 Rewriter 규칙 집합 DTD는 resources/RuleSet.dtd 아래 /opt/SUNWps/web-src/WEB-INF/lib/rewriter.jar jar 파일에 있습니다.
코드 예제 B-6 Rewriter 규칙 집합 DTD
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % gtype 'GROUPED'>
<!ENTITY % stype 'SCATTERED'>
<!ENTITY % jURL 'URL'>
<!ENTITY % jEXPRESSION 'EXPRESSION'>
<!ENTITY % jDHTML 'DHTML'>
<!ENTITY % jDJS 'DJS'>
<!ENTITY % jSYSTEM 'SYSTEM'>
<!ENTITY % ruleSetElements '(HTMLRules | JSRules | XMLRules)? '>
<!ENTITY % htmlElements '(Form | Applet | Attribute | JSToken)*'>
<!ENTITY % jsElements '(Variable | Function)*'>
<!ENTITY % xmlElements '(Attribute | TagText)*'>
<!ELEMENT RuleSet (%ruleSetElements;,%ruleSetElements;,%ruleSetElements;)>
<!ATTLIST RuleSet
type (%gtype; | %stype;) "GROUPED"
id ID #REQUIRED
>
<!ELEMENT HTMLRules (%htmlElements;)>
<!ATTLIST HTMLRules
type (%gtype; | %stype;) "GROUPED"
id CDATA "html_rules"
>
<!ELEMENT Form EMPTY>
<!ATTLIST Form
source CDATA #REQUIRED
name CDATA #REQUIRED
field CDATA #REQUIRED
valuePatterns CDATA ""
>
<!ELEMENT JSToken (#PCDATA)>
<!ELEMENT Applet EMPTY>
<!ATTLIST Applet
source CDATA #REQUIRED
code CDATA #REQUIRED
param CDATA "*"
valuePatterns CDATA ""
>
<!ELEMENT JSRules (%jsElements;)>
<!ATTLIST JSRules
type (%gtype; | %stype;) "GROUPED"
id CDATA "js_rules"
>
<!ELEMENT Variable (#PCDATA)>
<!ATTLIST Variable
type (%jURL; | %jEXPRESSION; | %jDHTML; | %jDJS; | %jSYSTEM;) "URL"
>
<!ELEMENT Function EMPTY>
<!ATTLIST Function
type (%jURL; | %jEXPRESSION; | %jDHTML; | %jDJS;) "URL"
name CDATA #REQUIRED
paramPatterns CDATA #REQUIRED
>
<!ELEMENT XMLRules (%xmlElements;)>
<!ATTLIST XMLRules
type (%gtype; | %stype;) "GROUPED"
id CDATA "xml_rules"
>
<!ELEMENT TagText EMPTY>
<!ATTLIST TagText
tag CDATA #REQUIRED
attributePatterns CDATA ""
>
<!ELEMENT Attribute EMPTY>
<!ATTLIST Attribute
name CDATA #REQUIRED
tag CDATA "*"
valuePatterns CDATA ""
>
기본 규칙 집합기본 설치에서 기본 규칙 집합은 resources/DefaultRuleSet.xml 아래 /opt/SUNWps/web-src/WEB-INF/lib/rewriter.jar jar 파일에 있습니다. 이 파일은 /opt/SUNWps/export 디렉토리에도 있습니다.
코드 예제 B-7 기본 규칙 집합
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE RuleSet SYSTEM "jar://rewriter.jar/resources/RuleSet.dtd">
<RuleSet id="default_ruleset">
<!-- Rules for Rewriting HTML Source -->
<HTMLRules>
<!-- Rules for Rewriting Form Input/Option Values List -->
<!-- Rules for Rewriting Applet/Object Parameter Values List -->
<!-- Rules for Rewriting HTML Attributes -->
<Attribute name="action" />
<Attribute name="background" />
<Attribute name="codebase" />
<Attribute name="code" />
<Attribute name="href" />
<Attribute name="src" />
<Attribute name="value" />
<Attribute name="imagePath" />
<Attribute name="lowsrc" />
<Attribute name="archive" valuePatterns="***;**,**,**,**,**,**,**,**,**,**,**,**"/>
<Attribute name="style" />
<Attribute name="content" tag="meta" />
<!-- Rules for Rewriting HTML Attributes containing Java Script -->
<JSToken>onAbort</JSToken>
<JSToken>onBlur</JSToken>
<JSToken>onChange</JSToken>
<JSToken>onClick</JSToken>
<JSToken>onDblClick</JSToken>
<JSToken>onError</JSToken>
<JSToken>onFocus</JSToken>
<JSToken>onKeyDown</JSToken>
<JSToken>onKeyPress</JSToken>
<JSToken>onKeyUp</JSToken>
<JSToken>onLoad</JSToken>
<JSToken>onMouseDown</JSToken>
<JSToken>onMouseMove</JSToken>
<JSToken>onMouseOut</JSToken>
<JSToken>onMouseOver</JSToken>
<JSToken>onMouseUp</JSToken>
<JSToken>onReset</JSToken>
<JSToken>onSelect</JSToken>
<JSToken>onSubmit</JSToken>
<JSToken>onUnload</JSToken>
</HTMLRules>
<!-- Rules for Rewriting JavaScript Source -->
<JSRules>
<!-- Rules for Rewriting JavaScript variables in URLs -->
<Variable type="URL"> imgsrc </Variable>
<Variable type="URL"> location.href </Variable>
<Variable type="URL"> _fr.location </Variable>
<Variable type="URL"> mf.location </Variable>
<Variable type="URL"> parent.location </Variable>
<Variable type="URL"> self.location </Variable>
<Variable type="EXPRESSION"> location </Variable>
<Variable type="SYSTEM"> window.location.pathname </Variable>
<!-- Rules for Rewriting JavaScript Function Parameters -->
<Function type="URL" name="openURL" paramPatterns="y"/>
<Function type="URL" name="openAppURL" paramPatterns="y"/>
<Function type="URL" name="openNewWindow" paramPatterns="y"/>
<Function type="URL" name="parent.openNewWindow" paramPatterns="y"/>
<Function type="URL" name="window.open" paramPatterns="y"/>
<Function type="DHTML" name="document.write" paramPatterns="y"/>
<Function type="DHTML" name="document.writeln" paramPatterns="y"/>
</JSRules>
<!-- Rules for Rewriting XML Source -->
<XMLRules>
<!-- Rules for Rewriting Attributes -->
<Attribute name="xmlns"/>
<Attribute name="href" tag="a"/>
<!-- Rules for Rewriting TagText -->
<TagText tag="baseroot" />
<TagText tag="img" />
</XMLRules>
</RuleSet>