SlideShare a Scribd company logo
CakePHP版Redmine

     CandyCane
       でタスク管理を始めよう!




OSC第3回 RxTStudy / Yusuke Ando (@yando)
   Tokyo Spring 2012 / Yusuke Ando (@yando)
Who am I?

Yusuke Ando
@yando
PHP CakePHP
Symfony
PHP Matsuri



  Introducing CandyCane / Yusuke Ando (@yando)
      第3回 RxTStudy / Yusuke Ando (@yando)
?
      CakePHP2実践入門(仮)
   技術評論社より今夏出版予定
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
PHP Matsuriという活動




    Introducing CandyCane / Yusuke Ando (@yando)
        第3回 RxTStudy / Yusuke Ando (@yando)
第3回 RxTStudy / Yusuke Ando (@yando) koyhoge
                                        by
Introducing CandyCane / Yusuke Ando (@yando)
第3回 RxTStudy / Yusuke Ando (@yando) sizuhiko
                                        by
Introducing CandyCane / Yusuke Ando (@yando)
アジェンダ

          Redmineについて
          CandyCaneの特徴
             入門ツアー




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Redmine
 フレキシブルなバグ管理システム
  Jean-Philippe Lang氏が開発
             GPL
        最新版は1.3.1
       Ruby on Rails製
アジャイル向けのプラグイン等で人気



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
高い関心




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
書籍 イベント




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ChiliProject
2010年末に当時の開発者のEric氏が脱退
 Eric氏と数人の開発者が派生版を作成
      ChiliProjectに名称を変更
Redmineの機能をサポートしつつ開発中
      最新のバージョンは3.0.0




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Redmine




              Chili Project


Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
CandyCane


Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
CandyCane
    CakePHPに移植したRedmine
       2009年4月に開発開始
2012/1/20現在のバージョンはv0.8.5
       国内外から様々な反響
 githubのPHPで 68996中、175番目
         Sweet & Flexible



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
もしかして?




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
あったらいいなぁと思えるものを、時間があったんで
    作り始めてみた。それだけです。


  Introducing CandyCane / Yusuke Ando (@yando)
      第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
@kakutaniさんが!




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
PHPすごい

   どんなサーバーでも多分動く
同一サーバーにたくさんインストールとか
   人によって違うプラグインとか
 サーバーの運用は適当でも大体平気
  PHPでプラグイン開発が出来る



 Introducing CandyCane / Yusuke Ando (@yando)
     第3回 RxTStudy / Yusuke Ando (@yando)
Sweet & Flexible



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Sweet: かんたん



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
45秒セットアップ




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
http://www.youtube.com/watch?v=RduoXtiK1Wc

Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Flexible: 拡張性



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
WEBからプラグインインストール




  Introducing CandyCane / Yusuke Ando (@yando)
      第3回 RxTStudy / Yusuke Ando (@yando)
http://www.youtube.com/watch?v=sTU7DYxnbZg
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
NyanCatプラグイン




にゃーんダウンチャート等を実装

   Introducing CandyCane / Yusuke Ando (@yando)
       第3回 RxTStudy / Yusuke Ando (@yando)
Like Itプラグイン




半日程度で実装してみたイイネ機能

   Introducing CandyCane / Yusuke Ando (@yando)
       第3回 RxTStudy / Yusuke Ando (@yando)
Weatherプラグイン




プラグイン開発デモ(作業時間20分)

   Introducing CandyCane / Yusuke Ando (@yando)
       第3回 RxTStudy / Yusuke Ando (@yando)
今後の開発予定
    リファクタリングとバグ修正
         REST API
       プラグインの充実
        チューニング
   チケット管理初心者向けの改良




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
入門ツアー
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
シナリオ
   CandyCane上でのバグ管理
     テスターがバグを報告
   リーダーが開発者にアサイン
  開発者が報告されたバグを修正
     テスターが修正を確認
  リリース頻度は毎月∼四半期程度



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ステップ
              初期設定
           プロジェクト作成
            トラッカー設定
             メンバー設定
             チケット管理
              進 管理



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ステップ
              初期設定
           プロジェクト作成
            トラッカー設定
             メンバー設定
             チケット管理
              進 管理



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
adminの設定変更




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
規定の言語設定




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ステップ
              初期設定
           プロジェクト作成
            トラッカー設定
             メンバー設定
             チケット管理
              進 管理



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
プロジェクト作成




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
プロジェクトの設定項目
識別子
 URLの一部になるプロジェクト名
