• 検索結果がありません。

現場で役立つTuigwaaの勘所

N/A
N/A
Protected

Academic year: 2021

シェア "現場で役立つTuigwaaの勘所"

Copied!
34
0
0

読み込み中.... (全文を見る)

全文

(1)

Seasar Conference

Seasar Conference

2007 Autumn

2007 Autumn

2007 Autumn

2007 Autumn

現場で役立つ

現場で役立つTuigwaa

Tuigwaaの勘所

の勘所

現場で役立つ

現場で役立つTuigwaa

Tuigwaaの勘所

の勘所

2007.11.11

escafe project

p j

株式会社四次元データ

西岡悠平/染田貴志

(2)

自己紹介

自己紹介

• 西岡悠平

• 西岡悠平

– 株式会社四次元データ

http://www.4dd.co.jp/

– Tuigwaa (escafeWeb) チーフコミッタ

• 染田貴志

株式会社四次元データ

– 株式会社四次元データ

http://www.4dd.co.jp/

T i

(

f W b)

ミ タ

– Tuigwaa (escafeWeb) コミッタ

(3)

アジェンダ

アジェンダ

• escafe project とは

• escafe project とは

• Tuigwaa とは

• Tuigwaa を利用する際の勘所

• 現在の取り組み

• 現在の取り組み

• まとめ

(4)

escafe project とは

escafe project とは

(5)

escafe project

escafe project とは

とは (1)

(1)

「“ユーザ自身”がアプリケーションを”創る”」

を 創

を実現するためのプロダクト

を提供するコミュニティ

– Easy Software Cafeteria の略

– 「えすかふぇ」と読みます

(6)

escafe project

escafe project とは

とは (2)

(2)

• プロダクト

• プロダクト

– escafeWeb(愛称:Tuigwaa)

• Webアプリケーションを作成管理するWebアプリケーション

• Webアプリケ

ションを作成管理するWebアプリケ ション

– escafeFlow(愛称:Buri)

• ワークステートエンジン(旧S2Buri)

ワ クステ ト ンジン(旧S2Buri)

– escafeRule(愛称:Ebi)

• ルールエンジン(旧S2Ebi)

– escafeScript(愛称:なでじゃこ)

• 日本語スクリプトエンジン

