17. 付録: Metacat のプロパティ

Metacat のプロパティのうち動的なものの大半は、Metacat の Configuration Interface ( Metacat の設定 を参照)を使って 管理される。それらのプロパティは、 めったに修正されない他のプロパティと同じく、 metacat.properties ファイル内に記載されている。 以下に、これらのプロパティについてより詳しく記す。

  • サーバープロパティ
  • アプリケーションプロパティ
  • データベースプロパティ
  • 権限と認証のプロパティ
  • XML/EML プロパティ

17.1. サーバプロパティ

Metacat のサーバプロパティはすべてフォーム形式の設定ユーティリティで 管理される。以下に各プロパティについてより詳しい 情報を記す。

Metacat のサーバプロパティ

プロパティ 説明
server.name

Metacat にアクセスするためのホスト名。なお、これは Metacat が動作しているサーバの 物理的な名前でなくてもよい。ホスト名にはプロトコル接頭辞(http://)は含めない。

初期値: localhost

knb.ecoinformatics.org
server.httpPort

Metacat に安全でない(標準の)アクセスをするためのポート番号。 Apache ウェブサーバが動いている場合はたいてい 80 で、Tomcat が単独で動いている場合は 8080。

初期値: 80

80
server.httpSSLPort

Metacat に安全な接続でアクセスするのに使うポート番号。 Apache ウェブサーバが動いていれば普通は 443 で、Tomcat 単独なら 8443 が普通。

初期値: 443

443

17.2. アプリケーションプロパティ

Metacat のアプリケーションプロパティを以下に説明する。 metacat.properties を手作業で編集するしかないプロパティには 印をつけてある。 他のプロパティはすべてプロパティ設定ユーティリティで管理される。

プロパティ 説明
application.metacatVersion*

Metacat のバージョン番号。これはビルド時にビルドエンジニアが設定する。 通常は、決して変更するべきでない。

初期値: X.X.X (ここで X.X.X は Metacat の現在のバージョン)

1.9.0
application.metacatReleaseInfo* 目的を示すためのリリース情報。典型的にはリリース候補作成の過程で使用され、 ユーザにどの候補をダウンロードしているのかを知らせるために用いる。 Release Candidate 1
application.deployDir ウェブアプリケーションが配置されるディレクトリ。通常は、Tomcat の インストール先の “webapps” というディレクトリ。 /usr/local/tomcat/webapps
application.context 配置ディレクトリの中の、Metacat アプリケーションの名前。 これは WAR ファイル名の最初の部分に対応する(.war の前の部分)。 通常は “knb” だが、他のものに変更することもできる。 knb
index.content デプロイ先ディレクトリにおける Metacat index アプリの名前。 だいたいは “metacat-index” であるが、必要に応じて変更してもよい。 metacat-index
ui.context デプロイ先ディレクトリにおける Metacat UI ディレクトリ名。 しばしばこの UI は ROOT アプリとしてデプロイされるが、 その場合はこのプロパティは空 (“”) にするべきである。 metacatui
application.default-style 各自の Metacat 用スキン。通常は各組織のテーマに関連したもの。 もし自分の組織が独自のスキンを持っていない場合は、 “default” のままにしておく。 default
application.knbSiteURL

KNB ウェブサイト。

初期値: http://knb.ecoinformatics.org

http://knb.ecoinformatics.org
application.datafilepath

データファイルを格納するディレクトリ。このディレクトリは Metacat の インストール先の外側にあるべきであり、そうすることで Metacat を アップグレードした時にデータファイルの消失を避けることができる。 データファイルディレクトリは Tomcat の起動ユーザから(すなわちMetacat から) 書き込み可にしなければならない。

初期値: /var/metacat/data

/var/metacat/data
application.inlinedatafilepath

インラインデータファイルが格納されるディレクトリ。 インラインデータファイルは EML メタデータに埋め込まれたデータから 作成される。このディレクトリは Metacat をインストールしたディレクトリの 外側にあるべきであり、そうすることで Metacat のアップグレード時に データファイルの消失を避けることができる。 データの明確化のため、 application.datafilepath と同じにはしない方が いいだろう。このディレクトリは Tomcat (すなわち Metacat )の起動ユーザ から書き込み可でなければならない。

初期値: /var/metacat/inline-data

/var/metacat/inline-data
application.documentfilepath

メタデータファイルが格納されるディレクトリ。 このディレクトリは Metacat をインストールしたディレクトリの 外側にあるべきであり、そうすることで Metacat のアップグレード時に 文書ファイルの消失を避けることができる。 構造を明確にするため、これは application.datafilepathapplication.inlinedatafilepath と同じにするべきでないだろう。 このディレクトリは Tomcat (すなわち Metacat )の起動ユーザ から書き込み可でなければならない。

初期値: /var/metacat/documents

/var/metacat/documents
application.tempDir

Metacat の data registry が一時ファイルを保管するディレクトリ。 このディレクトリは application.datafilepathapplication.inlinedatafilepath (あるいは他の永続ファイルのパス) と同じにするべきでない。なぜならここにある全ファイルはプログラムによって 消去される可能性があるからだ。この一時ファイルディレクトリは Apache の起動ユーザから書き込み可でなければならない。

初期値: /var/metacat/temporary

/var/metacat/temporary
solr.homeDir

Metacat index コンポーネントが SOLR index を格納するディレクトリ。 Tomcat の実行ユーザがこのディレクトリに書き込み可能でなければならない。

初期値: /var/metacat/solr-home

/var/metacat/solr-home

17.3. データベースプロパティ

Metacat のデータベースプロパティを以下に説明する。 metacat.properties を手作業で編集するしかないプロパティには 印をつけてある。 他のプロパティはすべてプロパティ設定ユーティリティで管理される。

Metacat のデータベースプロパティ

プロパティ 説明
database.connectionURI

Metacat のデータベースインスタンス用の JDBC 接続 の URI URI は次のような書式である jdbc:<database_type>:thin@<your_server_name>:1521:<metacat_database_name> 註: Metacat の初回設定の前に空のデータベースを作成しなければならない。

初期値: jdbc:postgresql://localhost/metacat

jdbc:postgresql://yourserver.yourdomain.edu/metacat
database.user Metacat のデータベースインスタンス用のユーザ。 このユーザはデータベース上で予め作成されてなければならない。 metacat-user
database.password Metacat のデータベースインスタンス用のユーザのパスワード。 このパスワードは予め設定されていなければならない。 securepassword4843
database.type 使用しているデータベースの種類。現時点では、2種類をサポートしている。 すなわち、Oracle と Postgres. postgres
database.driver Metacat のデータベースインスタンスにアクセスするのに使用する JDBC ドライバ。 それぞれのデータベースの種類ごとに関連するドライバがある。 org.postgresql.Driver
database.adapter Metacat が各データベースアクセスできるようにするアダプタクラス。 データベースの各種類ごとに関連するアダプタがある。 edu.ucsb.nceas.dbadapter.PostgresqlAdapter
database.scriptsuffix.<database_type>

データベースシェーマのインストールや更新の時に実行するためのスクリプトが、postgres 用か oracle 用か どちらなのかシステムが判断するための接尾辞

初期値: database.scriptsuffix.postgres=postgres.sql database.scriptsuffix.oracle=oracle.sql

postgres.sql
database.upgradeVersion.<database_version>

データベースシェーマの更新時に、どのスクリプトを実行するべきかを指示する。 Metacat データベースシェーマの各バージョンごとに database.upgradeVersion を指定する。 シェーマの各バージョンはアプリケーションのバージョンに対応している。

初期値: database.upgradeVersion.0.0.0=xmltables,loaddtdschema database.upgradeVersion.1.2.0=upgrade-db-to-1.2 database.upgradeVersion.1.3.0=upgrade-db-to-1.3 database.upgradeVersion.1.4.0=upgrade-db-to-1.4 database.upgradeVersion.1.5.0=upgrade-db-to-1.5 database.upgradeVersion.1.6.0=upgrade-db-to-1.6 database.upgradeVersion.1.7.0=upgrade-db-to-1.7 database.upgradeVersion.1.8.0=upgrade-db-to-1.8 database.upgradeVersion.1.9.0=upgrade-db-to-1.9 database.upgradeVersion.2.0.0=upgrade-db-to-2.0

upgrade-db-to-1.2
database.initialConnections*

Metacat がデータベースに対して作成する初期接続数

初期値: 5

5
database.incrementConnections*

より多くの接続が必要になった時に Metacat が作成する接続数

初期値: 5

5
database.maximumConnections*

Metacat が作成することができるデータベース接続の最大数

初期値: 200

25
database.maximumConnectionAge*

データベース接続の最大生存時間(ミリ秒単位)

初期値: 120000

120000
database.maximumConnectionTime*

データベース接続が実際に接続した時間の最大積算値(ミリ秒単位)

初期値: 60000

60000
database.maximumUsageNumber*

ひとつの接続に対する最大使用回数

初期値: 100

100
database.numberOfIndexingThreads*

インデクス作成に使用できるスレッド数

初期値: 5

5
database.indexingTimerTaskTime*

インデクス作成の時間間隔(ミリ秒単位)

初期値: 604800000

604800000
database.indexingInitialDelay*

初回のインデクス作成が実行される前の待機時間(ミリ秒単位)

初期値: 3600000

3600000
database.maximumIndexDelay*

docid が得られない時、インデクス作成スレッドが作業を再試行する前に待機する時間(ミリ秒単位)

初期値: 5000

5000
database.runDBConnectionRecycleThread*

データベース接続プールが、接続をリサイクルするためのスレッドを実行するべきかどうか、を決める。 “on” と “off” が指定可能。

初期値: off

off
database.cycleTimeOfDBConnection*

接続リサイクルが実行される時間間隔(ミリ秒単位)

初期値: 30000

30000
database.queryignoredparams*

構造化された XML 検索において無視するべきパラメータ

初期値: enableediting,foo

enableediting
database.usexmlindex*

文書探索時に XML インデクスを使用するかどうか。 true と false を指定可能。

初期値: true

true
database.appResultsetSize*

検索結果をアプリケーションに返す時の最大件数

初期値: 7000

7000
database.webResultsetSize*

検索結果をウェブブラウザに返す時の最大件数

初期値: 7000

7000
database.xmlReturnfieldCount*

ある検索の検索結果がこの値の回数よりも多く返された場合、その検索結果をデータベースの xml_queryresult テーブルに追加する。たとえば、50回の要求があった場合にのみ検索結果を xml_queryresult に格納するようにしたい場合は、この値を 50 に設定する。

初期値: 0

0
database.queryresultStringLength*

queryresult テーブル内の検索結果文字列の最大サイズ。 データベースを使用している場合は 4000 以下の数値にすること。

初期値: 500000

500000
database.queryresultCacheSize*

キャッシュされる検索結果の数

初期値: 500

500
database.queryCacheOn*

検索キャッシュを有効にするかどうか。 “on” か “off” を指定可能。

初期値: on

on

17.4. 権限と認証のプロパティ

Metacat の権限と認証のプロパティについて以下の表で説明している。 metacat.properties を手作業で編集するしかないプロパティには 印をつけてある。 他のプロパティはすべてプロパティ設定ユーティリティで管理される。

権限と認証のプロパティ

プロパティ 説明
auth.class

ユーザ認証に使用するクラス。現時点では、AuthLdap クラスのみが Metacat の配布物に含まれている。 註: AuthInterface インタフェイスを拡張した Java クラスを実装して リビルドすることで他の認証方式を実装した場合は、 その独自の認証クラスの完全な名前をこのプロバティに設定すること。

初期値: edu.ucsb.nceas.metacat.AuthLdap

edu.ucsb.nceas.metacat.AuthLdap
auth.timeoutMinutes*

何の操作もせずにユーザが Metacat にログインしたままで居られる時間(分単位)

初期値: 180

180
auth.administrators Metacat の管理権限を持つユーザまたはグループのリスト(コロン区切り)。 Metacat を初めてインストールして設定した時に、少なくともひとりのユーザまたは グループを入力しなればならない。設定を継続するには全アカウントが LDAP に 存在していなければならない。 uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org cn=yourgroup,o=NCEAS,dc=ecoinformatics,dc=org
auth.url

Metacat が認証に使用するべきサーバの URL。

初期値: ldap://ldap.ecoinformatics.org:389/

ldap://ldap.ecoinformatics.org:389/
auth.surl

Metacat が安全な認証に使用するべきサーバの URL 。

初期値: ldap://ldap.ecoinformatics.org:389/

ldap://ldap.ecoinformatics.org:389/
auth.base

認証しようとする Metacat ユーザの識別名の基本部分。

初期値: dc=ecoinformatics,dc=org

dc=ecoinformatics,dc=org
auth.allowedSubmitters

Metacat に文書を送信できるユーザのリスト(コロン区切り)。 値が指定されていない場合は、全ユーザが Metacat に送信できる。

初期値: (none)

uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org
auth.deniedSubmitters

文書の送信を許可しないユーザのリスト(コロン区切り)。 値が指定されていない場合は、全ユーザが文書を送信できる。

初期値: (none)

uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org
ldap.connectTimeLimit*

LDAP サーバへの接続を許す時間(ミリ秒単位)

初期値: 5000

5000
ldap.searchTimeLimit*

LDAP サーバの検索に対して許される時間(ミリ秒単位)

初期値: 30000

3000
ldap.searchCountLimit*

LDAP サーバの検索に対する検索結果の最大件数

初期値: 30000

30000
ldap.referral*

LDAP の紹介機能としてどの種類を使用するか。指定可能な値は “follow”, “throw” または “none”。 より詳しくは LDAP の説明書を参照のこと。

初期値: follow

follow
ldap.onlySecureConnection*

安全な LDAP サーバだけを使用するかどうかを決める。 指定可能な値は “true” と “false”.

初期値: false

false
ldap.onlySecureReferalsConnection*

安全な紹介サーバのみを使用するかどうか決める。 指定可能な値は “true” と “false”.

初期値: false

false

17.5. XML/EML プロパティ

Metacat の XML/EML プロパティについて以下で説明する。 これらのプロパティは手作業で metacat.properties ファイルを 編集するしかない。

XML/EML プロパティ

プロパティ 説明
xml.saxparser

XML 文書を解析するのに使用する SAX パーサ。 Metacat は SAX2 互換の XML パーサを必要とする。

初期値: org.apache.xerces.parsers.SAXParser

org.apache.xerces.parsers.SAXParser
xml.eml2_0_0namespace

EML 2.0.0 文書の名前空間

初期値: eml://ecoinformatics.org/eml-2.0.0

eml://ecoinformatics.org/eml-2.0.0
xml.eml2_0_1namespace

EML 2.0.1 文書の名前空間

初期値: eml://ecoinformatics.org/eml-2.0.1

eml://ecoinformatics.org/eml-2.0.1
xml.eml2_1_0namespace

EML 2.1.0 文書の名前空間

初期値: eml://ecoinformatics.org/eml-2.1.0

eml://ecoinformatics.org/eml-2.1.0
xml.packagedoctype

パッケージファイルの文書型。システムはこの型の文書を パッケージファイルとしか認識しない。 package の説明文を参照のこと。

初期値: -//ecoinformatics.org//eml-dataset-2.0.0beta6//EN

-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN -//ecoinformatics.org//eml-dataset-2.0.0beta4//EN
xml.accessdoctype

アクセス制御リスト (ACL) ファイルの文書型。システムは この型の文書をアクセスファイルとしか認識しない。 アクセス制御の説明書を参照のこと。

初期値: -//ecoinformatics.org//eml-access-2.0.0beta6//EN

-//ecoinformatics.org//eml-access-2.0.0beta6//EN -//ecoinformatics.org//eml-access-2.0.0beta4//EN

17.6. Data Manager プロパティ

EML Data Manager は拡張データ検索操作も含んでいる。ただしこれは未だに実験的な機能である。

プロパティ 説明
datamanager.server Datamanager ライブラリが一時的なデータベースの格納に使用するサーバ localhost
datamanager.database Datamanager のデータベース名 datamananger
datamanager.user Datamanager データベースのユーザ名 datamananger
datamanager.password Datamanager ユーザのパスワード datamananger

17.7. 追加のプロパティ

追加の設定プロパティを下に記す。ただしプロパティファイルを直接編集すればより多くのプロパティを設定可能である。

プロパティ 説明
plugin.handlers

プラグインインタフェイスの実装である edu.ucsb.nceas.metacat.plugin.MetacatHandlerPlugin をリスト することができる

初期値: 空

org.example.CustomActionHandler