Last updated: 12/22/2002 Top ドキュメントTop

データベース管理システム 管理者用ガイド
ユーザ情報定義ファイル

概要

ユーザ情報を管理するための設定を定義するファイルです。 ユーザ情報を管理する必要がない場合は、 このファイルを用意する必要はありません。 require で呼び出されるため、 ファイルの最後は "1;" で終わる必要があります。

configure サブルーチン

ファイルの中で configure サブルーチンを定義し、 その中で設定を記述する必要があります。

configure サブルーチンは、 各種設定が記述されたハッシュへのリファレンスを返すものとします。

大雑把な形式は次のようになります。

sub configure { my $group = shift; my $self = { };
$self->{global} = { ... }; ...
return $self; }

詳細については、サンプルを参照してください。

以下に、各項目の概要や型を示します。 (必須) と書かれたものは、 必ず設定する必要があります。 必須でない項目を省略した場合は、デフォルト値が適用されます。 デフォルト値が記されていない場合は undef が適用されます。

$self->{global}: 全般的な設定

$self->{global}{table} => STRING
ユーザ情報を格納するテーブルのテーブル名です。 テーブル名には、英小文字 (a-z) またはアンダースコア (_) のみの文字を 使用できます。ただし、先頭と末尾は英小文字 (a-z) でなければいけません。 また、25文字程度より長い名前は受け付けられません。 さらに、'seq_', 'sys_' で始まる文字列や、'dbsession' は システムの内部で使用するため、受け付けられません。
$self->{global}{mail} => CODE
ユーザ情報の登録/修正が完了したときに送信するメールを 生成するためのコードです。 引数は ($passwd, $type, $col)、 戻り値は ($mailto, $title, $body) としてください。 引数と戻り値の詳細を以下に示します:
$passwd => Passwd
DBIPgSystem::Passwd オブジェクトです。
$type => STRING
ユーザ登録ならば 'registry'、 更新ならば 'update' が代入されます。
$col => HASHREF
登録または修正された後のユーザ情報の値です。 キーがカラム名、値が対応する値になっています。
$mailto => STRING
送信先のメールアドレスです。
$title => STRING
Subject です。
$body => STRING or ARRAYREF
本文です。通常の文字列を返すか、 1行分の文字列を要素とする配列へのリファレンスを返してください。

DBIPgSystem::DB モジュールの各メソッド別の設定

$self->{hook}{readcol} => CODE
DBIPgSystem::Passwd::readcol メソッドの最後に呼び出されます。 詳しくは DBIPgSystem::Passwd::readcol メソッドのソースを ご覧ください。

$self->{template}: テンプレートファイルの設定

$self->{template} の設定でファイル名を指定する箇所は、 全て拡張子 '.html' を省いたものを記述してください。 データ定義ファイルの $self->{template}{dir} で指定されたディレクトリ に存在しなければいけません。

$self->{template}{registry_error} => HASHREF
ユーザ情報の登録/修正で書き込まれた値にエラーがあった場合、 ユーザ情報の修正を開始する場合に参照されるテンプレートファイルです。 DBIPgSystem::start_update_passwd メソッドregistry_passwd_verify メソッドregistry_passwd メソッド で利用されます。
$self->{template}{registry_verify} => HASHREF
ユーザ情報の登録/修正での確認用のテンプレートファイルです。 registry_passwd_verify メソッド で利用されます。
$self->{template}{registry_success} => HASHREF
ユーザ情報の登録/修正で、 挿入が完了したときに参照されるテンプレートファイルです。 registry_passwd メソッド で利用されます。
$self->{template}{send_passwd_success} => HASHREF
ユーザ情報を忘れた場合のメール送信で、 送信後に参照されるテンプレートファイルです。 DBIPgSystem::send_passwd メソッド で利用されます。

カラムの設定

$self->{column_name} => HASHREF
カラムの表示名です。キーがカラム名、 値が対応するカラムの表示名になっています。
$self->{column_check} => CODE
ユーザ情報の登録/修正時に、カラムをチェックします。 引数は ($col)、返り値は $err としてください。
引数と戻り値の詳細を以下に示します:
$col => HASHREF
登録/修正されたユーザ情報の値です。 キーがカラム名、値が対応する値になっています。
$err => ARRAYREF or undef
エラー情報です。各要素は、配列へのリファレンスで、 [ カラム名, エラーコード ] としてください。

$self->{column}: 各カラムの設定

$self->{db}{column}[*]{name} => STRING (必須)
データベースのカラム名です。
$self->{db}{col}{$dbt}[*]{uniq} => BOOLEAN
true ならば他のユーザ情報と重複した値を設定できません。
$self->{db}{col}{$dbt}[*]{nodb} => BOOLEAN
true ならばデータベースに対応するカラムを用意しません。 パスワードの確認用のカラムを用意するときなどに有用です。