JiftyでWebアプリをつくる - Windowsにインストール

こんにちは、Perl担当の西山です。
今回から数回に分けてPerlのWebアプリケーションフレームワークであるJiftyを取り上げてみたいと思います。
Jiftyの特徴
公式サイトにてJiftyの基本理念が表明されていますが、その中でも特にRuby on Railsも売りとしている「DRY(Don't Repeat Yourself)」「Full-stack」についてCatalystよりも強く意識しているのが感じられます。 Jiftyはその特徴をPerl流に更にエクストリームに実践することを開発思想としているようです。
というわけでこちらの取り上げ方もRailsをちょっと意識してみて、
Windows環境でイチからセットアップするところから始めてみようと思います。
※本エントリーではOSはWindowsXP、ActivePerlのバージョンは5.8系列を使用します。
1. ActivePerlをインストール
まずはWindows上でPerlスクリプトを実行できるようにする為、実行環境をインストールします。 ここではWindows用のインストーラが用意されていてお手軽に利用できるActivePerlという実行環境をインストールします。 ActivePerlはActiveState社が配布していて、スタンダード版は無償で入手することができます。 ダウンロードページ
5.10系列もリリースされていますが、本エントリーでは5.8系列を使用する為、現時点の最新版である5.8.8.822をインストールしてください。
インストーラ実行時の選択肢は基本的にデフォルト設定で問題無いと思います。
Jiftyをインストール
ActivePerl付属のPerl Package ManagerというGUIのツールを使ってJiftyをインストールします。 デフォルト設定でActivePerlをインストールしている場合、 スタートメニュー > すべてのプログラム > ActivePerl 5.8.8 Build 822 > Perl Package Manager を選択すると、以下の画像のようにアプリケーションが起動します。
リポジトリを追加
ActivePerl標準のパッケージリポジトリにはJiftyは登録されていない為、別途参照先のリポジトリを登録します。 ppm.tcool.orgというサイトで、 Jiftyを始めとする標準でサポートされていないモジュールがWindows版ActivePerl用のパッケージとして提供されていますのでそちらを利用します。 Package Managerのツールバーから Edit > Preference > Repositories と選択すると、 リポジトリの追加画面が表示されるので、以下のURLをPackage Managerに登録します。追加するURL: http://ppm.tcool.org/archives/
インストールを実行
次に、ツールバーのView > All Packages にチェックを入れてリポジトリに登録されているすべてのパッケージを一覧の表示対象とします。 そして、検索フォームに「Jifty」と入力すると以下の画像のように該当のパッケージが絞り込まれて表示されます。
一覧上のJiftyを右クリックで選択してインストール対象として選択状態にし、ツールバーの File > Run Marked Actions を選択すると
確認ダイアログが表示されインストールが始まります。
マシンスペックにもよるかもしれませんが、追加で必要となるパッケージが222個あると言われる通り
インストールには結構時間がかかりますが、焦らず待ちましょう。
※こちらの環境ではインストール時に
ERROR: File conflict for 'C:/Perl/html/site/lib/Test/Builder/Tester/Color.html'.
The package Test-Simple has already installed a file that package Test-Builder-Tester
wants to install.
というエラーが表示されて途中で終了しました。
Test-Simpleパッケージを上記要領で先にインストールしてから
再度Jiftyをインストールするとうまく入るようです。
動作確認
インストールが終わったら、まずは基本ツールとなるjiftyコマンドが動作することを確認します。 コマンドプロンプトを開いて適当なディレクトリでjiftyコマンドを実行し、以下のようなヘルプメッセージが表示されることを確認してください。C:\tmp>jifty action - add an action class to your jifty application adopt - localize a stock jifty component app - create the skeleton of a jifty application console - a console for your jifty application deps - looks for module dependencies and attempts to install them from cpan env - access the jifty environment fastcgi - a fastcgi server for your jifty application help - show help modperl2 - a modperl2 handler for your jifty app. model - add a model class to your jifty application plugin - create the skeleton of a jifty plugin po - extract translatable strings from your application schema - create sql to update or create your jifty app's tables server - a standalone webserver for your jifty application
次にアプリケーションの雛形を作成してみます。
作業ディレクトリで以下のようにnameオプションで任意のアプリケーション名を指定して
jifty appコマンドを実行してください。
C:\tmp>perl jifty app --name MyApp Creating new application MyApp Creating directory MyApp/lib Creating directory MyApp/lib/MyApp Creating directory MyApp/bin Creating directory MyApp/etc Creating directory MyApp/doc Creating directory MyApp/log Creating directory MyApp/var Creating directory MyApp/var/mason Creating directory MyApp/share Creating directory MyApp/share/po Creating directory MyApp/share/web Creating directory MyApp/share/web/templates Creating directory MyApp/share/web/static Creating directory MyApp/lib/MyApp/Model Creating directory MyApp/lib/MyApp/Action Creating directory MyApp/t Creating configuration file MyApp/etc/config.yml
指定したアプリケーション名のフォルダに多数のファイルが生成されたでしょうか?
生成されたフォルダ配下にあるjiftyスクリプトを以下のように実行することで、
雛形アプリケーションをブラウザで表示させることが出来ます。
C:\tmp>perl MyApp\bin\jifty schema --setup INFO - Generating SQL for application MyApp... INFO - Using Jifty::Model::Session, as it appears to be new. INFO - Using Jifty::Model::Metadata, as it appears to be new. INFO - Set up version 0.0.1, jifty version 0.71129 C:\tmp>perl MyApp\bin\jifty server INFO - You can connect to your server at http://localhost:8888/
ブラウザでhttp://localhost:8888にアクセスして以下のような管理画面が表示されればJiftyのインストールはひとまず成功です。




コメント (1)
貴重なご指導感謝します。Test-Simple 0.74はXで0.47でOKでした。
次が楽しみです。
投稿者: yattokoSattoko | 2008年02月04日 04:33