SlideShare una empresa de Scribd logo
1 de 78
Descargar para leer sin conexión
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)

Más contenido relacionado

Más de Yusuke Ando

Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
Yusuke Ando
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
Yusuke Ando
 
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションTravis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーション
Yusuke Ando
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行
Yusuke Ando
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
Yusuke Ando
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆ける
Yusuke Ando
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
Yusuke Ando
 
Zend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_PaginatorZend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_Paginator
Yusuke Ando
 
CakePHP版Redmine CandyCane
CakePHP版Redmine CandyCaneCakePHP版Redmine CandyCane
CakePHP版Redmine CandyCane
Yusuke Ando
 

Más de Yusuke Ando (20)

Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
 
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションTravis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーション
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆ける
 
Dev opschef
Dev opschefDev opschef
Dev opschef
 
Paa s and oss
Paa s and ossPaa s and oss
Paa s and oss
 
New relic
New relicNew relic
New relic
 
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard Cloud
 
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」PHPの教室「foreachを極める」
PHPの教室「foreachを極める」
 
20121225 php
20121225 php20121225 php
20121225 php
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
 
4時間耐久 PHP on Heroku
4時間耐久 PHP on Heroku4時間耐久 PHP on Heroku
4時間耐久 PHP on Heroku
 
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
 
Zend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_PaginatorZend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_Paginator
 
CakePHP版Redmine CandyCane
CakePHP版Redmine CandyCaneCakePHP版Redmine CandyCane
CakePHP版Redmine CandyCane
 

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