はてなダイヤリーにもありますが、Lokkaにカレンダーを表示するプラグインを作ってみました。 ソース http://github.com/nkmrshn/lokka-calendar 使い方 ヘルパーメソッドとして、「calendar」を用意しました。APP_ROOT/public/pluginにgit cloneして、lokka…
Flickrに画像ファイルをアップロードするlokka-uploadersのバックエンドプラグインを作りました。 ソース http://github.com/nkmrshn/lokka-uploaders (フロントエンド) http://github.com/nkmrshn/lokka-flickr_uploader (バックエンド) 設定 このプラ…
先日、Lokkaの記事本文に「続きを読む」リンクについて考えた際、Helperでやるべきではないかとid:shizaruさんに教えていただきました。現状のLokkaは、本文(@Postsや@Entry)をプラグイン側で操作することは許されていないので、私もid:shizaruさんに習っ…
このHatenaダイヤリーもそうですが、「続きを読む」というリンクを作ってトップページは概要だけを表示したいという場合があります。そこでLokkaのプラグインを作ろうと思いました。
先日、Lokka本体のソースを書き換えなくてもプラグインが追加できるようになりました。そこで、プラグインで使うデータベースのテーブルを、プラグインのルートディレクトリ(以下、PLUGIN_ROOT)でrakeタスクを実行し、マイグレーションするにはどうしたら…
プラグインで使用するgemとi18nについて、本体から分離するコードを追加してみました。この修正によりAPP_ROOT/public/plugin/lokka-*/GemfileおよびAPP_ROOT/public/plugin/lokka-*/i18nにプラグイン固有の設定を追加することができます。 プラグインで使用…
Lokkaのプラグインをいくつか作りましたので、そのまとめを書きたいと思います。 Lokka本体との違いは、プラグイン部分以外はGemfile、i18n、public/admin/layout.hamlの3つです。プラグインなので、本当は本体に依存してはいけないのですが、ここぐらいが…
クラウド環境に対応したCMS/Blogツール、『Lokka』にファイルアップロード機能を追加してみました。 ソース 本家のソースにはマージされていませんので、私のGitHubからどうぞ。インストール方法などは、変わりません。HerokuやGAEは、ローカルストレージへ…
Help me, hackers!で、次の祝日をツイートするボットの作成依頼、「Next Holiday のtwitter bot」があったので、次の祝日をツイートするボットを作ってみました。ツイッター:http://twitter.com/Next_Holiday_Jp ホームページ:http://next-holiday-jp.hero…
昨日、Ruby on Rails Tutorial: Learn Rails by Exampleのサンプルアプリ「sample_app」をHaml化してみた時、『インライン要素を一行で生成させるには、どうやって書けばよいのか』が分かりませんでした。 FAQにもなかったので、Haml Google Groupで「inline…
「WEB+DB PRESS vol.58」(技術評論社著、2010年)のp.41にある『haml - 俳句のような美しいマークアップ言語』という記事を読んで、Hamlに興味を持ち、Ruby on Rails Tutorial: Learn Rails by Exampleのサンプルアプリ「sample_app」*1をHaml化してみました…
Ruby on Railsのoauthを使い、Ruby on Rails Tutorial: Learn Rails by Exampleのサンプルアプリ「sample_app」*1に、Twitterでサインインする機能も追加してみました。 サンプルアプリ http://github.com/nkmrshn/sample_app TwitterのOAuth認証を使うので…
Ruby on Rails Tutorial: Learn Rails by Exampleのサンプルアプリ「sample_app」に、ユーザアカウントのアクティベーション機能を追加した後*1、1日経過してもアクティベートしなかったアカウントは削除したいと思いました。 無効なユーザの取得 app/models…
昨日の「Ruby on Rails Tutorialを試してみた」に引き続き、Ruby on Rails Tutorial: Learn Rails by Exampleのサンプルアプリ「sample_app」に、いわゆるアクティベーションを機能を追加してActionMailerの勉強をしました。 チュートリアルでは、入会すると…
Michael Hartl氏のRuby on Rails 3 Tutorial: Learn Rails by Exampleを使って、Ruby on Railsの3.0を試してみました。私は、1.x時代はよく知っているのですが、その後、iPhoneアプリばかり作っていたので2.x時代はよく知りません。そこで、先日発表された3.…
ここ最近、暇を見つけてはjquery.ganttViewをカスタマイズしてきましたが、一段落ついたのでオリジナルとの違いをまとめておきます。 ベースになっているソース GitHubにpushしてあるソースは、オリジナルのjquery.ganttViewからforkしていますが、実際はHel…
Gitの使い方を勉強したかったので、UAPatternControllerとjquery.ganttViewをGitHubに移行してみました。今後、こちらからソースをcloneするなりしていただければ幸いです。 それぞれのGitHub UAPatternController http://github.com/nkmrshn/UAPatternContr…
昨日、カスタマイズをはじめたjquery.ganttViewのバグを修正し、機能を追加しました。 ダウンロード nkmrshn_jquery.ganttView-0.0.2.tar.gz[修正:7/27 20:37] GitHubに移行しました。http://github.com/nkmrshn/jquery.ganttView 変更点(0.0.1->0.0.2) sho…
Help me, hackers!で、jQueryのガントチャートライブラリをドラッグ&ドロップとリサイズできるようにカスタマイズしたjquery.ganttViewが、『ガントチャートライブラリにタスクの依存関係の機能を追加したい』というページにありました。私は、これをベース…
Play! frameworkを使っていると、私はどうしてもRuby on Railsと比較してしまいます。 自動的にJOINしてくれない? Ruby on Railsの場合、モデルのfindメソッドに「:joins =>」があると、自動的にJOIN句を含んだSQL文が生成されますが、Play! frameworkのMod…
Play! frameworkのチュートリアルにある「A first iteration for the data model」において、mappedBy属性を使って一対多の関連を管理することをJPAに伝える部分について解説があります。 Note how we have used the mappedBy attribute to tell JPA that th…
Play! frameworkのOAuth ClientモジュールがGoogle App Engineでうまく動きませんでした。 検証環境 Play! framework 1.0-r1036 (1.0.2.1以降のナイトリービルド) GAE-1.0.2 Siena-1.1 OAuth-1.0 appengine-java-sdk-1.3.3.1 (GAEのSDK) 問題点 理由は、OAu…
Play! frameworkのOAuth Clientモジュールに付属しているサンプルを動かしてみたのですが、いくつか問題点がありました。 問題点 Userテーブルにレコードが保存されない ApplicationコントローラのgetUserアクションで、UserモデルのfindOrCreateメソッドが…
User-Agentに応じてビューを切り替えるため、例えばApacheのhttpd.confなどで設定して、コントローラやアクションを振り分けるという方法があります。私は、Play frameworkの中でやりたかったので、play.mvc.Controllerを継承するクラスを作り、モジュール化…
Ruby on RailsのMigrationに似たモジュールができたみたいなので、r899で試してみました。 Migrate module Play! frameworkの1.0.1では「play install migration」ではモジュールをインストールできないので、モジュールのホームページからダウンロードし、…
Play! frameworkで作成したクラスのJavadocだけを生成してくれるオプションが、最新リビジョンのplayコマンドに追加されたので試してみました。 Feature Request: Please add a "play create-javadocs" command ※「play create-javadoc」ではなく「play java…
XSSはあるですが、CSRFに関する対策が見あたらない。自分でモジュールを作るしかないのかな...。一応、Play! frameworkのGoogleグループに質問を投げてみた。 [追記:2/22 6:20] Bug報告に上げろとのお話だった、上げてみた。 Feature request: CSRF protecti…
またリリースノートには、future.bindJPAObjectsはconf/application.confで「not enabled by default」と書いてあります。 Of course as this feature can break existing applications it is not enabled by default. You can enable it by adding the foll…
1.0.1のリリースノートを読んで、JPAオブジェクトが自動的にロードされる旨、『Better binding for JPA objects』に書いてありました。そこで、『データの修正』の、 public static void edit(long id, String message, String name) { String msg = "データ…
CodeZineの『Javaで軽快に使える「軽量フレームワーク」特集 〜本格的なRoRスタイルフレームワーク「Play!」(2)第8回』を読んで、自分でも試してみました。2ページ目の『データの作成と保存』には、記述例として以下のように書いてあります。 ${msg} <form method="post" action="@{Application.add}"> <table> : </table></form>…