2.5 setup.xmlファイルの作成方法
第2章では、グループの作成、利用者管理、画面管理等の操作方法について述べました。これらの操作は、FNSアプリケーションが大きくなると大変煩雑になります。この煩雑さを避け、一括してインストールするためにFNSインストーラが設けられました(2.1 (4)「FNSアプリインストール」を選択した場合を参照)。setup.xmlファイルはFNSアプリケーションをFNSシステムにインストールするために必要な制御情報を収めたファイルです。
FNSアプリケーションは一つのフォルダーに収めておく必要があります。そして、setup.xmlファイルは、そのフォルダーの直下に含めます。2.1 (4)「FNSアプリインストール」を選択した場合で述べたようにFNSアプリケーションのインストールに際し、上記フォルダーをzipファイルとして圧縮し、一つのファイルにしておきます。図2.1−17のWebページの「転送ファイル指定フィールド」に当該zipファイルを指定し、FNSシステムにアップロードすると、FNSアプリケーションのzipファイルは解凍され、setup.xmlファイルの制御情報に従ってFNSシステムにインストールされます。
setup.xmlファイルの制御情報制はXML言語(Extensible Markup Language)で記述します。
FNSアプリケーションのインストールのためのXML記述は、次の5つの部分から構成されます。
(a)グループ作成
(b)Webページ登録
(c)電子フォーム登録
(d)コンポーネント登録
・ 掲示板
・ プール型掲示板
・ 受付箱、デフォルト画面、提出画面登録
・ 提示箱、デフォルト画面、メンバ初期画面登録
(e)その他拡張機能登録等
・ マイ・ページ
利用者名&パスワード指定
(1)構文
FNSインストール制御情報のXML構文は次の通りです。
<?xml version="1.0" encoding="Shift_JIS" ?><!--このまま記述-->
<!--FNSアプリケーションセットアップの開始-->
<fns_setup [grpnamechange="{N|Y}"]><!--グループ定義の開始 および 属性指定-->
<group name="#NAME" type="{ONETOMNY|MNYTOMNY|ECHOTHR|NONCOM}"
[mgrpname="#GRPNAME" musrname="#USRNAME"] ><!--当該グループの利用者定義の開始-->
<members><!--利用者定義-->
<member side="{A|B|P}" name="#NAME" [readonly="{Y|N}"] pswd="#PSWD"
[profile="#PROFILE"] [mailaddr="#MAILADDR"] />
:<!--指示利用者定義(他グループの利用者を指示)-->
<refmember side="{A|B|P}" name="#NAME" [readonly="{Y|N}"]
refgrp="#GRPNAME" refusr="#USRNAME" />
:<!--当該グループの利用者定義の終了-->
</members><!--当該グループのWebページ定義-->
<webpage side="{A|B|U|K|C}" pathfile="#FILENAME"
localfile="#FILEPATH" mltwhenzip="{Y|N}" />
:<!--当該グループの一つのフォーム定義の開始 および 属性指定-->
<form id="#ID" type="{HTML|PDF}" name="#NAME" comment="#STR"
rule="{DSTR|CLCT|DSTR_CLCT|CLCT_DSTR|SND|SND_RPLY|RGST},*..."
[optrqmode="{WTREPLY|RDONLY}"] [optchgmfdist="{Y|N}"]
[optchgmfformid="{_NON|#STR}"] ><!--フォームファイルの定義-->
<formfile use="{RW|RDONLY|WTREPLY|PIC}" localfile="#FILEPATH" />
:<!--対応するフォーム定義の終了-->
</form>
:<!--掲示板定義-->
<bord id="#ID" title="#STR" />
:<!--プール型掲示板定義の開始 および 属性指定-->
<poolbord id="#ID" title="#STR" uptype="{STD|PIC|DOC}"
[zipmltopt="{Y|N}"] [chgtostd="{Y|N}"] [usrlimit="{Y|N}"]
[reception="{Y|N}"] ><!--usrlimit=Yの場合の利用者定義-->
<usr name="#NAME" />
:<!--対応するプール型掲示板定義の終了-->
</poolbord>
:
<!--受付箱の定義-->
<rcptbox id="#ID" title="#STR" type="{SINGLE|MULTI}"
[defaultwin="#FILEPATH"] [uploadwin="#FILEPATH"] />
:<!--提示箱の定義の開始 および 属性指定-->
<prsnbox id="#ID" title="#STR" type="{SINGLE|MULTI}" [usrwrite="{Y|N}"]
[prsntr="#NAME"] [defaultwin="#FILEPATH" mltwhenzip="{Y|N}"] ><!--当該提示箱の通覧者定義-->
<reader="#NAME"/>
:<!--当該提示箱の記事の定義-->
<article distusr="#NAME" subject="#STR"
{message="#STR" | localfile="#FILEPATH" mltwhenzip="{Y|N}"} />
:<!--対応する提示箱定義の終了-->
</prsnbox>
:<!--グループ定義の終了-->
</group>
:<!--マイ・ページ定義の開始 および 属性指定-->
<mymenu usrname="#USRNAME" grpname="#AGRPNAME" pswd="#PASSWORD"
blkname="{_DEFAULT|_MYMENU|#BLOCKNAME}" ><!--公開先グループの指定-->
<opengrp grpname="#GRPNAME" [side="{ALL|MANAGER|A|B}"] /><!--マイ・ページのファイルの定義-->
<webpage pathfile="#FILENAME"
localfile="#FILEPATH" mltwhenzip="{Y|N}" />
:<!--マイ・ページ定義の終わり-->
</mymenu>
:<!--FNSアプリケーションセットアップの終わり-->
</fns_setup>
(2) 説明
構文の意味は第2章に記載した各操作に対応していますので、詳しくはそれぞれの説明を参照してください。ここでは各構文がどの操作に対応するかを述べるに留めます。
1) グループ名変更
<fns_setup [grpnamechange="{N|Y}"]>
(a) grpnamechange="{N|Y}"
FNSアプリインストーラでインストールする際に、グループ名の変更を許可する場合“Y ”を、不可とする場合“N ”を指定します。省略時解釈は“N ”です。
グループ名の変更は当該のsetup.xmlで新規に生成されるグループ名称について同setup.xml内での参照部も含めて置き換えます。但しlocalfileやdefaultwin等のパラメータ(#FILEPATH)で指定したファイルの内容は置き換えませんので、電子フォームや利用者画面等でグループ名を固定文字列にて明示記述した物は不都合が生じます。暗黙指定あるいはプラウザのアドレス部から動的に取り出す等の対処が必要です。
2) グループ定義
<group name="#NAME" type="{ONETOMNY|MNYTOMNY|ECHOTHR|NONCOM}"
[mgrpname="#GRPNAME" musrname="#USRNAME"] >(a) name="#NAME"
新しく作成するグループの名前。
(b) type="{ONETOMNY|MNYTOMNY|ECHOTHR|NONCOM}"
作成するグループの種別。
ONETOMNY : 1対多
MNYTOMNY : 多対多
ECHOTHR : 任意
NONCOM : 通信なし(c) mgrpname="#GRPNAME"
作成するグループの管理者が所属するグループの名前。
※1対多グループでは指定できません。
(d) musrname="#USRNAME"
作成するグループの管理者の名前。
※1対多グループでは指定できません。
3) 利用者定義
<member side="{A|B|P}" name="#NAME" [readonly="{Y|N}"] pswd="#PSWD"
[profile="#PROFILE"] [mailaddr="#MAILADDR"] />(a) side="{A|B|P}"
グループ種別に従い次を指定します。
1対多 : 運用者に対してAを指定。利用者に対してBを指定。
多対多 : A端利用者に対してAを指定。B端利用者に対してBを指定。
任意 : 利用者に対してPを指定。
通信なし : 利用者に対してPを指定。
(b) name="#NAME"
利用者の名前。
(c) readonly="{Y|N}"
利用者がグループ資源へのアクセスが参照のみの場合“Y”を、変更も可能の場合“N”を指定します。省略時解釈は“N”です。
(d) pswd="#PSWD"
グループ・ログイン時のパスワード。
(e) profile="#PROFILE"
利用者のプロファイル。
(f) mailaddr="#MAILADDR"
利用者のe-mailアドレス。
4) 指示利用者定義(他グループの利用者を指示)
<refmember side="{A|B|P}" name="#NAME" [readonly="{Y|N}"]
refgrp="#GRPNAME" refusr="#USRNAME" />(a) side="{A|B|P}" name="#NAME" readonly="{Y|N}"
上記「2) 利用者定義」と同じ。
(b) refgrp="#GRPNAME"
利用者が所属するグループの名前。
(c) refusr="#USRNAME"
refgrpで指定したグループでの利用者の名前。
5) Webページ定義
<webpage side="{A|B|U|K|C}" pathfile="#FILENAME"
localfile="#FILEPATH" mltwhenzip="{Y|N}" />(a) side="{A|B|U|K|C}"
グループ種別に従って、利用者、運用者、A端利用者、B端利用者、および管理者はそれぞれ独自の画面を持つことができます。また、1対多および多対多のグループでは共用画面を持つことができますが、Webページをどの画面として登録するかを指定します。
A : グループ種別が“1対多”の運用者画面、“多対多”のA端利用者画面
B : グループ種別が“1対多”の場合の利用者画面、多対多のB端利用者画面
U : グループ種別が“任意”or“通信なし”の場合の利用者画面
K : 管理者画面
C : 共用画面
(b) pathfile="#FILENAME"
各画面用フォルダー内のパス名を指定。
(c) localfile="#FILEPATH"
上記(b)のパス名のファイルもしくはフォルダーに転送する、FNSアプリケーションのフォルダー内のファイルのパス名を指定。
(d) mltwhenzip="{Y|N}"
Y : localfileがzipファイルである場合は解凍(展開)して登録する。
N : localfileがzipファイルである場合でも解凍(展開)せず、zipファイルのまま登録する。
6) フォーム定義
<form id="#ID" type="{HTML|PDF}" name="#NAME" comment="#STR"
rule="{DSTR|CLCT|DSTR_CLCT|CLCT_DSTR|SND|SND_RPLY|RGST},*..."
[optrqmode="{WTREPLY|RDONLY}"] [optchgmfdist="{Y|N}"]
[optchgmfformid="{_NON|#STR}"] >(a) id="#ID"
フォームIDを指定。
(b) type="{HTML|PDF}"
フォームの種類(HTMLあるいはPDF)を指定します。
(c) name="#NAME"
フォームの名前。
(d) comment="#STR"
フォームの内容説明。
(e) rule="{DSTR|CLCT|DSTR_CLCT|CLCT_DSTR|SND|SND_RPLY|RGST},*..."
フォームの転送規則を指定。
DSTR : 配信
CLCT : 集信
DSTR_CLCT : 配信&集信 (PDFフォームのみ)
CLCT_DSTR : 集信&配信 (PDFフォームのみ)
SND : 発信
SND_RPLY : 発信&返信 (PDFフォームのみ)
RGST : 登録 (HTMLフォームのみ)
(f) optrqmode="{WTREPLY|RDONLY}" ※HTMLフォームのみで指定可能
受信キューの閲覧が返信操作モードか表示専用モードかを指定。
WTREPLY : 返信操作モード
RDONLY : 表示専用モード
省略時解釈は表示専用モードで閲覧。
(g) optchgmfdist="{Y|N}" ※HTMLフォームのみで指定可能
返信操作モード時mfdist(宛先)を受信情報の発信者名で置換えるか否かを指定。
Y : 置換えない。
N : 置き換える。
省略時解釈は発信者名で置換える(N)。
(h) optchgmfformid="{_NON|#STR}" ※HTMLフォームのみで指定可能
返信操作モード時mfformid(フォームID)を#STRで置換えるか、置き換えない場合_NONを指定。
省略時解釈は_NON。
7) フォームファイルの定義
<formfile use="{RW|RDONLY|WTREPLY|PIC}" localfile="#FILEPATH" />
(a) use="{RW|RDONLY|WTREPLY|PIC}"
フォームファイルの種類を指定。
RW : 新規書込フォーム
REONLY : 表示専用フォーム
WTREPLY : 返信更新フォーム
PIC : 縮小表示用画像
(b) localfile="#FILEPATH"
FNSアプリケーションのフォルダー内のファイルのパス名を指定。
8) 掲示板定義
<bord id="#ID" title="#STR" />
(a) id="#ID"
掲示板のID。
(b) title="#STR"
掲示板のタイトル。
9) プール型掲示板定義
<poolbord id="#ID" title="#STR" uptype="{STD|PIC|DOC}"
[zipmltopt="{Y|N}"] [chgtostd="{Y|N}"] [usrlimit="{Y|N}"]
[reception="{Y|N}"] >(a) id="#ID"
プール型掲示板ID。
(b) title="#STR"
プール型掲示板のタイトル。
(c) uptype="{STD|PIC|DOC}"
STD : 基本型
PIC : 画像型
DOC : 添付資料説明型
(d) zipmltopt="{Y|N}"
Y : ZIP展開オプションつき。
N : ZIP展開オプションなし。
省略時解釈はN。
(e) chgtostd="{Y|N}"
Y : 基本型切替え可能
N : 基本型切替え不可能
省略時解釈はN。
(f) usrlimit="{Y|N}"
Y : アクセス可能な利用者を限定する。
N : アクセス可能な利用者を限定しない。
省略時解釈はN。
(g) reception="{Y|N}"
Y : 利用者による記事の登録は可能。
N : 利用者による記事の登録は不可(登録停止状態)とする。管理者のみ登録可能。
省略時解釈はY。
10) 上記「9)(f) usrlimit=Y」の場合の利用者定義
<usr name="#NAME" />
アクセス可能な利用者名。
11) 受付箱の定義
<rcptbox id="#ID" title="#STR" type="{SINGLE|MULTI}"
[defaultwin="#FILEPATH"] [uploadwin="#FILEPATH"] />(a) id="#ID"
受付箱ID。
(b) title="#STR"
受付箱のタイトル。
(c) type="{SINGLE|MULTI}"
SINGLE : 単一文書:各利用者毎に一つの文書を保管。
MULTI : 複数文書:各利用者毎に複数の文書を保管(表題付)。
(d) defaultwin="#FILEPATH"
FNSアプリケーションのフォルダー内のデフォルト画面ファイルのパス名を指定。
(e) uploadwin="#FILEPATH"
FNSアプリケーションのフォルダー内の提出用画面ファイルのパス名を指定。
12) 提示箱の定義
<prsnbox id="#ID" title="#STR" type="{SINGLE|MULTI}" [usrwrite="{Y|N}"]
[prsntr="#NAME"] [defaultwin="#FILEPATH" mltwhenzip="{Y|N}"] >(a) id="#ID"
提示箱ID。
(b) title="#STR"
提示箱のタイトル。
(c) type="{SINGLE|MULTI}"
SINGLE : 単一提示:各利用者毎に一つの文書を提示。
MULTI : リスト形提示:各利用者毎に複数の文書を提示(表題付)。
(d) usrwrite="{Y|N}"
Y : 利用者は記事を登録できる。
N : 利用者は記事を登録できない。
省略時解釈はN。
(e) prsntr="#NAME"
提示する利用者(提示者)の名前。
(f) defaultwin="#FILEPATH"
FNSアプリケーションのフォルダー内のデフォルト画面ファイルのパス名を指定。
(g) mltwhenzip="{Y|N}"
デフォルト画面ファイル(defaultwin)にzipファイルを指定した場合の処理指定。
Y : 当該zipファイルを解凍(展開)してデフォルト画面として登録。
N : 当該zipファイルを解凍(展開)せずに、zipファイルのまま登録。
13) 通覧者の定義
<reader="#NAME"/>
通覧可能な利用者名。
14) 提示箱の記事の定義
<article distusr="#NAME" subject="#STR"
{message="#STR" | localfile="#FILEPATH" mltwhenzip="{Y|N}"} />(a) distusr="#NAME"
記事を定義する利用者の名前。
(b) subject="#STR"
記事メモ。
(c) message="#STR"
記事がテキストの場合の記事内容。
(d) localfile="#FILEPATH"
記事がファイルの場合、FNSアプリケーションのフォルダー内の記事ファイルのパス名を指定。
(e) mltwhenzip="{Y|N}"
Y : localfileがzipファイルである場合は解凍(展開)して登録する。
N : localfileがzipファイルである場合でも解凍(展開)せず、zipファイルのまま登録する。
15) マイ・ページの定義
<mymenu usrname="#USRNAME" grpname="#AGRPNAME" pswd="#PASSWORD"
blkname="{_DEFAULT|_MYMENU|#BLOCKNAME}" >(a) grpname="#AGRPNAME"
利用者が属するグループ名。
(b) usrname="#USRNAME"
利用者名。
(c) pswd="#PASSWORD"
パスワード。
(d) blkname="{_DEFAULT|_MYMENU|#BLOCKNAME}"
ブロックの種別。
_DEFAULT : デフォルトページ。
_MYMENU : マイ・メニュー。
#BLOCKNAME : 利用者指定ブロック。
16) 公開先グループの指定
<opengrp grpname="#GRPNAME" [side="{ALL|MANAGER|A|B}"] />
(a) grpname="#GRPNAME"
公開先グループ名。
(b) side="{ALL|MANAGER|A|B}"
公開する利用者。
ALL : 全利用者
MANAGER : 管理者。
A : A端利用者(グループタイプが「多対多」である場合のみ指定可能)。
B : B端利用者(グループタイプが「多対多」である場合のみ指定可能)。
17) マイ・ページのファイルの定義
<webpage pathfile="#FILENAME"
localfile="#FILEPATH" mltwhenzip="{Y|N}" />(a) pathfile="#FILENAME"
マイ・ページのパス名。
(b) localfile="#FILEPATH"
上記(a)のパス名に転送する、FNSアプリケーションのフォルダー内のファイルのパス名を指定。
(c) mltwhenzip="{Y|N}"
Y : localfileがzipファイルである場合は解凍(展開)して登録する。
N : localfileがzipファイルである場合でも解凍(展開)せず、zipファイルのまま登録する。