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