スポンサーサイト

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

TortoiseSVN with Notes/Domino でバグトラック

会社では、ソフトウェア開発の障害管理に IBM Lotus Notes/Domino を利用しています。
当然ながら Domino Application は昔取った杵柄って事で、一から作ったのですが、ソースコード管理に利用している Subversion/TortoiseSVN との相性が良くない、、、という事ではなく、事例が見つからないので後回しにしてました。

で、いつの間にか2年の月日が経ってしまっていたのです。

今日、ふと思い立ち、なんとかならんものかと調査をしてみました。
じゃじゃじゃーん!

Notes Document を呼び出すにあたり、"notes://" という拡張した URL スキーマがサポートされていることを知りました。

notes://<Server>/<Database file>/<View>/<Document Key>?OpenDocument

という URL フォーマットを利用することで、別アプリケーションからでも Notes Client が立ち上がり、且つ、指定のドキュメントまで開いてくれるらしいのです。

こっこれはっ!!

ということで、TortoiseSVN の属性(Properties)に、bugtraq:url と bugtraq:logregx を追加してみたのですが、あえなく撃沈。

Notes/Domino のバグなのか、notes://... で始まるURLの場合、"<Document Key>?OpenDocument"というオプションが使えないようなのです。実行すると「リンクに指定された文書はリンク先のデータベースにはありません。」というツレないエラーメッセージが表示されるのです。
http://... で始まるURLの場合は大丈夫なんですけどね。

<Document Key> の代わりに、<DocumentID>を使えばこの問題は解決するらしいのですが、、<DocumentID>は可読できないくらい長ったらしい記号の羅列なので、運用上その値を利用する事はUIとしてはありえないのです。
一方、<Document Key>は、Domino の @関数である @Unique を使っていて、XXXX-YYYYYY という 4+6の脳みその許容範囲内の長さの文字列になり、<DocumentID>と比較するまでもなく、使いやすいのです。

結論からいいますと、TortoiseSVN のログメッセージに 障害文書作成時に @unique で発生した文書IDを<Document Key>部分に置き換えると自動リンクを貼り、連携を取ることはできました。

1クッションおく利用法なのですが、詳細はまた後日に書きます。

--------------------------
【追記 2008/08/25】
--------------------------
処方箋です。
TortoiseSVN のログ上のURLアンカーから、Web Browser 経由で Notes Document を表示して、その Notes Document 上に、原本への NotesURLアンカーを置く方法で対応しました。


  1. 対象となる Notes DataBase をブラウザから参照可能なように設定する必要があります。
  2. フォームに、"RefURL"(任意名称)などのテキスト(表示上の計算結果)フィールドを追加します。
  3. 内容は、"notes://<Domino serverName>/<Database Path>/0/"+@Text(@DocumentUniqID) にします。
  4. 検索専用のビューを作成します。名称は、"($ByDocID)"(任意名称)、別名 "ByDocID" にします。
  5. 検索キーとして利用するフィールドがソートされた状態で第1列表示されるように ByDocID をデザインします。1列だけのビューでOKです。

Notes/Domino 側の準備は以上です。

次に、TortoiseSVN の属性の追加です。

  1. bugtraq:url を追加します。内容は、次の通りです。
    "http://<Domino server Name>/<Database Path>/ByDocID/%BUGID%" (* 訂正 2008/09/02)
  2. bugtraq:logregex を追加します。ここには正規表現を記述します。使用する環境によって内容は変わるので次の情報は参考程度としてください。

    • 1行目:[A-Z]{4}-[A-Z0-9]{6} (* 訂正 2008/08/28)
    • 2行目:([A-Z]{4}-[A-Z0-9]{6}) (* 訂正 2008/08/28)

     上記の正規表現で、XXXX-YYYYYY という @uniq が生成するIDを網羅しています。[XXXX] にはアルファベットのみが入り、[YYYYYY] にはアルファベットと数字が混在するという前提で記述しています。
拍手コメントを見る

テーマ : ソフトウェア
ジャンル : コンピュータ

tag : Notes/Domino TortoiseSVN bugtraq

trackback


この記事にトラックバックする(FC2ブログユーザー)

[コンピュータ]Notes Domino情報 SVN

   に関連したブログ発見。 会社では、ソフトウェア開発の障害管理に IBM Lotus Notes/Domino を利用しています。 当然ながら Domino Application は昔取った杵柄って事で、一から作ったのですが、ソースコード管理に利用している Subversion/TortoiseSVN との相性が良く

TortoiseSVN で複数の bugtraq を利用する方法

TortoiseSVN の bugtraq は、コミットログにバグ追跡システムとの連携を関連付ける機能として非常に便利です。Notes/Domino を利用した構築方法は、過去...

コメント

変更履歴(2008/08/28)

正規表現に繰り返し指定する方法があったので、その方法に置き換えました。

旧:\D\D\D\D-\w\w\w\w\w\w
新:[A-Z]{4}-[A-Z0-9]{6}

変更履歴(2008/09/02)

bugtraq:url に "?OpenDocument" は不要だったので削除しました。

旧:"http://<Domino server Name>/<Database Path>/ByDocID/%BUGID%?OpenDocument"
新:"http://<Domino server Name>/<Database Path>/ByDocID/%BUGID%"

SearchView コマンドでどうにかならないですかね

以前にブログで取り上げたことがあるのですが、キー検索で開きたい場合は、SearchViewコマンドが8.x以降では使えるようになっているのですがそれが使えないですかね。
すでに回避しちゃったみたいで用済みっぽいですが。

とほほー

>長島さん

情報ありがとうございます。

でも、お金なくて、7.x なんです。
8.x になったら(いつだ?)試してみたいと思います。気合だけはあります。はい。
非公開コメント
ブログ内検索
プロフィール

雷ぶ

Author:雷ぶ

最近の記事
最近のコメント
最近のトラックバック
カテゴリー
月間アーカイブ
ブロとも申請フォーム

この人とブロともになる

RSSフィード
リンク

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