────────────────────────────────────── 設定の解説書: ソフトウェア「ボルボックス」 ────────────────────────────────────── 2010年 7月24日                    ─────────────────── 有限会社アゼロス                    ─────────────────── ● フォルダ構造: 次の構成で、ライブラリ/CGI/ユーザの各種ファイルを設定します(カッコ 内は、必要なアクセス権です[※1]): ○ フォルダ構造:ライブラリ&CGI: ---------------------------------------------------------------------------- - bin (sysmgr.sysmgr 755) ... プログラム(コマンド・ユーティリティ用) - cnf (sysmgr.sysmgr 644) ... 個別設定ファイル - etc (sysmgr.sysmgr 644) ... 共通の雛形 - lib (sysmgr.sysmgr 644) ... 共有ライブラリ(pm, xsl) - web_bin -> /var/www/bin/xmlcms - bin (webmgr.apache 755) ... プログラム(CGI用) - web_doc -> /var/www/doc/xmlcms - doc (webmgr.apache 644) ... ウェブ用文書 - img (webmgr.apache 644) ... イメージ・ファイル - css (webmgr.apache 644) ... 共有スタイルシート(css) - lib (webmgr.apache 644) ... 共有スクリプト(js) ---------------------------------------------------------------------------- ○ フォルダ構造:ユーザ(例): ※ 各ユーザのフォルダは(設定ファイルで個別に指定するので)自由に構成できま す。 ---------------------------------------------------------------------------- - xsl (sysmgr.sysmgr 644) ... XSL文書 - xml (apache.apache 664) ... XML文書 - etc (sysmgr.sysmgr 644) ... 個別の雛形 - bin (sysmgr.sysmgr 755) ... 個別のプログラム - var (apache.apache 664) ... 遅延生成用日時ファイル、等 - web_doc -> /var/www/doc/sample ... ウェブ用公開文書 - doc (apache.apache 664) - img (apache.apache 664) - arc (apache.apache 664) - css (webmgr.apache 664) - lib (webmgr.apache 664) ---------------------------------------------------------------------------- 1]それぞれのユーザ/グループは、次のように位置づけられます: ○ ユーザ: ・ sysmgr ... アプリケーションの管理ユーザ ・ webmgr ... ウェブ・コンテンツの管理ユーザ ・ apache ... ウェブ・サーバの実行ユーザ ○ グループ: ・ sysmgr ... アプリケーションの管理グループ ・ apache ... ウェブ・サーバの実行グループ ○ 各ユーザの第一所属グループ: ・ sysmgr: sysmgr ・ webmgr: apache ・ apache: apache ● 入出力: ○ 入出力:入力フォーム 入力内容をXML形式に変換するための入力フォームは、次の書式となります: ・ ノードの場合: ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- ・ テキスト・ノードの場合(テキストを値に持つノード): ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- ・ テキスト・ノードの文字列を変換したい場合: ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- ※ ノードは、第1階層のノードから順に作成する必要があります(これは、シリア ル番号を階層に沿って付ける必要がある、ということです)。 ※ このとき必要なのは、始端ノード名のみです(終端ノード名は必要ありません)。 ● データ構造: ○ データ構造:入力フォーム 編集画面の入力フォームは、次の書式で定義します: ---------------------------------------------------------------------------- <......> ... 入力フォームの定義 ... ノードのパス(キー) ... ノードのパス(表示させたい場合に[1 ]) ... このノードで入れ子表示を止めたいときに[1 ] デフォルトの深さ指定より浅いノードに適用される ... 項目名(本来のノード名を表示させたいなら[1 ]) ... 入力フォームの見せ方 i ... 一行フォーム p ... 暗号フォーム(パスワード入力) h ... 編集させない(表示のみ) ... 入力項目の高さ ... 内容の文字列変換指示 ... アップロード先のディレクトリ。アップロードの指示を兼ねる ... その画像素材に至るURL(編集画面における画像のプレビュー用) ... 画像のリサイズ指示(横サイズ、単位:ピクセル) ... 項目の複製/削除 c ... 複製(書式の複製) d ... 削除 ... 選択項目 ... 項目 ... 名前 ... 値 ---------------------------------------------------------------------------- ○ データ構造:生成マップ XMLにXSLを適用し、指定の処理を行う生成マップは、次の書式で記述しま す: ---------------------------------------------------------------------------- <......> ... 参照XMLファイル群(正規表現)(複数可) p: ... 文字列を読み出し(これにXMLヘッダ+が付く) f: ... ファイルを読み出し r: ... ファイルを読み出し(正規表現)……初期値 v: ... ファイルを読み出し(一時ファイル) x: ... プログラムを呼び出し(評価) o: ... プログラムを呼び出し(シェル) ... 参照XSLファイル f: ... ファイルを読み出し s: ... ファイルを読み出し〜ファイル内の指定文字列(perl式)を置き換え……初期値 ... 生成するファイル f: ... ファイルに書き出し……初期値 v: ... ファイルに書き出し(一時ファイル) g: ... 生成マップ処理 x: ... プログラムを呼び出し(評価) ... 生成前に実行するプログラム・コード(perl形式) 例えばXSLに与える引数(perlの連想配列形式)等(複数可) x: ... プログラムを呼び出し(評価)……初期値 ---------------------------------------------------------------------------- ※ CGIでの処理モード指定(prcmod=?????? )は、指定されたXSLファイル内 で、次の変数から取り出すことができます: $$entity{status} ※ 一時ファイルは、次の形で取り出すことができます: $handle.\'_??????.xml\' ○ データ構造:メタマップ(サイトマップの生成マップ) メタマップは、次の書式で記述します: ※ いまのところ、このXML形式を使うことはありません。現在の実装では、それ ぞれの値は、設定ファイル内の次の変数に与えることになります: $cmsgen::filgnx ... マップ生成用XMLファイル群(正規表現) $cmsgen::filgns ... マップ生成用XSLファイル(XSL形式) ※ マップ生成用XSLファイルが空のときは、指定のXMLファイルのみが使われ ます。このとき指定のXMLファイルは、(正規表現ではなく)単一のファイル として指定する必要があります。 ---------------------------------------------------------------------------- <......> ... マップ生成用XMLファイル群(正規表現) ... マップ生成用XSLファイル(XSL形式) ---------------------------------------------------------------------------- ○ 提供される関数 ・ xmlgen::sinput ... 標準入力から読み込み ・ xmlgen::output ... 標準出力に書き出し ・ cmsprc::xinptt ... ウェブ・ブラウザから読み込み(二項版/項目〜値の組み) ・ cmsprc::xinput ... ウェブ・ブラウザから読み込み(多層版/ツリー構造) ・ cmsprc::output ... ウェブ・ブラウザに出力(HTTPヘッダ) ・ cmsprc::outptt ... ウェブ・ブラウザに出力(テキストヘッダ) ・ subrdb::sqladm ... XMLによるRDB操作(追加) ・ subrdb::sqlmdm ... XMLによるRDB操作(変更) ・ subrdb::sqlrmm ... XMLによるRDB操作(削除) ・ subrdb::sqlrfm ... XMLによるRDB操作(参照) ○ データ構造:メール送信 メール送信のための生成ファイルは、次の書式で記述します: ・ ファイル名:??????.mailto ---------------------------------------------------------------------------- <......> ... 接続SMTPサーバ ... 送信者 ... 受信者 ... 題名 ... 内容 ---------------------------------------------------------------------------- ※ 内容は、改行文字をそのまま使えます(
で記さなくてよい)。 ※ 特殊文字(<>& )については、記号で記す必要があります。 ※ これらを実現するため、次を設定するようにしてください: 設定ファイル上で、すべての項目に指定する場合: $xmledt::flgcnv = 'aqt' 入力フォーム上で、項目ごとに指定する場合: ● プロセスの遷移: ○ プロセスの遷移:モードの指定 とくにCMSでは、処理モードをハード・コーディングしています。CGI呼出 では、次の形式でモードを呼び出します: ・ 呼び出し方:xmlcms.cgi?prcmod=?????? ※ モードの一覧: ---------------------------------------------------------------------------- - lstxml ... XMLファイル一覧を閲覧 > adpxml > mdpxml > dlpxml > gennod - adpxml ... XMLファイルを追加(準備) > mdxxml - mdpxml ... XMLファイルを変更(準備) > mdxxml - dlpxml ... XMLファイル/生成ファイルを削除(準備) > dlxxml - mdxxml ... XMLファイルを追加/変更(実行) - mdcxml ... XMLファイルの内容を確認 > mdxxml - dlxxml ... XMLファイル/生成ファイルを削除(実行) - gennod ... XML+XSLからファイルを生成 - synxml ... 生成したファイルを転送 ---------------------------------------------------------------------------- ● プロセスの挙動: ○ プロセスの遷移:設定ファイル CGI呼出では、次の形式でその挙動を定義します: ・ 呼び出し方:xmlcms.cgi?config=?????? ・ ファイル名:config_??????.txt ※ とくに次の変数には、次の置換指定を記述できます: ・ $xmledt::strxnm ... $$entity{sysyer}, $$entity{sysmon}, ... ・ $cmsgen::filgnx ... $$entity{nodsdi} ---------------------------------------------------------------------------- ############################################################################ # 準備: ############################################################################ my $dirtop = '/opt/cmssmp'; ############################################################################ # 全般: ############################################################################ $cmscmm::dirxml = $dirtop.'/xml'; # XML文書のディレクトリ $cmscmm::urlweb = 'http://192.168.1.1/'; # 公開ドキュメントのURL(終端は”/ ”で終わること) $cmscmm::urlcgi = "$cmscmm::urlweb".'cgi-bin/'; # CGIのURL(終端は”/ ”で終わること) ############################################################################ # 認証: ############################################################################ $cmsath::pwdcfo = 'abcd1234'; # パスワード # $cmsath::filspw = ''; # パスワード入力の雛形(XSL形式) ############################################################################ # 一覧: ############################################################################ $cmslst::filsln = $dirtop.'/etc/frmlst.xsl'; # 一覧画面の雛形(XSL形式) $cmslst::fillsx = '^arcdat_.*\.xml.*$'; # 一覧表示時の参照ノード群(正規表現) $cmslst::fillsy = '^arcdat_.*\.xml.*$'; # 一覧表示時の参照データ群(正規表現) ############################################################################ # 編集: ############################################################################ # $xmledt::filsip = ; # 編集画面の雛形(XSL形式) $xmledt::filfrm = $dirtop.'/etc/frmifm.xml'; # 入力フォーム定義:全体(XML形式) $xmledt::urlipr = 'file://'.$dirtop.'/etc/frmipr.xml'; # 入力フォーム定義:個別(XML形式) $xmledt::flgsav = ''; # 保存時のスイッチ(gs) $xmledt::strxnm = 'arcdat____.xml'; # XMLファイル保存時のデフォルト・ファイル名 ############################################################################ # 生成: ############################################################################ $cmsgen::filgnx = $dirtop.'/xml/.*.xml$'; # マップ生成用XMLファイル群(正規表現) $cmsgen::filgns = $dirtop.'/etc/makeup.xsl'; # マップ生成用XSLファイル(XSL形式) ############################################################################ # 遅延: ############################################################################ $cmsdly::dirdly = $dirtop.'/var'; # 遅延生成のディレクトリ # $cmsdly::filsdl = $dirtop.'/etc/frmdly.xsl'; # 遅延生成編集ページの雛形(XSL形式) # $cmsdly::extdly = '.notuse'; # ファイルの目印(遅延生成用) # $cmsdly::extcls = '.closed'; # ファイルの目印(閉鎖指定用) ############################################################################ # 送信: ############################################################################ # $cmssmt::extmsg = '.mailto'; # ファイルの目印(メール送信用) ---------------------------------------------------------------------------- 以上