基本セット(ダウンロード)

せりか式 - Satsuki system - 基本セット(ダウンロード)

adiaryからSatsuki systemの本体部分を抜き出してきた再配布ファイルです. Satsuki system 本体とデータベースを扱うライブラリの基本セット(テンプレートセット)になっています.
adiary自体はadiaryダウンロードからダウンロードできます.

ダウンロード

    基本セットのダウンロード基本セット basic.zip

使い方

  1. ダウンロードしたファイルを展開します
  2. ファイルをそのままサーバへ転送します.
  3. __cache, dataフォルダに書き込み権限を与えます(パーミッションを777に).
  4. Application.cgi, Application.conf.cgiに実行権限を与えます(パーミッションを755に)
  5. ブラウザでApplication.cgiにアクセス
    "Hello World!"が表示されればとりあえず動いてます.
    エラーが出る場合はフォルダやファイルのパーミッションが間違えている可能性大です.(FAQ参照)
  6. あとは必要なperl moduleを書いて,スケルトンファイルを置くだけです

フォルダ構造

以下がSatsuki systemを使うための基本セットになります. 一部,データベース周りや自動で読み込まれる*_autoファイルなどは省略しています.

基本セットの構成:Satsuki system本体部分(一部)
[basic]
  |-- [__cache]
  |-- [data]
  |-- [skelton]
  |     `-- [action]
  |-- [lib]
  |     |-- Satsuki.pm
  |     `-- [Satsuki]
  |           |-- AutoLoader.pm
  |           |-- [Base]
  |           |     |-- BufferedRead.pm
  |           |     `-- Compiler.pm
  |           |-- Base_*.pm
  |           |-- DB_*.pm
  |           |-- Jcode.pm
  |           `-- Timer.pm
  `-- GPL.txt
基本セットの構成:テンプレート部分
[basic]
  |-- [skelton]
  |     |-- main.html
  |     `-- error.html
  |-- [lib]
  |     `-- [Satsuki]
  |           `-- Application.pm
  |-- Application.cgi
  `-- Application.conf.cgi

Satsuki system本体の構成

__cache

スケルトンファイルをコンパイルしたファイルがキャッシュされます.
このフォルダは書き込みを許可しておく必要があります.

data

疑似データベースを利用するときなど,データとして保存されるべきファイルが保存されます.
このフォルダは書き込みを許可しておく必要があります.

skelton

Satsuki systemの肝です.
プログラマはこのフォルダの下に各ページのスケルトンを置きます. ここで配布している基本セットではクエリーとしてスケルトン名を指定することでスケルトンを切り替えられるようになっています.

skelton/test.html がある場合,このスケルトンは
application.cgi?test
として読み出すことができます.

skelton/action

フォームアクションを処理するためのスケルトンです. ここで配布している基本セットではPOSTされたデータの中にactionが指定されている場合,このフォルダにある対応したアクションスケルトンが自動的に呼び出されるようになっています.

lib/Satsuki

Satsuki systemの本体が入ります. また,自作したモジュールもここに保存することになります.

テンプレートの構成

Applicationという名前は自由に変更することができます.
直す場合はすべて統一して直すようにしてください.

直すべき場所は以下の5カ所です.

Application.cgi

プログラムのスタートアップになります.特に変更する必要はありません.
スタートアップcgiと設定cgiは同じファイル名にする必要があります.

Application.conf.cgi

プログラムの設定ファイルです. このファイル名はスタートアップcgiと同じ名前にする必要があります.

基本設定

プログラムのための設定ファイルになります. ここでプログラムの設定やメインクラスのロードを行います.

基本設定
06: ----------------------------------------
07: ○基本設定
08: ----------------------------------------
09: <$v=new>
10: <$Skelton_dir = 'skelton/'>  スケルトンディレクトリの指定.他のディレクトリを指定することもできますが非推奨です.
11: <$data_dir    = 'data/'>     データディレクトリの指定.同上.
動作設定
動作設定
13: ----------------------------------------
14: ○動作設定
15: ----------------------------------------
16: <$v=Main=loadpm("Application")> メインクラスのロード.SatsukiフォルダにあるApplication.pmをロードします.
17: 
18: <$v.default_skelton = "main">   デフォルトで表示するスケルトンを指定します.
19: <$v.error_skelton   = "error">  エラーが発生したときに表示するスケルトンを指定します.
Application.pm

スケルトンで必要になるメソッドなどを定義するメインクラスになります. Application.conf.cgiにおいて,このパッケージ名を指定します. 少なくとも,パッケージの指定とmainメソッドの定義をする必要があります.

そのままperlスクリプトなので詳細は省きます.

Application.pmから一部抜粋
 :
08: package Satsuki::Application; # ファイル名と同じパッケージ名にします
09: use Satsuki::AutoLoader;
10: #-------------------------------------------------------------------------------
11: our $VERSION = '1.00';
 :
34: ###############################################################################
35: # ■メイン処理
36: ###############################################################################
37: sub main {
 :
48:      # 初回起動の確認
56:      # Query処理
71:      # action (POST) の処理
78:      # 情報の取得
88:      # cookie
96:      # スケルトンの指定
 :
108:     # 出力
109:     $self->output_html($skelton);
110:     return 0;
111: }
 :
116: #------------------------------------------------------------------------------
117: # ●HTMLの生成と出力
118: #------------------------------------------------------------------------------
119: sub output_html {
 :
132: }
133:
134: #------------------------------------------------------------------------------
135: # ●エラーを表示して終了
136: #------------------------------------------------------------------------------
137: sub error {
 :
143: }

重要なのは8行目のパッケージの指定,AutoLoaderの利用,mainルーチンの処理です.
パッケージ名はファイルと同じ名前にしておく必要があります.ここで指定された名前を元にAutoLoaderは分割されたパッケージファイルのロードを行います.
mainメソッドではこのアプリケーションにおける基本的な前処理と処理すべきスケルトンの決定をします.

main.html, error.html

出力の対象となるスケルトンファイルです.
基本的にhtmlそのままですが,特殊なタグを利用することによりSatsuki systemに処理をさせることができます.


トップへ