<% Include("/hsphere/local/home/terraint/common.phps");%> Jakarta Slide -- Java WebDAV -- - Slide Configuration
The Jakarta Project The Jakarta Slide Project

Jakarta Slide

リソース

ユーザガイド

管理者ガイド

HOW-TO

プログラミング

Slide API

リファレンス

日本語訳 (Translations)

オリジナル

slide.properties ファイル

Slide では、Slideのグローバルオプションをいくつか定義するため、環境設定用プロパティファイルを使います。 これらのオプションは、Slideコンテンツ管理フレームワークの一般的な動作に影響し、 例えば、完全にセキュリティを無効にする事すら可能なのです。 ですから、slide.properties ファイルのセキュリティ問題は極めて重要であり、 このファイルへのアクセスはサーバーの管理者に限定させるべきなのです。 これらのプロパティは、org.apache.slide.slide.propertiesと言う名前のJavaプロパティファイルで指定されています。

SlideのJARファイルには、デフォルトでの設定ファイルが含まれています。 Javaライブラリのディレクトリ(例えば、/jdk1.2/lib)に設定ファイル を置くと、デフォルトの設定ファイルのシステム全体に関わるプロパティを上書きすることが出来ます。 更に、設定ファイルをClasspathに置く事が出来、 システム全体に関わるプロパティとデフォルトの設定の両方を上書きする事も出来ます。

Slideに含まれるサンプルを動かす際、Slideはexamplesディレクトリにある設定ファイルを使い、 このファイルはデバッグ情報や生成される全てのXMLファイルの出力情報(訳注:文字コードのことと思われる)などを指定します。

以下のプロパティが、現在、設定ファイルでサポートされています:


 # Domain XML definition file. This is the Slide configuration file 

 # (see below).

 # Default : Will look for domain.xml in current directory

 #org.apache.slide.domain=domain.xml

 

 # Automatically perform security checks. If set to false, no security checks

 # will be performed. It's equivalent to giving root access to each principal.

 # Default : true

 #org.apache.slide.security=true

 

 # Automatically perform locking checks. Locking is disabled if set to false.

 # Default : true

 #org.apache.slide.lock=true

サービス

Slide は、広範囲に亘るレポジトリのデータを扱い格納する事が出来ます。 各々のレポジトリへは、「サービス」と呼ばれるモジュールを通じてアクセスされます。 これらの各サービスには、幅広い異なる依存関係があり、多くの余分なセットアップ手順が必要となるでしょう。 コンテンツ管理システムの特殊なニーズを扱うよう、 Slideを採用する人によってサービスが開発される事が望まれています。 例えば、ある会社がそのウェブサイトとNFSファイルサーバーへ、Slideを通じてアクセスしたいと 考えたとすると、NFSサービスが必要となり、加えてHTTPサービスも必要となるのです。

Slideプロジェクトの扱う範囲は、世界中に存在するありとあらゆるレポジトリを統合することではなく (ただ、一般的に広く使われるレポジトリへのサポートに関しては、十分配慮し、Slide導入の直後に使用可能となるようにします)、 そのレポジトリにアクセス可能となるサービスを、ユーザが簡単に書けるようにする事、にあります。

Slideに含まれる(あるいは今後予定がある)サービスをご紹介すると:

  • メモリ
  • ファイルシステム
  • バージョン管理を含むファイルシステム
  • JDBC
  • CVS

WebDAV サーバー

WebDAVモジュールはサーブレットであり、適切に設定されたServlet 2.2コンテナが必要です。 また、JAXP、JAXP準拠XMLパーサー、JDOMも必要となります。

このサーブレットを、Servlet 2.2 仕様が定めるところのウェブアプリケーションとしてロードする事が推奨されています。

