aqubi+shin1

Recent site activity

eclipse‎ > ‎

Mylyn

ここではTracを前提に説明する。また、Trac側でXML-RPC PluginがInstallされていて使用可能な状態になっている必要がある。図はTracのAdmin画面でPluginを表示させたもの。

MylynのInstall

  1. EclipseにMylynをinstallする。3.3と3.4で別々のSiteが用意されている模様。Mylyn関連と、各ITS用のConnectorをinstallする事。

Task Repository,Queryの登録

  1. 「Task repositories」Viewを開く。
  2. 「Task Repositories」Viewで右Clickし、「Add Task Repository」を選択。
  3. 「Select a task repository type」で接続するITSの種類を選択して「Next」。今回はTracを選択。
  4. Tracの場合は「Trac Repository Settings」画面になるので、ServerのURL,User,Passwordを設定する。「Additional Settings」で「XML-RPC Plugin」を選択しておく事。
  5. 設定が完了したら「Validate Setting」ボタンをClickして、画面上部に「Authentication credentials are valid.」が表示される事を確認する。
  6. 問題なく接続できた事が確認できれば「Finish」をClick。
  7. Task RepositoriesにServerが登録されると同時に「Add New Query」ダイアログが表示される。Task ListにTask全てが見えてしまうと大変な事になるので、Task Listに表示するTaskの条件を設定しましょう、という事。ここでは「Yes」を選択する。ちなみに、Queryは後からでも追加可能。
  8. 「Add Repository Query」ダイアログが表示されるので、表示したいTaskの条件を設定して「Finish」をClickする。
  9. Queryの作成が終了したら、「Task List」Viewを開く。すると、作成したQueryが登録されていて、条件にあったTaskを見れる状態になる。
  10. 試しにTask List上のTaskをDoubleClickで開いてみると、Taskの詳細な情報がEditorに表示される。ここでTaskの内容を編集する事ができ、「Submit」をClickするとServerへ編集情報が保存される。

ここからが本番

実は上記の編集画面とかどぅだって良い。上記の操作だけでは、Pull型のTask駆動な開発ができるだけにすぎない。Taskがあって迷わず開発できるような、作業者が自発的にPullして作業を進める仕組みも非常に重要だが、ここからがEclipse+Mylyn+ITSのスゴイところ。

TaskをActiveにする

  1. まずは着手するTaskをTaskListで「Active」にする。TaskList上のTaskの左端にうっすらと「丸いアイコン」があるので、それをClickするとActiveな状態となる。
  2. すると、アイコンがEclipseのような青い色になる。同時に、PackageExplorerが空っぽになってしまうはず。
    これは「Taskと関連があるSourceのみ表示する(Focus on active task)」という状態になっているため。この状態はPackageExplorerのToolbar上にある、Eclipseと同じような青いアイコン(ミッ○ーマウスにも見える)をClickすることで切り替えできる。
  3. まずはこのTaskをActiveにした状態でTask内で触る必要があるSourceを開いていくつか編集してみる。
  4. いくらかSourceを触った状態で「Focus on active task」の状態にしてみる。すると、Package Explorerには触ったSource(とそのメソッド)だけが表示された状態になっているはず。(図はFocus on active task...がoffの時とonの時の比較。ミッキーのToggleで判断。)
  5. ここで、一旦Taskを非activeにしてみる。TaskListで青くなったアイコンをClickするとTaskが非activeな状態にできる。(正確には着手したTaskにはうっすら青い色が残る。)
  6. すると開いていたSourceも閉じられて「Focus on active task」の状態の切り替えもできなくなる。
  7. さらに、そのTaskをActiveにしてみると…なんと、以前に作業していたSourceやらのEditorの状態が復活する!これは便利!
    割り込みTaskに邪魔されたTaskを再度処理する際、「このTaskで何を触っていたっけ…?」とかならずにすむ(SCMやITSのChangeSetをかき集めるよりも直感的)。

Active Taskの状態を共有する

  1. TaskをEditorで開く。するとEditorの中に、さらに「Planning」「Context」「Trac」等のTabがあるはず。これの「Context」を選択すると「Focus on active task」に表示された状態がここでも見る事ができる。
  2. この「Context」の情報は「Trac」tabでTaskの状態を編集してSubmitする際に「Attach Context」をチェックしてSubmitする事でTaskの添付ファイルとしてTaskに登録する事ができる。(Taskに添付しない場合は「${workspace}/.metadata.mylyn」に保存されている。保存先はEclipseの設定「Mylyn/Task List」の「Advanced」でも設定できる。)
  3. ここでTaskに添付ファイルとして登録した「Context」は、別のマシンでも使用できる。別のマシンではこのTaskをEditorで開いて、「Context」tabの「Actions」「Retrieve context」を選ぶ事でContextを自分のマシンに持ってくる事ができる!

TimeTrackingもできる…よぅだ!

ここまで見ていなかったTask Editorの「Planning」tabだが、これは見たまんまの事ができるよぅだ。実はTimeTrackingは別のものを使って適当なカウントをしているので、Mylynの機能は使っていないw
  • 着手予定日
  • 期限
  • 見積もり時間
これらはITS自体の機能だったりするが、注目は「Activeになっている時間を自動的にカウントしてくれている」という点。たぶん、他のTimeTrackingを使うよりも正確な時間計測ができる…のではないかなぁ…。