初めてのプラグイン開発

Download Report

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