スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
 

TestLink Link プラグインの開発者募集

TestLink Link プラグインの開発を引き継いでくれる人を募集します。

最近、私が TestLink を使わなくなったので、開発を引き継いでくれる人を募集しています。
TestLink 1.9 対応の要望が上がっているのですが、 私が TestLink 1.9 を上手く立ち上げられないので、 できたら TestLink に詳しい方に引き継いでもらえたらと思います。
  1. http://www.r-labs.org/issues/876
  2. http://www.r-labs.org/issues/889


引き継いでもらった後もお手伝いぐらいはするつもりです。

やっていただける場合は SourceForge.jp のページで登録して下さい。
http://sourceforge.jp/people/viewjob.php?group_id=5330&job_id=545

また、 r-labs でプロジェクト管理をしているので、 r-labs のアカウント作成とフォーラムへ記述もお願いします。
ちょっと考えているけど、もう少し詳しく知りたいという場合もフォーラムで質問して下さい。

スポンサーサイト
 

はてなブックマーク

最近使っている はてなブックマーク について。

私は RSS リーダーとかを使って、コンピューターや IT 関連の情報をチェックしてます。
そんなとき、思うのが次のこと。
  1. 気になったページをリンクをとっておきたい
  2. そのリンクを自宅と会社で共有したい
  3. そのリンクをブログなどで公開したい

とっておくだけなら、ブラウザのブックマークでいいし、 共有するだけなら、 Google Crome でできます。

公開もということも考えるとソーシャルネットワークサービス(SNS)を使おうということになります。
リンクを取っておきたいページに Twitter や Facebook のいいねリンクはあることは多いのですが、 これだと情報がしばらくすると消えてしますし(私が残し方しらないだけかもしれませんが)、 リンクの情報だけ集めるのも難しいです。
Google+ はリンク情報を残したり、リンクだけ集められたりしているので、いいのですが、まだそんなに広まってないのか +1 のリンクがないページが多いです。

そんななか見つけたのが、はてなはてなブックマーク の SNS です。
これは公開ブックマークの管理用の SNS ですし、 リンクのボタンがなくても IE, Firefox, Chrome の拡張プラグインがあって、どのページでも登録することができます。

また、ブックマークを登録したとき、そのまま Twitter で流すこともできます。
Twitter にサイトのアドレスを書くとそれでほとんど制限まで埋まってしまうということがありますが、 はてなブックマークだと Twitter のリンクがなくても、省略系のアドレスで書いてくれるので、 Twitter を使っている人にも便利です。

広告で収入を得ているタイプではないみたいなので、ブックマークの編集をしようとするとお金を払わないといけない など不便な点もありますが、 今、結構気に入って使っています。

以下は私のブックマークです。よかったら見てみてください。
http://b.hatena.ne.jp/yohshiy/

 

Redmine - Wiki マクロの追加方法

Redmine Advent Calendar の一つとして、Wiki マクロの追加方法を紹介したいと思います。

Redmine では Wiki を記述する際、 textile 記法 だけではなく、 Wiki マクロと呼ばれるものが書けます。 これは {{child_pages(Foo)}} のような感じで {{ }} の中に関数のように記述します。
そして、この Wiki マクロ、自分で追加して Wiki を拡張することができるようになっています。

で、実際にどうやって追加するかというとプラグインを作成する必要があります。
ただ、プラグインといってもそんな大層なものではありません。 簡単なものであれば、数行で出来るので、 プラグイン作成のとっかかりとしてもちょうどいいのではないかと思います。 私が最初に作ったのも Wiki マクロの追加のプラグインです。

最初に作ったのは TestLink Link プラグイン という Redmine から TestLink(テスト管理システム) にリンクを張るプラグインでした。 TestLink から Redmine へはリンクがはれたのですが、逆はなくて、なにかいい方法はないかなと探していたところ、 Wiki マクロを自分で作れば一番簡単そうということで作ったものです。
この TestLink Link プラグインも最初に自分用に作った時は、数行の簡単なものでした。 それが、あれもこれもといろいろと機能を追加していくうちに、せっかくだからと公開しました。
ただ、最近私が TestLink を使わなくなった(^_^;) ため、引き継いでくれる人を募集しています。

ちょっと話が脱線してしまいましたが、以下、作成方法について書いていきたいと思います。

開発用 Redmine を用意する


まず、開発用の Redmine を用意しましょう。 最近では All-in-one パッケージで簡単に用意できるみたいです。



init.rb を用意する


今回は簡単なものなので、プラグインの中身は init.rb のファイル一つで十分です。 これを準備しましょう。

まず、 インストールした Redmine のトップディレクトリにいってプラグインの雛形作成用のコマンドを実行します。
$ ruby script/generate redmine_plugin プラグイン名
$ ruby script/generate redmine_plugin sample_macros
vender/plugins/redmine_sample_macros 以下にいろいろとファイルが出来ます。 今回は使わないので、 init.rb 以外のファイル、ディレクトリをすべて削除します。