– escafeAnA(愛称:AnA5(アナゴ)

• ユーザ権限管理フレームワーク

(7)

Tuigwaa とは

Tuigwaa とは

(8)

Tuigwaa

Tuigwaaとは

とは

Webアプリ作成Webアプリ

~ブラウザの操作だけでWebアプリが出来る~

– 「とぅいがー」と読みます

– 2005年度IPA未踏ソフトウェア創造事業で開発開始

– 2005年度IPA未踏ソフトウェア創造事業で開発開始

http://www.escafe.org/

h

// i

db

/

http://tuigwaa.sandbox.seasar.org/

(9)

Tuigwaa

Tuigwaa の機能

の機能

• コンテンツ管理機能

• コンテンツ管理機能

– WikiもしくはWYSIWYGで記述したコンテンツの作成、閲覧、

編集 削除など

編集、削除など

– PDF出力機能

• データ管理機能

• データ管理機能

– テーブルの作成、編集、削除など

カスタムフォ ム 検索フォ ム フ ルタなどの作成 編集

– カスタムフォーム、検索フォーム、フィルタなどの作成、編集、

削除など

ロジック管理機能

• ロジック管理機能

– イベント+条件+アクションの組み合わせで特定の処理を実行

(10)

Tuigwaa

Tuigwaa の特徴

の特徴 (1)

(1)

デ タを定義するだけで その

• データを定義するだけで、その

データに対する入力フォーム、

入力チェックの仕組みが自動的

生成される

に生成される

• 必要なのは

ブラウザからの操

作のみ

!!

作のみ

!!

(11)

Tuigwaa

Tuigwaa の特徴

の特徴 (2)

(2)

作成したデ タと ンテンツを

• 作成したデータとコンテンツを

柔軟に連携することが出来る

• 必要なのは

ブラウザからの操

作のみ

!!

(12)

利用シーン・ターゲット

利用シーン・ターゲット

• Tuigwaa の狙いどころ

• Tuigwaa の狙いどころ

– スプレッドシートをメールで回しながら、情報収集・共

有をしているような場合

有をしているような場合

• PC管理

• イベントの出欠管理

• などなど

• Tuigwaa が想定しないところ

– 複雑な業務ロジックが介在する場合

複雑な業務ロジックが介在する場合

– 大規模サイト

(13)

構築事例

構築事例

• 社内情報共有システム

• 社内情報共有システム

• 案件管理システム

• プロジェクト管理システム

• イベント受付システム

• イベント受付システム

• 4DDコーポレートサイト

• などなど

(14)

Tuigwaa を利用する際の勘所

Tuigwaa を利用する際の勘所

(15)

Tuigwaa

Tuigwaaを使う際のポイント

を使う際のポイント

• 今日のポイント

• 今日のポイント

– データを定義して利用する機能

– 出来上がったサイトのデザイン(見た目)を変更する

機能

• 作ってみよう

プロ野球チームと選手を管理するサイト

– プロ野球チームと選手を管理するサイト

(16)

ステップ

ステップ

• 初級編

• 初級編

– データを定義しよう

– フォーム・テーブル・フィルタを使ってみよう

• 中級編

中級編

– 関連データを使ってみよう

サイトのデザインを変えてみよう

– サイトのデザインを変えてみよう

• 上級編

– フォーム・テーブルのデザインを変えてみよう

(17)

初級編

初級編 (1)

(1)

• データを定義しよう

• データを定義しよう

– 入力フォームをイメージ

• テキスト入力をさせたいデータ

• プルダウンで選択したいデータ

• 二つの値のどちらかを選択したいようなデータ

• 複数の選択肢から複数の回答をとりたいようなデータ

• などなど

http://tuigwaa.sandbox.seasar.org/user/refguide_

p

g

g

g

_

single.html

(「通常カラムの種類」参考)

(18)

初級編

初級編 (2)

(2)

• フォーム・テーブル・フィルタを使ってみよう

• フォーム・テーブル・フィルタを使ってみよう

– フォーム

• コンテンツにフォームを表示する

• フォームで登録される内容を変更する

– テーブル

• コンテンツにテーブル形式で登録されたデータを表示する

– フィルタ

• 表示するデータに制限を加える

表示するデ タに制限を加える

(19)

中級編

中級編 (1)

(1)

• 関連データを使ってみよう

• 関連データを使ってみよう

– 「関連データ」とは

• 複数のテーブルで使いまわしたいデータ

• 例えば「チーム」など

• many-to-one の関係

– 「関連データのリスト」とは

• あるデータに対する「関連データ」の集合

• 例えば「チーム」に対するメンバー

• one-to-many の関係

(20)

中級編

中級編 (2)

(2)

チーム名

所属リーグ

選手名

所属チーム

巨人

セリーグ

中日

セリーグ

赤星 憲広

阪神

赤松 真人

阪神

浅井 良

阪神

「選手」データからみる

と、「チーム」データは「

関連デ タ」

阪神

セリーグ

横浜

セリーグ

広島

今岡 誠

阪神

大城 祐二

阪神

大橋 雅法

阪神

関連データ」

広島

セリーグ

ヤクルト

セリーグ

日本ハム

パリーグ

岡崎 太一

阪神

葛城 育郎

阪神

金本 知憲

阪神

日本

リ グ

ロッテ

パリーグ

ソフトバンク

パリーグ

本 知憲

阪神

狩野 恵輔

阪神

上坂 太一郎

阪神

小宮山 慎二

阪神

「チーム」データからみ

ると、「選手」データは「

連デ タ

楽天

パリーグ

西武

パリーグ

小宮山 慎二

阪神

坂 克彦

阪神

桜井 広大

阪神

シーツ

阪神

関連データのリスト」

オリックス

パリーグ

シーツ

阪神

(21)

中級編

中級編 (3)

(3)

• 関連データとレコード指定ページ

関連デ タとレコ ド指定ペ ジ

– レコード指定ページとは

• あるテーブルの特定レコードと結びついたページのこと

• 指定されたレコードの各カラムのデータを個々で表示できる

• 作り方はナビゲーションにしたがうだけで意識する必要はない

http://tuigwaa sandbox seasar org/user/refguide single html

(「レ

http://tuigwaa.sandbox.seasar.org/user/refguide_single.html

(「レ

コード指定ページ作成のナビゲーション)

– 関連データのあるレコード指定ページ

と う関連 例 「選手

と う場合

• A->Bという関連 (例 「選手」->「チーム」という場合)

• Aのレコード指定ページ内でのBのテーブルを表示すると、Aのレコー

ドに関連づいたBのデータのみが表示

(例 「阪神」を指定したレコード指定ページでは阪神の選手のみが表示

される)

(22)

中級編

中級編 (4)

(4)

• サイトのデザインを変えてみよう

• サイトのデザインを変えてみよう

– HTML/CSS による「スキン」

• 基本ルール

• 基本ル

– デフォルトで適用されるスキンには page.html という名前をつける

– Tuigwaa で表示されるコンテンツ部分には id=“main” という CSS の id

を割振る

を割振る

– 画像などのパスの扱い「./」からはじめる

• 注意事項

– Wiki で作成されたコンテンツには CSS の id は割振られていないので、

CSS の設計には注意

• Tuigwaa用メニューバーなどの標準コンポーネントもあります

• Tuigwaa用メニューバーなどの標準コンポーネントもあります

http://tuigwaa.sandbox.seasar.org/user/skin.html

(23)

上級編

上級編 (1)

(1)

• フォーム・テーブルのデザインを変えてみよう

• フォーム・テーブルのデザインを変えてみよう

– 自動生成される、フォーム及びテーブルのデザイン

を変更することが可能

を変更することが可能

– Velocity の記法

http://www.techscore.com/tech/ApacheJakarta/Velocity/

– tuigwaa.properties ファイル内でプロパティ設定し、

アプリケーションサーバを再起動

ti

t

l t =t

option.use.template=true

(24)

上級編

上級編 (2)

(2)

• テンプレートファイルを編集

• テンプレートファイルを編集

– テンプレートファイルにバインドされているオブジェク

トは変更しない方が安全

トは変更しない方が安全

• 呼び出し方

– フォームテンプレート

#template(form <テンプレート名> <エンティティ名> <カスタムフォーム名> <遷移先ページ>)

– テーブルテンプレート

#template(form,<テンプレ ト名>,<エンティティ名>,<カスタムフォ ム名>,<遷移先ペ ジ>)

#template(table,<テンプレート名>,<エンティティ名>,<フィルタ名>)

(25)

現在の取り組み

現在の取り組み

(26)

モジュール分割

モジュール分割

• 巨大に

• 巨大に

なりすぎた・・・・

Maven2 の機能を利用して以下に分割

Maven2 の機能を利用して以下に分割

– Wiki エンジンモジュール

Wiki 記法を HTML に

– Wiki エンジン拡張モジュール

Wiki エンジンに対する拡張可能

T i

C

(汎用的 イブ リ)

– Tuigwaa Common モジュール (汎用的ライブラリ)

Tuigwaa とは関係のない汎用的に

– Tuigwaa Model モジュール (メタクラス + データベースアクセス)

g

(

)

このモジュールを使ってドキュメントからデータベースアクセスするコードを自動生成した

– Tuigwaa Controller モジュール

モデルから対応するフォームを生成して、フォームからの入力を Java のオブジェクトに変換する機

モデルから対応するフォ ムを生成して、フォ ムからの入力を Java のオブジェクトに変換する機

(27)

WikiEngine

WikiEngine のリリース

のリリース

– Wiki Engine のリリース

– Wiki Engine のリリ

• 11月11日11時11分に ver.0.11 をリリースしました

– escafeFlow (Buri ) も同時刻にリリースされているはず・・・

– escafeFlow (Buri ) も同時刻にリリ

スされているはず

特徴

– 特徴

• Wiki 文法を BNF 記法で定義して JavaCC を使っている

出力形式を変更するなど様々な拡張可能

• 出力形式を変更するなど様々な拡張可能

– (例) Wiki 拡張ライブラリでPDF 出力可能

• 依存ライブラリは s2 extension jar のみ

• 依存ライブラリは s2-extension.jar のみ

(28)

Tuigwaa on Kvasir

Tuigwaa on Kvasir

• モジュール一覧に、 CMS 機能などTuigwaa の既存機

モジュ ル 覧に、 CMS 機能などTuigwaa の既存機

能が含まれていないが、そこは検討中。

• 1つの案として Tuigwaa on Kvasir を試した。

• Kvasir を試す理由

• Kvasir 上でのプラグイン開発の容易さ 自由度の高さ

• Kvasir 上でのプラグイン開発の容易さ、自由度の高さ

• Kvasir に様々な既存機能を委譲することができる

• Kvasir の機能を使うことによって Tuigwaa にない機能を利用するこ

とが きる

とができる

http://d hatena ne jp/habuakihiro/20071105#1194259214

– http://d.hatena.ne.jp/habuakihiro/20071105#1194259214

(29)

Kvasir

Kvasir とは

とは

http://kvasir.sandbox.seasar.org/

Eclipseライクなプラグイン機構を持つ

– ベース部分はランチャとプラグイン管理機構だけ

– CMS機能はプラグインとして実現されている

– Ymir フレームワークをプラグインで利用可能 (Ymir については現在セッション中)

様々なコンテンツ記述形式のサポート

– plain text、HTML、Wiki、reST、…

画面テンプレート言語はZPT(Zope Page Template)

画面

言語

p

g

p

ユーザ/グループ/ロールベースのアクセス制御

コンテンツの公開期間を設定可能

1コンテンツに複数言語の本文を持たせることが可能

1コンテンツに複数言語の本文を持たせることが可能

WYSIWYGなサイトレイアウト編集機能

(30)

Tuigwaa on Kvasir

(31)

「現在のとりくみ」のまとめ

「現在のとりくみ」のまとめ

• 今後の方針

• 今後の方針

– 分割したモジュール単位のリリースに切り替えていく

• 検討中

– プロダクトの形態

• Tuigwaa としては Kvasir のプラグインとしてのリリース ?

• Kvasir なしのバージョン ?

– escafe プロダクトとの連携方法

• コミッタ募集

コミッタ募集

(32)

まとめ

まとめ

(33)

まとめ

まとめ

• Tuigwaa とは

• Tuigwaa とは

– データベースと連携するWebアプリケーションをブラ

ウザのみで作成するツ ル

ウザのみで作成するツール

• Tuigwaa を利用する際の勘所

g

– データの定義及びその使い方

デザインの変更の仕方

– デザインの変更の仕方

• 現在の取り組み

– モジュール分割と段階リリースへの変更

(34)

ご静聴ありがとうございました

ご静聴ありがとうございました

• ダウンロード・ドキュメント

• ダウンロード・ドキュメント

http://www.escafe.org/

• ユーザメーリングリスト

tuigwaa-user@ml seasar org

tuigwaa [email protected]

https://ml.seasar.org/mailman/listinfo/tuigwaa-user

user

参照

関連したドキュメント

Excel へ出力:見積 受付・回答一覧に表示されている伝票を Excel に出力 することが可能.

そればかりか,チューリング機械の能力を超える現実的な計算の仕組は,今日に至るま

注:一般品についての機種型名は、その部品が最初に使用された機種型名を示します。

口腔の持つ,種々の働き ( 機能)が障害された場 合,これらの働きがより健全に機能するよう手当

評価 ○当該機器の機能が求められる際の区画の浸水深は,同じ区 画内に設置されているホウ酸水注入系設備の最も低い機能

評価 ○当該機器の機能が求められる際の区画の浸水深は,同じ区 画内に設置されているホウ酸水注入系設備の最も低い機能

○当該機器の機能が求められる際の区画の浸水深は,同じ区 画内に設置されているホウ酸水注入系設備の最も低い機能

森林には、木材資源としてだけでなく、防災機能や水源かん養