おおまえです。梅雨真っ只中じめじめして暑いので、片付けていたサーキュレーターを出しました。
さて、開催自体がかなりひさびさなのですが、先週金曜6月14日に Shibuya.trac第14回勉強会が開催されました。これに参加して簡単な発表をしてきました。↓がそのときのスライドです。Trac ベースの Apache Bloodhound と Trac のここ最近のことについてです。
勉強会に参加するのはひさしぶりですが、また何かの機会に参加したいですね。
おおまえです。梅雨真っ只中じめじめして暑いので、片付けていたサーキュレーターを出しました。
さて、開催自体がかなりひさびさなのですが、先週金曜6月14日に Shibuya.trac第14回勉強会が開催されました。これに参加して簡単な発表をしてきました。↓がそのときのスライドです。Trac ベースの Apache Bloodhound と Trac のここ最近のことについてです。
勉強会に参加するのはひさしぶりですが、また何かの機会に参加したいですね。
こんにちは、最近流行の git(ギット)。
分散バージョン管理の概要を理解するためのコンテンツを公開しました。
はじめてバージョン管理システムを利用する人、初学の人から、すでに開発に使っている人までこれまでのバージョン管理に比べ圧倒的に便利だ。という反面、「バージョン管理の利点と使い方はなんとなくわかる。が、分散バージョン管理はよくわからない」という声があります。私自身も git の利用を開始した当初は、「Index? HEAD? なにそれ? 」状態でした。
社内メンバー向けに作成し、お客様にも利用して頂いた資料をもとに新たに編集し直して公開します。(画像なども新たに編集)
この「git 基礎勉強」を読めば、
「クローンからプルしてマージ、コミットしてプッシュする」
の意味が理解できるようになります。
ぜひご覧下さい。
手書き風の画像は、だものメーカーを使っています。
こんにちは、tracpath の新しい機能「チケットカレンダー」をご紹介します。
trac プラグインとしてすでにリリースした TicketCalendarPlugin を tracpath で利用できるようにしました。
このプラグインは、チケットの対応予定を視覚的に分かりやすく「見える化」するためのプラグインです。
tracpath にはチケットを確認する方法として、メール通知、レポート機能、フィルタ機能、Excleエクスポートを提供しています。が、視覚的に確認する機能がありませんでした。チケットカレンダーによって、柔軟なフィルタ機能を利用して必要なチケットを見える化することが可能になります。
tracpath で利用するためにチケットにカスタムフィールドを設定する必要があります。
チケットカレンダーに表示するためには、チケットやマイルストーンに日付項目が必須となります。
日付項目に従ってカレンダーに表示するためです。
設定項目は2つのみです。
チケットに新しい属性「開始日」「終了日」をカスタムフィールドから追加します。
名称 | タイプ | ラベル | デフォルト値 | 書式 |
---|---|---|---|---|
start_date | Text | 開始日 | 空白 | Plain |
due_date | Text | 終了日 | 空白 | Plain |
名称の「start_date」「due_date」は一意な名前を付ける必要があります。start_date と due_date はユーザが自由に設定することができます。(設定方法については後述)
これで、チケットカレンダーが利用できるようになりました。
カレンダーに表示されるチケットをクリックすると、チケットの詳細を吹き出しで表示します。チケットIDのリンクをクリックするとチケット詳細画面に遷移します。
月表示のBOXカレンダーを表示します。グローバルメニューから チケット » チケットカレンダー をクリックして表示されます。
右上にある「リスト表示」をクリックするとチケットを今日の日付から1週間分リスト表示します。「先週のチケットを見る」「翌週のチケットを見る」をクリックすると先週・翌週のチケットリストを見ることができます。
チケットカレンダーは標準の設定でそのまま利用する事ができますが、色やアイコンを自由に変更することができます。チケットカレンダーのカスタマイズ方法について説明します。
チケットカレンダーのカスタマイズ画面はプロジェクトの管理画面 » サイドメニューの ticketcalendar をクリックします。
項目名 | 表示 | デフォルト値 | 説明 |
---|---|---|---|
週の開始日 | first_week_day | -1 | カレンダーにおける週の最初の曜日を指定します。-1 の場合、ユーザのロケールに対応する曜日を使用します。それ以外の場合、指定した値を使用します。(0 が月曜日になります) |
マイルストーン背景色 | milestone.background-color | #c2c2c2 | マイルストーンの背景色を指定します |
マイルストーンアイコン | milestone.icon | ui-icon-flag | マイルストーンで表示する jquery-ui のアイコン名を指定します。 |
チケットの期日 | ticket.due_date | due_date | チケット期日になるフィールド名を指定します |
チケット期日の書式 | ticket.due_date.format | %Y-%m-%d | チケット期日の書式を指定します。 |
チケット優先度の背景色 | ticket.priority.color | #fca89e, #ffad46, #7bd148, #8db3f0, #cca6ac | チケットの優先度に使う背景色をカンマ区切りで指定します。優先度と背景色を明示的に指定することもできます。例: blocker:#fa6653, critical:#ffad46, … |
チケットの開始日 | ticket.start_date | start_date | チケット開始日になるフィールド名を指定します |
チケット開始日の書式 | ticket.start_date.format | %Y-%m-%d | チケット開始日の書式を指定します。 |
チケット分類のアイコン | ticket.type.icon | ui-icon-contact, ui-icon-lightbulb, ui-icon-check, ui-icon-gear, ui-icon-comment | チケット分類に使う jquery-ui のアイコン名をカンマ区切りで指定します。 http://jquery-ui.googlecode.com/svn/tags/1.8.21/tests/static/icons.html を参照してください。チケット分類とアイコン名を明示的に指定することができます。 例: defect:ui-icon-contact, task:ui-icon-lightbulb, … |
tracpath サービスはすべて Amazon のクラウドサービスを利用してそのメリットを享受しています。
が、開発環境や検証環境等、社内のすべてのハードウェアがなくなったわけではありません。どうしても手元で作業するために残さなければいけない機材があります。
サーバの入替のタイミングでハードウェアを仮想化・クラウド化に順次移行し処分しているのですが、すべてのサーバ機器をなくすためにはもうしばらく時間が掛かりそうです。このエントリーでは、当社が実施してる情報漏洩対策の一環をご紹介します。
このリスクとは、ハードウェアの記録媒体から情報を取得される、という点です。
企業の情報セキュリティを担当されている方も悩まれたことがあるのではないでしょうか。データ消去ソフトウェアを使って消去しても不安がある、処分方法が分からない、どこに依頼すれば良いか分からないなどの疑問があるかもしれません。
ハードディスク等の記録媒体のデータ消去作業はとても面倒ですが十分注意しなければ行けません。ハードディスクのデータ復旧サービスなど、特殊なツールや解析が可能なサービスを提供しているとおり、復旧できてしまう場合があるからです。
データ消去方法として
専門のサービスではこの2つの方法を実施することが多いようです。
このような方法で使わなくなったサーバ製品の記録媒体を処分しています。
数千円〜数万以内の価格で対応してもらえます。コストは掛かりますが確実な処分を行うことで安心します。
サーバ製品のハードディスクは破壊処理を行っていますが、メンバーが利用する開発端末(ノートパソコン)については、専用の消去ソフトウェアを使って無意味なデータで上書きする手法を使います。サーバ製品は外部の専門会社に依頼しますが、ノートパソコンは自分たちで実施しているからですが。。。
データ消去ソフトの実行はとても時間が掛かって手間ですが、データ漏洩したときのリスクを考えると必ずやらなければ行けない作業です。
IT事業者としてサービスを提供している当社の情報漏洩対策の一環をご紹介しました。
おおまえです。いつのまにか梅雨に入っていてすぐに夏なんだなぁ…陽射しは強いし暑いのは好きじゃないんです。(ぐったり……)
さて、なんか唐突な感じですが、今回は Trac からのチケット通知メールを HTML メールで送れるようにするプラグインを作ったので、それを紹介しようと思います。
Trac からのチケット通知メールは、固定幅フォント前提でカラムが76に入るように折り返しを行ってメールを作成してくるので、カスタムフィールドのラベルが長かったりすると、見辛い感じになってしまいます。
そこで、これを HTML メールとして作成できれば、固定幅フォントや76カラムの制約に拘らず比較的自由にレイアウトできるようになります。
easy_install でインストールできます。
C:>easy_install -ZU http://trac-hacks.org/svn/trachtmlnotificationplugin/0.12 Downloading http://trac-hacks.org/svn/trachtmlnotificationplugin/0.12 Doing subversion checkout from http://trac-hacks.org/svn/trachtmlnotificationplugin/0.12 to c:\docume~1\admini~1.ope\locals~1\temp\easy_install-gjfkwq\0.12 Processing 0.12 Running setup.py -q bdist_egg --dist-dir c:\docume~1\admini~1.ope\locals~1\temp\easy_install-gjfkwq\0.12\egg-dist-tmp-mlpzpt zip_safe flag not set; analyzing archive contents... trachtmlnotificationplugin 0.12.0.1 is already the active version in easy-install.pth Installed c:\traclight\python\lib\site-packages\trachtmlnotificationplugin-0.12.0.1-py2.6.egg Processing dependencies for trachtmlnotificationplugin==0.12.0.1 Finished processing dependencies for trachtmlnotificationplugin==0.12.0.1
有効にしたい Trac プロジェクトの conf/trac.ini か inherit-file で共有している trac.ini でこのプラグインを有効にします。
# trac.ini [components] trachtmlnotification.* = enabled
この HtmlNotificationSmtpEmailSender が HTML メールを作成します。
# trac.ini [notification] email_sender = HtmlNotificationSmtpEmailSender
HTML 部分を作成する際に、この言語設定を使うので ja などに設定しておきます。
# trac.ini [trac] default_language = ja
この後、Trac を動作させている Web サーバを再起動させます。
コメントしたときにはこのような感じ。添付ファイルもリストされます。
現状の Trac にはチケット通知時のメール作成を代替させるようなインターフェイスはありません。ですので、実現するには Trac を修正するしかないのですが、このプラグインでは IEmailSender というインターフェイスを使って実現しています。
IEmailSender はメールの送信手段を提供するためのインターフェイスで、SMTP と sendmail コマンドで送信するコンポーネントが Trac 自体に定義されています。このインターフェイスを実装するとメールの送信を行うものなので、メール全体 (message/rfc822) がそのまま取得することができます。
渡ってきたメール全体から X-Trac-Ticket-URL ヘッダを探してチケットの ID とコメント番号を取り出します。そこからチケットを改めて取得し HTML メールになる部分を構築し、代わりにメール送信を行う、という仕組みになっています。
ざっくりした説明ですが、こんな感じです。それでわ。
tracpath をいつもご利用頂きありがとうございます。tracpath のサービスにアクセスしにくい不具合が発生しました。現在は通常通りご利用可能です。影響範囲は以下の通りです。
ご利用の皆様にはご不便をおかけしておりますことをお詫び申し上げます。
マイルストーンの有効活用についてエントリーを作成しました。
tracpath のマイルストーンは1つの達成したい目標を指します。プロジェクトでは達成したい目標に向かって、ステップ毎に計画を立てて実行していきます。実行後、検証を行って新たな計画を立てていく。このようなサイクルでプロジェクトを進めていきます。
サイクルの一区切りとなるマイルストーンをうまく利用することで、あなたのチーム内においてプロジェクトを整理することができます。
tracpath は弊社が開発に関わっているオープンソースの Trac をエンタープライズ向けに提供しているクラウドサービスです。
Trac / tracpath を使ったマイルストーンの使い方を見てみましょう。
EC-Cube オープンソースのECサイト構築システムの開発で利用
http://svn.ec-cube.net/open_trac/roadmap
WordPress オープンソースのブログ管理システムの開発で利用
http://core.trac.wordpress.org/roadmap
Git/Mercurial/Subversion クラウド型プロジェクト管理サービス
http://tracpath.com/
ご紹介したオープンソースプロジェクトは、マイルストーンを「次回リリース」「次々回リリース」「未計画」に分類して管理しています。
次回リリース/次々回リリース
が分かるようになっています。
開発チーム内で情報共有し、自分たちが進むべき道を示しているマイルストーンを有効に活用することで得られるメリットはとても大きいです。マイルストーンに紐つけられたチケットによりタスクや課題の状況、マイルストーンの全体進捗率、残っている課題が一目で分かります。複数チームの場合、チーム毎にマイルストーンを設定することもできます。
tracpath はあなたのチームに合わせた柔軟な運用スタイルにあわせて利用できるように、使い方に特別な制約がありません。チームの開発方針や確立したスタイルを変えなくてもすぐに活用できるように設計されています。
Trac プラグイン:TicketCalendarPlugin の使い方を説明します。
このプラグインは自分が担当しているチケットを「いつまでに、何を、どのくらい」対応しなければいけないかをビジュアル的に知りたいと思い、開発したプラグインです。
インストール方法はこちらのエントリーTrac プラグイン:TicketCalendarPlugin – チケットを月間カレンダーに表示するプラグイン(インストール編)を先にご覧下さい。
TicketCalendarPlugin のインストールと設定内容についてはTrac プラグイン:TicketCalendarPlugin – チケットを月間カレンダーに表示するプラグインをご覧下さい。
TicketCalendarPlugin のスクリーンショットをご覧下さい。見たままの簡単操作であなたのチケットを教えてくれます。
月表示のBOXカレンダーを表示します。グローバルメニューから「チケットカレンダー」をクリックして表示されます。
カレンダーに表示されるチケットをクリックすると、チケットの詳細を吹き出しで表示します。チケットIDのリンクをクリックするとチケット詳細画面に遷移します。
月間カレンダーの日付セルをクリックすると吹き出しが表示されます。開始日を指定してチケットを作成、または期日を指定してチケットを作成することができます。
右上にある「リスト表示」をクリックするとチケットを今日の日付から1週間分リスト表示します。「先週のチケットを見る」「翌週のチケットを見る」をクリックすると先週・翌週のチケットリストを見ることができます。
どこかで見たり聞いたことある普通のカレンダー表示するだけのシンプルなプラグインですが当社での活用方法をお話しします。
チームの進捗会議を行うときに、Wikiに報告書を書くようにしています。(書いた報告書をみんなで共有)
進捗報告で利用する報告書にチケットカレンダーを貼り付けておくと、チーム毎、担当者毎の作業の混み具合や予定が「パッ」と俯瞰できます。
全体を一発で知るにはとてもよい機能だと思っています。
カレンダー表示とリスト表示のどちらにも「マクロ」を出力する機能があります。
このマクロを Wiki に貼り付けます。
あとは、作業内容の報告・問題点などを記述すれば、あっという間に報告書のできあがりです。(実際のお客様に提出する場合はこれだけではダメですが。)
社内報告、協力会社への報告・共有、チームの情報共有などなど、サクッと資料を作ってしまいましょう。
ぜひ、TicketCalendarPlugin をお試し下さい。
皆様のご意見を聞かせて頂ければ今後の開発にいかしていきます。
ブログのコメントかお問い合せフォームよりお声をお待ちしております。
こんにちは、新しい Trac プラグインをリリースいたしました。
チケットに「開始日」「終了日」を設定すると Google Calendar の月間表示のように機能する TicketCalendarPlugin を開発いたしました。
このプラグインは自分が担当しているチケットを「いつまでに、何を、どのくらい」対応しなければいけないかをビジュアル的に知りたいと思い、開発したプラグインです。
このエントリーではインストールと初期設定について見ていきます。
easy_install に http://trac-hacks.org/wiki/TicketCalendarPlugin/0.12 を渡せばさくっとインストールできます。
svn コマンドがない環境では、これではインストールできないと思います。その場合、Trac-hacksから手動でダウンロードを行い、ダウンロードしたディレクトリを easy_install に渡すようにしてください。
C:>easy_install -Z http://trac-hacks.org/svn/TicketCalendarPlugin/0.12 Downloading http://trac-hacks.org/svn/TicketCalendarPlugin/0.12 Doing subversion checkout from http://trac-hacks.org/svn/TicketCalendarPlugin/0.12 to c:\docume~1\admini~1.ope\locals~1\temp\easy_install-x_lmas\0.12 Processing 0.12 Running setup.py -q bdist_egg --dist-dir c:\docume~1\admini~1.ope\locals~1\temp\easy_install-x_lmas\0.12\egg-dist-tmp-ubt6k_ zip_safe flag not set; analyzing archive contents... TicketCalendarPlugin 0.12.0.1 is already the active version in easy-install.pth Installed c:\traclight\python\lib\site-packages\TicketCalendarPlugin-0.12.0.1-py2.6.egg Processing dependencies for TicketCalendarPlugin==0.12.0.1 Finished processing dependencies for TicketCalendarPlugin==0.12.0.1
有効にしたい Trac プロジェクトの conf/trac.ini でこのプラグインを有効にします。(inherit-file で共有している trac.ini でも可能)
# trac.ini [components] ticketcalendar.web_ui.* = enabled
[ticketcalendar] first_week_day = 6 milestone.color = #C2C2C2 milestone.icon = ui-icon-flag ticket.due_date = due_date ticket.due_date.format = %Y/%m/%d ticket.start_date = start_date ticket.start_date.format = %Y/%m/%d
この後、Trac を動作させている Web サーバを再起動させます。
チケットカレンダーを利用するためにチケットにカスタムフィールドに2項目追加する必要があります。
チケットカレンダーで利用するカスタムフィールドは trac.ini で定義します。
例示した設定の場合
を設定しています。利用する前にカスタムフィールドを追加してください。
これでインストール作業は終了です。
利用方法の説明についてはこちらのエントリー「Trac プラグイン:TicketCalendarPlugin の使用方法」を参照してください。
チケットカレンダーは trac.ini で色やアイコンを利用者の好みにカスタマイズすることができます。
TicketCalendarPlugin の設定項目の説明と利用方法についてまとめています。
値 | 解説 | 設定例 |
---|---|---|
first_week_day | 週の始まる日を 0:月曜 から 6:日曜 の間で設定します。デフォルト値は 6 です。 |
first_week_day = 6 |
milestone.color | マイルストーンのカラーを指定します。 |
milestone.color = #C2C2C2 |
milestone.icon | マイルストーンのアイコンを指定します。アイコンの種類はjQuery-UIのアイコン一覧が利用可能です。 |
milestone.icon = ui-icon-flag |
ticket.due_date | チケットカレンダーに表示するために必須項目です。チケットの終了日のカスタムフィールドを指定します。 |
ticket.due_date = due_date |
ticket.due_date.format | 終了日として利用するカスタムフィールドの日付フォーマットを指定します。 |
ticket.due_date.format = %Y/%m/%d |
ticket.start_date | チケットカレンダーに表示するために必須項目です。チケットの開始日のカスタムフィールドを指定します。 |
ticket.start_date = start_date |
ticket.priority.color | チケット優先度の背景色を CSS カラーで設定します。trac.ini に設定しない場合、デフォルトが利用されます。 |
設定例: ticket.priority.color = #faa, #ffa, ... または ticket.priority.color = blocker:#faa, critical:#ffa, ... デフォルト: ticket.priority.color = #fa6653, #ffad46, #7bd148, #4986e7, #cca6ac |
ticket.type.icon | チケット分類のアイコンを設定します。アイコンの種類はjQuery-UIのアイコン一覧が利用可能です。trac.ini に設定しない場合、デフォルトが利用されます。 |
設定例 ticket.type.icon = ui-icon-contact, ui-icon-lightbulb, ... または ticket.type.icon = task:ui-icon-contact, defect:ui-icon-lightbulb, ... デフォルト: ticket.type.icon = ui-icon-contact, ui-icon-lightbulb, ui-icon-check, ui-icon-gear, ui-icon-comment |
こんにちは、tracpath の便利な機能を紹介します。
ご利用者様の要望から生まれた機能の中でご紹介した「チケットのテンプレート(雛形)機能」があります。
この機能が必要とされた背景には、開発チームのメンバーによってチケットに記述される内容の深さや書き方が異なることが挙げられます。
バグ起票の場合、開発者はできるだけ詳しい報告が欲しいのですが、テスターやエンドユーザから挙がってくる内容は「商品一覧画面でアイテムの詳細ボタンを押下するとシステムエラーが発生する(IE8のとき)」や「アイテムの詳細が表示されない」「アイテム詳細表示でシステムエラー」など、担当者であればなんとか理解できるバグ報告から詳細を聞かなければ分からないバグ報告まで、報告者による内容が異なることが多々あります。
良いバグレポートに必要なことで解説されていることが周知され、チームメンバー全員が協力してくれることが理想ですが現実は報告者のスキルの差もあり難しい課題です。
少しでもこの課題を解決するために「チケットのテンプレート機能」を開発しました。
具体的な使い方を見てみましょう。
チケットのテンプレート機能はプロジェクトの管理画面から設定することができます。
プロジェクト -> 「管理」タブ -> チケットテンプレートをクリックしてください。または、新規チケット作成画面の「テンプレート」リンクをクリックしても良いです。
チケットテンプレートに作成したい名前と雛形として利用する内容を記述します。(ここでは、タスク、バグ、要望を作成)
準備はこれで完了です。
バグ報告
==== 再現手順 1. 1st 1. 2nd 1. 3rd ==== 期待する内容 ==== 環境情報 * ブラウザ * OS * その他 ==== その他
要望
==== どのような機能が必要ですか * その1 * その2 ==== 必要になる場面・情況を教えてください * 情況や * 場面 ==== その機能があれば解決する問題を教えてください * 問題1 * 問題2
次はチケット作成画面を確認しましょう。
新規チケット作成するときに「概要」の右上に「テンプレートの使用:」と表示されています。
プルダウンの中に先ほど作成したテンプレートの名前がリスト表示されます。
1つ選択してみましょう。
チケットテンプレートの管理画面で追加した雛形がチケットの詳細に反映されました。
良いバグレポートは、開発者が問題を見つける大きなヒントを提供してくれます。
同じ問題をすぐに再現させることができ、原因の特定に時間がかかりません。
バグは原因が分かってしまえば解決することは比較的簡単にできることが多いです。
最近の開発ではITツールやメール・メーリングリストなど人に物事を伝えるために文章を書く機会が多くなりました。
チケットテンプレート機能を使うことで少しでもチームの効率化が上がってくれることを期待しています。