サーブレットの設定でパラメタを指定する事が出来ます。ウェブアプリケーションの記述子(WEB-INF/web.xml)にて定義出来ます。 ウェブアプリケーションやweb.xmlファイルについての詳細は、 Servlet API ドキュメントを御覧下さい。パラメタは:

  • domain: ドメイン設定ファイルの場所の、ウェブアプリケーションでのパス。デフォルトは"/Domain.xml"です。
  • namespace: Slideドメインでアクセスされる名前空間の名前。デフォルトは、デフォルトの名前空間です。
  • scope: このサーブレットで公開されるべきSlide名前空間のスコープ。例えば、/filesコレクションのみをWebDAVを通じて公開したいと考えれば、このパラメタを'/files'に設定します。この場合、'/context-path/servlet-path/*'形式のURLは全て、Slide名前空間内で'/files/*'にマッピングされます。デフォルトの値は空文字列であり、これは、全ての名前空間が公開される事を意味しています。
  • depth-limit: PROPFINDを行う深さの限界を決定します。永久に続く長さのリクエストでサーバーのパフォーマンスを害する事の無いようにする為です。
  • default-mime-type: リソースが「unknown type」(未定義なタイプ)である場合に使われるMIMEタイプ。例えば、WebDAVクライアントがPUTを通じてファイルをアップロードする際、Content-Typeを指定しないと、ここで設定したMIMEタイプが使われます。デフォルトは、'application/octet-stream'です。
  • default-servlet: デフォルトでは、WebDAVサーブレットがウェブアプリケーションコンテキストのデフォルトのサーブレットとしてマッピングされます(servlet-mappingでのurl-patternは、'/'です)。マッピングを変更してWebDAVサーブレットをデフォルトのサーブレットにしないようにしたいと思えば、この初期化パラメタを変更して'false'にする事で、サーブレットに状況を伝える必要があります。デフォルト値は'true'です。

管理用Webapp

Slide 管理用webappは、Jakarta Struts ウェブアプリケーションフレームワーク・Slide独自のタグライブラリ・JSPページをベースにしています。 管理用webappの一つのインスタンスでは、一つのSlide名前空間の管理を行えます。 従って、複数の名前空間を扱う場合、複数のインスタンスが必要となります。

デフォルトでは、管理用webappは、デフォルトの名前空間にアクセスするよう設定されています。この動作を変更するには、アプリケーションのweb.xmlファイルのnamespaceコンテキストパラメタを変更し、アクセスされるべき名前空間の名前となるようにします。

ドメイン設定ファイル

設定ファイルの例: ここをクリック

Slide では、設定ファイルに、domainの初期化を行わせる必要があります。 このドメインの一部である名前空間や、名前空間に関連したサービス、名前空間データの設定などを、この設定ファイルが規定します。 このファイルは、文法上XML言語を使います。 Slideで使われるXMLの要素及び属性は、以下のようなスキーマで形式的に定義されています。 あまり形式的な形ではなく、概要で説明しますと:

slide/namespace

この要素は、ドメイン内の名前空間の定義に使われます

属性説明
name

名前空間の名前を定義します

slide/namespace/definition

名前空間でマッピングされるサービスの宣言を含んでいます

slide/namespace/definition/store

名前空間で使われるstoreサービスを宣言します。名前空間での指定パスのサービスへの関連付けは、slide/namespace/definition/scope要素によって為されます(以下を御覧下さい)。
この要素は、子のstores要素をもつことが可能です。
classnameが指定されなければ、org.apache.slide.store.StandardStore が使われます。

属性説明
name

サービスがマッピングされる名前

classname

サービス用のクラス名

slide/namespace/definition/store/parameter

追加パラメタを指定します

属性説明
name

パラメタ名

slide/namespace/definition/store/[childstore]

オブジェクトのタイプの格納を扱うsubstoreを宣言します。
この要素は、classname要素とparameter子要素のどちらも取る事が出来ます。あるいは、この記述子のstoreで定義される別の子storeに参照する事が出来ます。
[childstore] は、以下の値を取り得ます:

  • nodestore
  • securitystore
  • lockstore
  • revisiondescriptorsstore
  • revisiondescriptorstore
  • contentstore
参照される子storeは、同じstoreで適切に定義された子storeでなければなりません。つまり、classname属性を持たなければならず、 別の子storeの参照になってはなりません。 更に、子storeは両方のタイプのstorageを実装していなければなりません。

属性説明
classname

サービス用のクラス名

slide/namespace/definition/store/[childstore]/reference

このdescriptorsストアで既に定義されている子ストアへの参照

属性説明
store

ストアのタイプ

slide/namespace/definition/store/[childstore]/parameter

追加パラメタを指定します

属性説明
name

パラメタ名

slide/namespace/definition/scope

名前空間で指定されたスコープにサービスを関連付けます

属性説明
match

URIのフィルタ

store

そのスコープ内で関連しているストアの名前

slide/namespace/configuration

この要素は、名前空間の設定を指定します

slide/namespace/configuration/[actions]

名前空間でデフォルトのactionタイプが、名前空間内のどのオブジェクトにマッピングされるかを指定します。 この要素の値は、対応するオブジェクトのURIでなければなりません。

