投稿

3月, 2013の投稿を表示しています

Redmine XLS Export PluginのRedmine 2.3.0対応

XLS Export PluginのRedmine 2.3.0対応を行って0.2.1.t2にバージョンをあげました。
https://github.com/two-pack/redmine_xls_export/tree/0.2.1.t2


2.3.0での問題Redmineのapplication.cssが変わったため、管理者のプラグイン設定画面の表示が崩れていました。以下のチケットです。
https://github.com/two-pack/redmine_xls_export/issues/19


対処XLS Export Pluginは、作者のVitaly Klimovが同じく作成しているPlugin views revisionsを使ってRedmineのバージョン違いに対応しているため、今回も使ってみました。
revフォルダの下にバージョンごとのファイルを作成すれば、インストール手順にある以下のRakeコマンドでRedmineのバージョンに合わせたファイルが使われます。
$ rake redmine:plugins:process_version_change RAILS_ENV=production
実際に行った対応は、このコミットで概略は以下の通りです。

もともとのCSSである assets/stylesheets/xls_export.cssrev/assets/stylesheets/1.3.0-xls_export.css として移動。redmine_xls_export/rev/assets/stylesheets/2.3.0-xls_export.cssとして、Redmine 2.3.0用のCSSを作成。

Redmine XLS Export Pluginの競合

年頭にXLS Export Pluginのフォーラムで、チケットリストのQUICKリンクでzipファイルが正しく作られないという問題が報告されてました。

調べてみると拡張子はzipなんだけど、実際にはxlsファイルだと判明。。。
ソースを追っていくと以下の部分が該当箇所。
export_nameには出力するファイル名と拡張子が入っています。issues_xlsはxlsファイルの内容で、zipの場合はこの後にrubyzipを使ってzipファイルにする処理があります。
export_name[1] == 'zip'trueだけど、Zip::ZipOutputStream::write_bufferfalseの場合は、現象が起きるルートになります。
issues_xls=issues_to_xls2(@issues, @project, @query, @settings) return issues_xls unless export_name[1] == 'zip' && defined?(Zip::ZipOutputStream::write_buffer)

Zip::ZipOutputStream::write_bufferがない?rubyzipをrequireしているのにZip::ZipOutputStream::write_bufferがないってどういうこと?
いろいろ調べていくと、Redmine DMSF Pluginが入っている場合に起きる事が判明。
DMSF Pluginではrubyzipではなくzipbundlerでインストールしていました

これによってrubyzipzipの両方がgemに入っている状態になります。
どちらのプラグインも、以下のようにしてロードしています。
require 'zip/zip'
しかし、ロードパスの優先順位の関係でzipのほうがrubyzipよりも先に見つかるので、zipがrequireされます。
そして、zipにはZip::ZipOutputStream::write_bufferが含まれていない、というのが原因でした。


調査と対応XLS Export Pluginだけrubyzipを呼び出す方法とかないのかな?と、いろいろ調べてみたんですが分か…

JaSST'13 Niigataに参加してきました。

2013/3/15に行われたJaSST'13 Niigataに参加してきました。
今回は参加している勉強会「すわにい」の成果発表で登壇もしてきました。
http://www.jasst.jp/symposium/jasst13niigata.html

遅くなりましたが、気づきのあった事を書いてみます。
ちゃんと内容理解できているか不安ですが。。。

2013/4/10追記
JaSSTのサイトにレポートがアップされました。スライドも見れます!
http://www.jasst.jp/symposium/jasst13niigata/report.html

基調講演
「仕様ベースのソフトウェアテストを上手に進めるには
~明文化された要求仕様に対して漏れなくテストするための観点とは~」
大西 建児さん 仕様ベースのテストで何がむずかしいか、を4つの視点からむずかしさを説明されました。「むずかしさ」を整理するポイントを教えて頂けたと感じました。

ISTQBとは、というお話から。JSTQBのFoundation Levelを持っているはずの私ですが、成果発表の資料の用語からしてISTQBの用語に沿ってない・・・・と焦りました(ーー; もう一度シラバスを読もうと思います。自然言語による仕様記述でのあいまいさ。言葉を尽くして表現しなくてはならない。情報が絡み合ってごちゃごちゃしている状態。情報の整理が必要。複数のテストアイテムに対するテスト条件がいっぱいあり整理できない。テスト条件とは、テストアイテムについてテストしなくてはならないこと。現在ではユースケースが膨大になるのが当たり前。どこまで保証するか範囲を決めることになる。製品、サービスの領域に関する知識は持っている必要がある。すべてを知っている必要があるということではなく、テスト対象が目的を果たせるか確認するのに必要なことは知っている必要がある。
演習付きチュートリアル
「マインドマップを用いたテスト要求分析・設計エクササイズ」
鈴木 三紀夫さん テスト分析、設計でマインドマップを活用する、、、の前にテストケースに至までのテストプロセスのお話がありました。また、講演自体をマインドマップで各自書いていく、という流れ。私は結局A3で2枚ぶんになりました。

テストレベルごとにテストプロセスがあり、そのプロセスがフェーズ(時間の流れ)の…

Redmine 2.2.x でのXLS Export Pluginの動作確認

ぐぐったら、動いている風な記載がありました。

Redmine plugins that work in Redmine 2.2.2.stableRedmine にいれたものの手順書。
なんで、自分の追加したところの確認をしました。
特に問題なく動いていました。
環境
OS
Mac OS X 10.7.5環境
Redmine version 2.2.3.stable
Ruby version 1.8.7 (universal-darwin11.0)
Rails version 3.2.12
Environment production
Database adapter SQLiteRedmine plugins
redmine_plugin_views_revisions 0.0.1
redmine_xls_export 0.2.1.t1