2007年7月31日火曜日

Tuigwaaコメントプラグインのカスタマイズ

Tuigwaaのコメントプラグインのタグはinput/textのためコメントの入力欄は1行しかないがtextareaタグを使用し複数行入力可能にする方法を発見した。

classes/org/seasar/tuigwaa/plugin/database/CommentView.vm
を編集しコメント入力用のタグをinputからtextareaに変更すればよい。

...
<input type="text" name="postingUser" size="15" maxsize="15"/>
<!--
<input type="text" name="comment" size="70" maxsize="70"/>
-->
<br/>
<textarea name="comment" cols=50 rows=3></textarea>
...

2007年7月23日月曜日

ZK: Rubyでの制約

ROZK - Ruby on ZK very simple tools for build

ZKフレームワークでRubyを使用する場合データバインディングなどで制約がある。
例えばUsing Timebox ComponentのソースのスクリプトでDateオブジェクトを生成しアノテーションでtimeboxの値にセットしているが、RubyスクリプトでTimeオブジェクトを生成したときはアノテーションはnullになってしまう。関数コールのようにruby:プレフィックスをつけネームスペースを変えてみたがエラーとなった。現状ではRubyオブジェクトはアノテーションで使えない事を頭に入れておこう。


<zscript>
import java.text.SimpleDateFormat;
import java.util.Date;

SimpleDateFormat format = new SimpleDateFormat("HH:mm");
Date date = format.parse("23:59");
</zscript>
<!-- <zscript language="ruby">
date = Time.mktime(1970, 1, 1, 23, 59)
# RubyオブジェクトはZUMLアノテーション${date}で参照できない
</zscript> -->
<window title="Time Value(Date)" width="300px" border="normal">
<timebox id="tb0" value="${date}" />

2007年7月21日土曜日

ZK: イベントハンドラにruby関数

ZKフレームワークではスクリプト言語にrubyを使うことができる。ruby関数をZKコンポーネントのイベントハンドラとして呼び出すときはruby関数の名前の前にruby:をつけること。


<window title="sample" border="normal">
<zscript language='ruby'>
def button1_clicked
$t.value = $self.label
end
</zscript>
<button onClick="ruby: button1_clicked" label="button1"/>
<label id="t" value="label"/>
</window>

2007年7月20日金曜日

ZK: vflexモールド付きのdivコンポーネント

Div with vflex
mold="vflex"を追加しブラウザ画面の空いている高さにあわせていっぱいになるよう高さを自動調整するDivコンポーネント。

真ん中のウィンドウはブラウザの空いている部分を埋めるように高さを調整して表示される。


<?page id="mainPage" title="Hello" ?>
<zk>
<window border="normal" title="window">
This is my header window
</window>
<window border="normal" title="window">
<div mold="vflex">
This is my my content window
</div>
</window>
<window border="normal" title="window">
This is my footer window
</window>
</zk>

Yui-Ext Grid (Ext JS)をZKフレームワークで利用する。

Integrating Yui-Ext into ZK Framework
Yui-Ext Grid (Y-Grid)の特徴

*マウスが行の上に来ると色が変化
*複数行選択が可能
*列でソート機能
*列の表示、非表示が選択可能
*列のリサイズ、移動が可能
*列の固定

利用法:
Y-Gridコンポーネントを利用するときはネームスペースで標準の
コンポーネントと区別すること。

<window ... y="http://www.zkoss.org/2007/yui">

後はコンポーネントにプレフィックスy:付けるだけでY-Gridコンポーネントとして使用可能になる

2007年7月13日金曜日

tuigwaaアプリ引越

新しくセットアップしたホストに既存のtuigwaaサイトを再配備する。

WebUDA Tuigwaaとは
tuigwaa (とぅいがー) とは、HTML タグを知らない人が、
専門知識や特別な環境なしにブラウザだけでデータベースと連動する
Webアプリケーションを作るツールです。新しいジャンルのミドルウェアとして、
WebUDA(ユーザ主導型Webアプリケーション作成ツール)と名づけました。
--だそうです
ホスト環境
  • OS: Redhat EL 4
  • Java: JDK1.5.0.12
  • Tomcat: 5.5.23
  • Tuigwaa: 1.0.4
◎ JavaサイトよりJDK5.0 Update12をダウンロードしインストール
ダウンロードしたファイルに実行属性を付け実行すると使用許諾
が表示される、最後までスクロールしyesで同意すると
/usr/java/jdk1.5.0_12にJDK5.0がインストールされる。
インストールディレクトリにシンボリックリンクjdkを作成しておく。
環境変数JAVA_HOMEとCLASSPATHを設定しPATHに
$JAVA_HOME/binを追加する。
$ chmod +x jdk-1_5_0_12-linux-i586-rmp.bin
$ su
# ./jdk-1_5_0_12-linux-i586-rmp.bin
# cd /usr/java
# ln -s jdk1.5.0_12 jdk
$ vi .bash_profile
JAVA_HOME=/usr/java/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/jre/lib:/$JAVA_HOME/lib:\
/$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
$ . .bash_profile
◎TomcatダウンロードページよりTomcat5.5.23をダウンロードしインストール
ダウンロードしたファイルを/usrディレクトリへ展開しシンボリックリンクを作成後Tomcatを起動してみる。
# cd /usr
# tar xfvz /tmp/apache-tomcat-5.5.23.tar.gz
# ln -s apache-tomcat-5.5.23 tomcat
# tomcat/bin/startup.sh
◎Tuigwaaのインストール
tuigwaa-1.0.4.zipをダウンロードし作業ディレクトリで展開する。
インストール方法はここに詳しく説明されているので参照のこと、コマンド操作のみを記述する。
$ unzip tuigwaa-1.0.4.zip
# cp jaas.conf /usr/tomcat/conf
# cp tuigwaa.xml /usr/tomcat/conf/Catalina/localhost
# cp tuigwaa.war /usr/tomcat/webapps

/usr/tomcat/bin/startup.shを編集しCATALINA_OPTSを追加する
export CATALINA_OPTS=
"-Djava.security.auth.login.config=/usr/tomcat/conf/jaas.conf"

Tomcatを再起動しブラウザでhttp://localhost:8080/tuigwaaにアクセスできればインストール成功。


◎既存のtuigwaaサイトを新しいホストに配備する
  • 旧ホストのTuigwaa Managerにアクセスしサイト管理・サイト一覧より再配備するサイトを選び一括ダウンロードする。
  • 新ホストのTuigwaa Managerにアクセスしユーザー管理で旧ホストのサイトで作成していたユーザとロールを登録する。
  • Tuigwaa Managerのサイト管理・サイト一覧ページのサイトのアップロードでダウンロードしたtgwarファイルを指定してアップロードする。
  • アップロードするサイトのファイルサイズが2Mを超えている場合はusr/tomcat/webapps/tuigwaa/WEB-INF/struts-config-tgw-manager.xmlを編集し制限を緩和する。具体的にはstruts-config-tgw-manager.xmlの277行目のmaxFileSize="2M"を適切な値に設定すればよい。