初めてのプラグイン開発
DESCRIPTION
2009/01/24 Shibuya.trac 2009新年会http://sourceforge.jp/projects/shibuya-trac/wiki/meeting%2F03TRANSCRIPT
1
初めてのプラグイン開発 - SAPとTracの連携 -
2
今の心境
こういった場での発表は、初めてできんちょーしてます
5分どころか10分以上かかりそうなので、今回どら娘がこなくてほっとしてます
3
アジェンダ
自己紹介
プラグイン作成の背景
プラグインの概要
今後の課題
4
自己紹介
id:ikikko はてな(ブログ:Talking Nonstop)
Gmail, Twitter, Wassr某SIer所属 客先常駐
商社向けのシステム開発
SAPのアドオン(プラグイン)開発を担当
5
背景
「Excel+Eメール」での管理にうんざり 管理用のExcelファイルが5~6
同じ内容を別々のファイルに転記
ファイルを複数立ち上げて作業
離れた拠点の連絡は、EメールでExcelを送付 手動でメール送信が無駄な労力
どこに最新のファイルがあるのかも不明
6
勉強会
便利そうだけど、セキュリティは?
SAP上のソースコードと連携できる?
SSL通信やユーザIDによる制御など一通りのことはできます
中をいじってやればできると思いますが、
標準機能にはないみたいです
ITSで解決できるということを啓蒙するために勉強会を開催!
7
勉強会を終えた後の感想
ソースコードのバージョン管理と連携不可なのは不便だよな
無いならば作ってしまえプラグイン!
8
プラグインの概要 - Sap2SvnPlugin -
チケット更新時にSAPにアクセスして情報を取得、その内容をSubversionにコミット
SAPへのアクセス: ActiveXを利用したRFC(Remote Function Call)
を利用
Subversionへのコミット Trac付属のモジュールを利用
9
Trac
SubversionSAP
イメージ図
①:アクセス
②:オブジェクト抽出・コミット
③:閲覧
リポジトリカスタムフィールド•リリース済•移送依頼番号
チケット
10
SAP用語の解説
リリース Subversionでのコミット
リリース後は、該当のオブジェクトは変更されない
移送依頼番号 Subversionでのリビジョン番号
一つの移送依頼番号に複数のオブジェクトが紐付く
11
プラグイン設定画面
SAPのログイン情報
•APサーバ•ユーザ名•パスワード etc
コミットのための作業領域
12
チケット更新時
「リリース済」がチェックされて、かつ「移送依頼番号」に値がある場合にのみ
プラグイン実行
ボタンを押して、10秒くらい待つ・・・
チケット
13
チェンジセットの番号を追記
チケット更新後
※:画面はイメージです。実際のものとは異なる可能性があります。
概要とチケット番号をコミットログ出力
リポジトリ
チケット
相互リンクを実現!
14
苦労した点
Python初心者 「みんなのPython」で基礎固め
SAPのプログラム制御初心者 PythonでSAPを制御しようという人が少ないので、Web
上にも情報が少ない
Subversionのプログラム制御初心者 APIのドキュメントが少なく、使いにくい
⇒ Google Codeのテストケースで使用方法を調査
Tracプラグイン作成初心者 参考:Shibuya.trac「プラグインの作り方」
(http://sourceforge.jp/projects/shibuya-trac/wiki/trac%2Fplugindev)
柴田淳氏 著
15
今後の課題
プラグインの洗練 バージョン管理対象オブジェクトの対応増
画面制御・レイアウトコード
データベーススキーマ
例外処理の追加様々な環境での動作検証
現状はコンセプトの検証レベル
16
そして何より・・・
17
Trac & 自作プラグインを導入する!
18
今後の課題
セキュリティに関しても条件厳しい
使ってもらってこそのTrac 実際に使わないと便利さが分からない
使うにつれてプラグインの改善点も見えてくる
使ってもらいたいけど、使うに使えない
堂々巡り状態・・・
19
うまく導入する方法をアドバイス下さい><