서버 사이트 맵 갱신
기본 Eclipse 갱신 서버는 모든 URL에서 액세스 가능한 서버입니다. 기본 구현은
고정 레이아웃 서버를 가정합니다. 서버의 컨텐츠(사용 가능한 기능 및 플러그인에 관한)는
사이트 맵 파일 site.xml에서 설명됩니다. 이 파일은 수동으로 유지보수되거나
서버에서 동적으로 계산할 수 있습니다.
사이트 맵
갱신 서버 URL은 사이트 맵 파일에 대한 전체 URL이나 사이트 맵 파일을 포함하는
디렉토리 경로의 URL로 지정될 수 있습니다(index.html 처리와 유사). 사이트 맵 site.xml 포맷은 다음의 dtd로 정의됩니다.
<?xml encoding="UTF-8"?>
<!ELEMENT site (description?, feature*, archive*, category-def*)>
<!ATTLIST site
type
CDATA #IMPLIED
url
CDATA #IMPLIED
mirrorsURL CDATA #IMPLIED
>
<!ELEMENT description (#PCDATA)>
<!ATTLIST description
url
CDATA #IMPLIED
>
<!ELEMENT feature (category*)>
<!ATTLIST feature
type
CDATA #IMPLIED
id CDATA #IMPLIED
version
CDATA #IMPLIED
url
CDATA #REQUIRED
patch
(false | true) false
os
CDATA #IMPLIED
nl
CDATA #IMPLIED
arch
CDATA #IMPLIED
ws
CDATA #REQUIRED
>
<!ELEMENT archive EMPTY>
<!ATTLIST archive
path
CDATA #REQUIRED
url
CDATA #REQUIRED
>
<!ELEMENT category EMPTY>
<!ATTLIST category
name
CDATA #REQUIRED
>
<!ELEMENT category-def (description?)>
<!ATTLIST category-def
name
CDATA #REQUIRED
label CDATA #REQUIRED
>
요소 및 속성 정의는 다음과 같습니다.
- <site> - 사이트 맵을 정의합니다.
- type - 선택적 사이트 유형 스펙. 이 값은 설치 프레임워크 확장점을 통해
등록된 유형 문자열을 참조합니다. 지정되지 않은 경우 이 유형은 기본 Eclipse 사이트
유형이 되는 것으로 가정합니다(이 문서에서 지정된 것처럼).
- url - 갱신 사이트 기준선 URL을 정의하는 선택적
URL(개별 <feature> 및 <archive> 위치를 판별하는 데 사용됨). 상대적이거나
절대적일 수 있습니다. 상대적인 경우 site.xml에 따라 다릅니다. 지정되지 않은 경우
기본값은 site.xml 파일의 URL 위치입니다.
- mirrorsURL - 갱신 사이트 미러 정의를 포함하는 파일을 가리키는 선택적
URL입니다. 이 URL은 이 사이트에 대한 절대 또는 상대적일 수 있습니다. 미러 파일은
이 문서의 뒤에서 설명합니다.
- <description> - 간단한 텍스트로 된 간략한 설명. 변환 가능함.
- url - HTML로서 전체 설명에 대한 선택적 URL. URL은 상대적 경로 또는 절대적 경로로
지정할 수 있습니다. 상대적인 경우, URL은 site.xml과 관계 있습니다.
NL 핸들링의 경우
각각의 자국어에 대해 대체 URL을 지정할 수 있도록 URL 값이 독립적이어야 합니다.
- <feature> - 참조된 기능 아카이브를 식별합니다.
- type - 선택적 기능 유형 스펙. 이 값은 설치 프레임워크 확장점을 통해
등록된 유형 문자열을 참조합니다. 지정되지 않은 경우 이 유형은 사이트의 기본 기능 유형이
되는 것으로 가정합니다. 사이트 유형이 기본 Eclipse 사이트 유형인 경우 기본 기능 유형은
패키지된 기능 유형입니다(이 문서에서 지정된 것처럼).
- id - 선택적 기능 ID. 이 정보는 기능 검색 속도를 높이기 위한 성능 최적화로
사용됩니다. 참조된 아카이브(url 속성)의 feature.xml에서 지정된
ID와 일치해야 합니다.
지정된 경우 버전 속성도 지정해야 합니다.
- version - 선택적 기능 버전. 이 정보는 기능 검색 속도를 높이기 위한 성능 최적화로
사용됩니다. 참조된 아카이브(url 속성)의 feature.xml에서 지정된
버전과 일치해야 합니다.
지정된 경우 ID 속성도 지정해야 합니다.
- url - 기능 아카이브에 대한 필수 URL 참조. 상대적이거나 절대적일 수 있습니다.
상대적인 경우 site.xml 파일의 위치에 따라 다릅니다.
참고:
기본 사이트 구현을 사용하면 <feature> 항목을 사용하여 명시적으로 선언하지 않고
기능에 액세스할 수 있습니다. 기본적으로, 선언되지 않은
기능 참조는 "features/<id>_<version>.jar"로 해석됩니다. 참고: 찾아보기 성능을 향상시키려면 항상 ID 및 버전 속성을 정의하십시오.
- patch - 이것이 패치(특수 유형의 기능)임을 표시하는 선택적 속성입니다. 참고: 찾아보기 성능을 향상시키려면 항상 이 속성을 정의하십시오.
- os - 선택적 운영 체제 스펙. Eclipse에서
정의한 쉼표로 구분된 운영 체제 지정자 목록입니다(org.eclipse.core.runtime.Platform에 대한
Javadoc 참조). 지정된 OS 시스템 중 하나에만 이 기능을 설치해야 함을
표시합니다. 이 속성이 지정되지 않은 경우 기능을 모든 시스템에
설치할 수 있습니다(휴대용 구현). 이 정보는 설치 및 갱신 지원에 의해 힌트로
사용됩니다(사용자는 이 설정과 관계 없이 기능 설치를 강제 실행할
수 있음).
- arch - 선택적 시스템 아키텍처 스펙. Eclipse에서
정의한 쉼표로 구분된 아키텍처 지정자 목록입니다.
org.eclipse.core.runtime.Platform은
Javadoc을 참조하십시오. 이 속성은 이 기능이 지정된 시스템 중 하나에서만 설치되어야 함을
표시합니다. 이 속성이 지정되지 않은 경우 기능을 모든 시스템에
설치할 수 있습니다(휴대용 구현). 이 정보는 설치 및 갱신 지원에 의해 힌트로
사용됩니다(사용자는 이 설정과 관계 없이 기능 설치를 강제 실행할
수 있음).
- ws - 선택적 윈도윙 시스템 스펙. Eclipse에서
정의한 쉼표로 구분된 윈도우 시스템 지정자 목록입니다(org.eclipse.core.runtime.Platform에 대한
Javadoc 참조). 지정된 WS 시스템 중 하나에만 이 기능을 설치해야 함을
표시합니다. 이 속성이 지정되지 않은 경우 기능을 모든 시스템에
설치할 수 있습니다(휴대용 구현). 이 정보는 설치 및 갱신 지원에 의해 힌트로
사용됩니다(사용자는 이 설정과 관계 없이 기능 설치를 강제 실행할
수 있음).
- nl - 선택적 로케일 스펙. Java에 의해 정의된 로케일 지정자의 쉼표로 구분된
목록. 이 기능이 호환 가능한 로케일로 실행되는 시스템에서만 설치되어야 함을
표시합니다(Java 로케일 일치 규칙 사용). 이 속성이 지정되지 않은 경우 기능을 모든 시스템에
설치할 수 있습니다(언어 중립적 구현). 이 정보는 설치 및 갱신 지원에 의해 힌트로
사용됩니다(사용자는 이 설정과 관계 없이 기능 설치를 강제 실행할
수 있음).
- <archive> - 참조된 "기억장치" 아카이브(기능 Manifest에서
<plugin> 또는 <data> 요소를 통해 참조된
실제 파일)를 식별합니다. 이 사이트는 아카이브를 URL에 대한 경로 맵으로
관리합니다. 기본 Eclipse 사이트 구현 시에는 사이트 맵(site.xml)에 포함시킬 <archive>
섹션이 필요하지 않습니다. 명시적으로 <archive> 섹션의 일부로 정의되지 않은
아카이브 참조는 site.xml 파일의 위치에 대한 "<archivePath>" 양식의 URL로
맵핑되는 것으로 가정합니다.
- path - 필수 아카이브 경로 ID. 이것은 이 아카이브를 참조하는 기능에서 판별되는
문자열이며 찾아보기 토큰과 다르게 사이트에 의해 해석되지 않습니다.
- url - 아카이브에 대한 필수 URL 참조. 상대적이거나 절대적일 수 있습니다.
상대적인 경우 site.xml 파일의 위치에 따라 다릅니다.
- <category-def> - 계층적 구성 기능에 대한 설치 및 갱신 지원에 의해 사용될 수 있는
카테고리의 선택적 정의
- name - 카테고리 이름. /으로 구분되는 이름 토큰의 경로로 지정됩니다.
- label - 표시 가능 레이블. 변환 가능함.
- <category> - 기능 항목에 대한 실제 카테고리 스펙
일반적으로 feature.xml Manifest 문서는
UTF-8 인코딩을 지정해야 합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
site.xml에 포함된 변환 가능 텍스트는 Java 특성 번들 규칙을 사용하는
site<_locale>.properties 파일로 분리될 수 있습니다. 변환된 문자열이 설치 시 사용되다는 점에 주의하십시오(즉, 플러그인 단편 런타임 메커니즘을
사용하지 마십시오). 특성 번들은 site.xml 위치에 따라 다르게 배치됩니다.
기본 사이트 레이아웃
<site root>/
site.xml
features/
feature archives
(eg. org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(optional)
non-plug-in files for feature
plugins/
plug-in archives
(예: org.eclipse.ui_1.0.3.jar)
미러 파일
갱신 미러 파일(<site>의 mirrorsURL 속성에 의해 지정되는
파일)에는 갱신 사이트 미러에 대한 정의가 들어있습니다. 파일 형식은 다음 dtd로 정의됩니다.
<?xml encoding="UTF-8"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label CDATA #REQUIRED
>
- <mirrors> - 사용 가능한 갱신 사이트 미러를 정의합니다.
- <mirror> - 미러 사이트를 정의합니다.
- url - 미러 사이트의 URL
- label - 표시 가능 레이블. 변환 가능함.
액세스 제어
기본 Eclipse 사이트 구현은 기본 사용자 인증(사용자 ID 및 암호)으로 http 액세스에
대한 지원을 제공합니다.
사용자 정의 액세스 제어 메커니즘을 다음 두가지 방법 중 하나로 기본 Eclipse에 추가할 수 있습니다.
-
갱신 서버에서 서버측 논리 제공(예: site.xml 맵을 계산하고 일부 사용자 기준에 따라 개별 아카이브에 대한 액세스를
제어하는 Servlet 구현)
-
사이트 오브젝트의 사용자 정의 완전 구현 제공(클라이언트 시스템의 <site type="">로 지정된 갱신 서버에 설치됨).
사용자 정의 완전 사이트 구현은 서버측 논리와 함께 필수 제어 메커니즘을
지원합니다.
Eclipse는 기능 키 파일을 기준으로 액세스 메커니즘의 구현을
설명하는 예제를 제공합니다.