プラグインの情報を書く


生成された init.rb には、以下のようなプラグインの登録情報が書いてあるので、これを適当に書き直します。
Redmine::Plugin.register :redmine_sample_macros do
  name 'Redmine Sample Macros plugin'
           #:
ここは公開するということでもなければ、別にそのままでもかまいません。

マクロの登録


いよいよ、マクロの追加(登録) ですが、 例として ウィキペディアへのリンクのマクロを書いてみます。
できたマクロの書き方とリンク先は次のようになります。
{{wikipedia(Redmine)}}
http://ja.wikipedia.org/wiki/Redmine
記述するコードは以下のようなものです。
Redmine::WikiFormatting::Macros.register do
  macro :wikipedia do |obj, args|
    word = args.first
    link_to(word, "http://ja.wikipedia.org/wiki/" + CGI.escape(word))
  end
end
エラー処理とか、いろいろ省いて書いていますが、一応これでもちゃんと動きます。
もう少し詳しい説明とエラー処理つきのコードは r-labs のプラグイン Tips に記述していますので、そちらを見てください。

その他の例


その他の例をいろいろと挙げてみたいと思います。

マクロで指定した中身を Google で検索します。
{{google(Redmine)}}
http://www.google.co.jp/search?ie=UTF-8&q=Redmine
Redmine::WikiFormatting::Macros.register do
  macro :google do |obj, args|
    word = args.first
    link_to(word+"?", "http://www.google.co.jp/search?ie=UTF-8&q=" + CGI.escape(word))
  end
end


redmine.org に登録されているプラグインリストのページへのリンクです。 こちらはキーワードを直接書くので、 CGI.escape は不要です。
{{plugin(glossary)}}
http://www.redmine.org/plugins/glossary
Redmine::WikiFormatting::Macros.register do
  macro :plugin do |obj, args|
    word = args.first
    link_to("Plugin:"+word, "http://www.redmine.org/plugins/" + word)
  end
end


SNS のはてなブックマーク へのリンクです。
{{b_hatena(yohshiy)}}
http://b.hatena.ne.jp/yohshiy
Redmine::WikiFormatting::Macros.register do
  macro b_hatena do |obj, args|
    word = args.first
    link_to("Bookmark:"+word, "http://b.hatena.ne.jp/" + word)
  end
end


本の BSDN を指定して、 amazon へのリンクを作成します。
{{bsdn(4798121622)}}
http://www.amazon.co.jp/exec/obidos/ASIN/4798121622
Redmine::WikiFormatting::Macros.register do
  macro :bsdn do |obj, args|
    word = args.first
    link_to("BSDN-"+word, "http://www.amazon.co.jp/exec/obidos/ASIN/" + word)
  end
end


リンクだけではなく、 textile で用意されているもの以外の html タグを使いたい場合にも使えます。 以下はフリガナ(ルビ)を記述するマクロです。
ちなみに content_tag は第 2 引数またはブロックを中身にするタグを出力します。 また、 args の文字列は <, & などの html の特殊文字を &lt; などにエスケープした状態でわたってきます。
{{rubi(漢字,かんじ)}}
<ruby><rb>漢字</rb><rp>(</rp><rt>かんじ</rt><rp>)</rp></ruby>
Redmine::WikiFormatting::Macros.register do
  macro :rubi do |obj, args|
    content_tag(:ruby) {
      out = content_tag(:rb, args[0])
      out += content_tag(:rp, '(')
      out += content_tag(:rt, args[1])
      out += content_tag(:rp, ')')
    }
  end
end


さらなる拡張へ


ちょっとしたコードを書くだけで、 wiki を拡張できることがお伝えできたでしょうか。
これで、アイディアを刺激されてプラグインを作ってみようと思っていただけると幸いです。

もうちょっと拡張したいと思った場合は、 r-labs のプラグイン Tips に以下の記事も書いているので、 参考にしてください。
  1. プラグインの設定で値を変更できるようにする
  2. Wiki のツールボタンを追加して書きやすくする

Wiki マクロの追加だけでなく、もっといろんなプラグインを作ってみたいと思った場合は Rails を知らない人のための Redmine プラグイン開発ガイド を見てください。 結構詳しく説明を書いたつもりです。
また、 このプラグイン開発ガイドは、まだ詳細は何も考えてませんが、 2012/01/21(土) に行われる shinagawa.redmine で解説も行うつもりです。

サンプルコード


実際に使うにはエラー処理など書き足さないとだめですが、 一応、今回紹介したコードの全文も公開しておきます。

init.rb

sample_macros.png
 
このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
10位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
2位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

11月 | 2011年12月 | 01月
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。