Archives for 6月2012

Short filter module for Play2!をリリースしました

Play framework 2.0 で、Play各種テキストフィルターやエスケープなどの処理を簡単に記述できるPlayテンプレートタグ系のプラグイン「Short filter module for Play2!」をリリースしました。

というか、リリースしましたなんていうのもおこがましいプラグインなのですが、、、。

たぶん世界最小のPlayプラグインだと思います(笑

そもそもの話

元々、これはPlayの中の人であるErwanさんの飲み会の時に、相談したもので、現状Scalaテンプレート内で「{」や「}」を使用する場合は、必ず対にするという必要があります。

「{}」部分は、テンプレートシンタックスでない部分もパースされてしまっているため、対でないと怒られるというわけです。

そこで、例えば「@{」とか「@}」みたいに書けると結構嬉しいという話をしました。が、僕自身はすぐにでもこれを使いたいので、どうやって実装していいかいろいろ探りました。

1つは、play.api.templates.ScalaTemplates.scala をいじる方法。
これは、頑張ってソースを読み解いていったのですが、具体的にどう改善していいかよくわかりませんでした(笑

そこで、別の方法としていくつかの実装を考えてみたのですが、結局落ち着いたのは、@format.raw(“STRING”)の短縮版でいいんではないかという結論です。

導入と使い方

導入方法は、Playプロジェクト内のproject/Build.scalaに

val appDependencies = Seq(
  "jp.greative" % "play2-short-filtr_2.9.1" % "0.1"
)

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
  resolvers += "Greative Repository" at "https://github.com/karad/maven-repo/raw/master/release/"
)

と書いて、プラグインを組み込みます。

文法は、

@r("{や}などのエスケープしたい文字")

しか今のところはありません(笑

Scalaテンプレート内で、例えば

@import tags._

@main() {
   
    @r("{")
        OUTPUT
    @r("}")

}

のように記述すると、

{
    OUTPUT
}

と出力されます。

それだけのプラグインです:笑)

あ、でも、いろいろ今後タグを増やしていく予定ですよ!

今回は、タグ型のプラグインの配布練習みたいなことも兼ねてます。
コンソール型のプラグインに比べたら遥かに簡単に作成でき、すぐ配布できますね。

Read More

PlayBayでPlay framework 2.0のプラグインの勉強会をします!

Play frameworkは2.0になって、フルスタック型からモジュール型のフレームワークへと変貌しました。プラグインの扱いに長ける事がPlay frameworkで出来る事の幅を広げるポイントとなると思っています。

そこで、プラグインの勉強をする勉強大会を6/19に行う事にしました。

Playbay logo

PlayBay Play framework2.0プラグイン勉強大会

元々、参加者は発表必須の勉強会として募集を開始しましたが、ちょっと敷居が高すぎたので企画を変更します。
当日は、前半でプラグインのインストール大会をして、インストールしてみたかったプラグインを入れてみたり、プラグイン作成に挑戦したりします。
あと、プラグインについて「Play 2.0プラグイン、イロハのイ」というショートセッションも僕が行うことになりました。

企画概要

Play framework 2.0のいろいろなプラグインをインストールしたり勉強したりしていく勉強会です。
Java/Scalaどちらでのプラグインでも構いません。

  • こんなプラグインを使ってみたい
  • このプラグイン、動かなかった。なんで?
  • こんなプラグイン作ってみました
  • こんなプラグイン欲しい
  • このプラグイン読んでみた

など各自で課題を設定してプラグインのインストールなどの実験を行います。
後半は成果発表等も行えたらと思います。

初心者の方でもOKですのでどしどしご参加ください(途中参加OK)
質問は@kara_dまでお気軽に

当日のタイムライン

  • ショートセッション:Play 2.0プラグイン、イロハのイ
  • プラグイン紹介:Play20-Auth
  • Play 2.0インストール(ハッカソン)大会
  • 成果発表

イベント情報

日時   2012年06月19日 18:00 – 22:00
販売期限 2012年06月19日 16:00
参加費  無料
開催場所 クリエーションライン株式会社
東京都千代田区神田佐久間町3-6 M’s WORKS BLDG 2F (地図

お申し込みはこちらから
PlayBay Play framework2.0プラグイン勉強大会

PlayBay Play framework2.0プラグイン勉強大会

Read More