[actions] は、次のうちの一つの値を取ります:

  • default-action
  • read-object
  • create-object
  • remove-object
  • grant-permission
  • revoke-permission
  • read-permissions
  • lock-object
  • kill-lock
  • read-locks
  • read-revision-metadata
  • create-revision-metadata
  • modify-revision-metadata
  • remove-revision-metadata
  • read-revision-content
  • create-revision-content
  • modify-revision-content
  • remove-revision-content
デフォルトであるdefault-action要素が存在していて適切な値を持っている(指定したURIにオブジェクトがあるべきだ、という事を意味しています)限り、 これらの要素を何も指定しないのが正当なやり方です。

slide/namespace/configuration/userspath

ユーザーのルートとなるURIを指定します。 例えば、値が"/users"であれば、 principal "foo"の対応するオブジェクトのURIが名前空間で"/users/foo"である、 という事を表しています。この要素はオプションです。

slide/namespace/configuration/guestpath

ゲストユーザーのURIを指定します。ユーザーのルートとの相対URIです。 この値は、証明書トークンが~文字列かnull値である場合に使われます。 例えば、値が"foo"であれば、principalである"ユーザパス/foo" が、証明書トークンに何も値がない場合に 現在のprincipalに対して適用される、という事を意味しています。 この要素はオプションです。

slide/namespace/configuration/filespath

ドキュメントのルートのURIを指定します。この値は主にwebdavモジュールによって使われます(この値をルートディレクトリに据える事で)。注意:この機能は、現在実装されておりません。この要素は、オプションです。

slide/namespace/configuration/parameter

追加パラメタを指定します

属性説明
name

パラメタ名

slide/namespace/configuration/role

ロールのマッピングを指定します。この要素の値は、ロールを表すインターフェースのJavaクラス名であるべきです。

属性説明
name

ロール名

slide/namespace/configuration/auto-create-users

この要素の値を"true"に設定すると、ユーザの自動作成が可能となります

slide/namespace/configuration/auto-create-users-role

自動的に生成されるユーザのクラス名。このクラスはObjectNodeを拡張(extend)していなければなりません。

slide/namespace/configuration/default-property

指定したロールを持つ新規オブジェクトに与えられる、デフォルト・プロパティのセットを定義する際に、この要素が使われます。 "role"属性に"nobody"を指定すると、デフォルトで、名前空間の全てのノードに対しこのプロパティを追加します。

属性説明
name

プロパティ名

namespace

プロパティの名前空間

value

プロパティのデフォルト値

role

このプロパティを持つロール

slide/namespace/data

名前空間の初期データを指定します。 Slideは、名前空間が初期化される度に、このセクションで指定されるオブジェクトの作成をしようと試み、 名前空間が前に既に初期化されていた場合にはこの作成を止めます。 名前空間が既に初期化されていない場合、あるいは、レポジトリへのアクセスのエラーが起こった場合、 指定されたオブジェクトである / ACL / メタデータの作成は、常に成功します。 このセクションで定義されるオブジェクトは、少なくとも、ユーザーとactionオブジェクトがなければなりません。 というのも、其の後で、少なくとも一つのprincipalが名前空間でのactionを実行する十分な証明書を持つ事になるのですから(セキュリティが利用不可能でなければ)。

slide/namespace/data/objectnode

名前空間ノードを定義します。別のobjectnode要素を子要素として持つ事が出来ます。 このオブジェクトが1つしかrevisionを持たない場合、 revision要素を省略する事が出来、objectnodeに、子要素としてpropertyとcontentを入れる事が出来ます。

属性説明
classname

属性のクラス名

uri

オブジェクトのURI

slide/namespace/data/objectnode/permission

関連したノードにパーミッションを付与します。デフォルトでは、パーミッションはpositiveであり、継承可能です。

属性説明
action

実行し得るAction

subject

Actionを実行できるSubject

inheritable

trueであれば、パーミッションは子ノードにも適用されます

negative

trueであれば、指定されたパーミッションを排他的に拒否します

slide/namespace/data/objectnode/revision

関連するノードの履歴を定義します

属性説明
number

履歴番号

slide/namespace/data/objectnode/revision/ancestor

その履歴が、以前の履歴をベースにしている事を表しています

slide/namespace/data/objectnode/revision/property

履歴のプロパティを定義します

属性説明
name

プロパティ名

slide/namespace/data/objectnode/revision/content

履歴コンテンツを定義します。この要素の値は、実際のコンテンツであってはならず、コンテンツへのURLとなります。


Copyright © 1999-2005, Apache Software Foundation
Translated into Japanese by Tetsuya Kitahata, powered by Terra-International Inc.
<% orig();%>