公開
 メンバー以外からプロジェクトを見せる
トラッカー
 チケットを登録する際に利用する種別
モジュール
 チケット、時間、ニュース、Wikiが利用可能


  Introducing CandyCane / Yusuke Ando (@yando)
      第3回 RxTStudy / Yusuke Ando (@yando)
ステップ
              初期設定
           プロジェクト作成
            トラッカー設定
             メンバー設定
             チケット管理
              進 管理



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
トラッカー
      Redmine/CandyCane共通の概念
             最も複雑な部分
      チケットがどのように処理されるか
          ステータスの流れを設定
         複雑にし過ぎると後で辛い

New      Assigned        Resolved         Closed




  Introducing CandyCane / Yusuke Ando (@yando)
      第3回 RxTStudy / Yusuke Ando (@yando)
トラッカーのカスタマイズ




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ステータスのカスタマイズ




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ワークフローの設定




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ロール・権限の設定




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ステップ
              初期設定
           プロジェクト作成
            トラッカー設定
             メンバー設定
             チケット管理
              進 管理



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
メンバー設定


  利用者にユーザーアカウントを作成
   アカウントをプロジェクトに追加
 メンバー設定が無いとチケット操作不可
ステータスが変更できないと言われたらコレ




 Introducing CandyCane / Yusuke Ando (@yando)
     第3回 RxTStudy / Yusuke Ando (@yando)
ユーザーの設定




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
メンバーの設定




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ステップ
              初期設定
           プロジェクト作成
            トラッカー設定
             メンバー設定
             チケット管理
              進 管理



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
チケット管理

   登録されたチケットをアサイン
    経緯や証跡(画像)を登録
    問題が解決されるまで追跡
検索条件はカスタムクエリとして保存できる
  チケットの題名は(続き)で変更できる




 Introducing CandyCane / Yusuke Ando (@yando)
     第3回 RxTStudy / Yusuke Ando (@yando)
チケットの管理




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
チケットの管理




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
表示項目のカスタマイズ




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ステップ
              初期設定
           プロジェクト作成
            トラッカー設定
             メンバー設定
             チケット管理
              進 管理



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
進       管理

 バグの修正状況を俯瞰的に分析
単純なリスト形式のビューを補助する
 見たい観点に沿ったデータ入力
バージョンを設定すればロードマップ
工数、作業時間を入れれば工数管理




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
バージョンの登録




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
ロードマップ




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
さらなる管理


    時間トラッキング
    カスタムフィールド
     関連チケット
利用者の負担にならない範囲で運用
    プラグインの開発!




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
まとめ

 CandyCaneはPHP版Redmine
   簡単に導入、簡単に拡張
まずはスモールスタートがおすすめ




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
おまけ
(時間があれば)


Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
プラグインを作ろう
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
何を作るか?



Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
なめこ育ててますか?




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
なめこを
バグ管理システム上
 で栽培できれば
 生産性が上がる
Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
PHPならmoriyoshi




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
やること

        プラグインのBake
     JQueryとprototypeの共存
         アセットの配置
          ビューの修正




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
完成




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
まとめ

 CandyCaneはPHP版Redmine
   簡単に導入、簡単に拡張
まずはスモールスタートがおすすめ




Introducing CandyCane / Yusuke Ando (@yando)
    第3回 RxTStudy / Yusuke Ando (@yando)
CandyCane
      もっとSweetにもっとFlexibleに

https://github.com/yandod/candycane




 Introducing CandyCane / Yusuke Ando (@yando)
     第3回 RxTStudy / Yusuke Ando (@yando)

More Related Content

CakePHP版Redmine CandyCaneでタスク管理を始めよう (2012/03/16)