Trac0.12系にニコニコカレンダーを移植した
■概要と目的
ニコニコカレンダーとはチームのモチベーションやムードを可視化したものです。 今回はニコニコカレンダーをTrac上で動作させることを目的とします。 もともとはBrett Smith氏がTrac0.10系で作成したプラグインが存在するので、それを0.12系で動作するように修正しました。 2014/7/4 以下に引っ越しました。 http://qiita.com/mima_ita/items/6000ae2682204d49e148 ダウンロード http://needtec.sakura.ne.jp/tracplugin/nikonikoplugin.zip ■前提 Trac-Lightningの3.2.0により、Trac0.12がインストールされているものとします。 ■インストール手順 1. ダウンロードを行い解凍します。 2. 解凍したフォルダには「0.10」と「0.12」が存在します。 今回はTrac0.12が対象なので「0.12」フォルダのsetup.pyを使用します。 3. TracLightningをインストールしたときに作成されたスタートメニューからコマンドプロンプトを起動してください。 このメニューから起動された場合、Tracで使用している環境へのパスが通っています。 Pythonを複数いれている方は必ず、ここから実行しましょう。 4. Apachを念のため、停止した後に、2で解凍したフォルダにカレントディレクトリを移動させて、下記のコマンドを実行して、インストールを行います。
5. Apachを再起動して、Tracの管理者権限でログインします。 「一般設定」の「プラグイン」を選択して「nikoniko」を探してください。 6. nikonikoプラグインをみつけたらNikoNikoComponentにチェックをつけて変更を適用してください。 適用後、ニコニコカレンダーのページに移動するとエラーがでる可能性があります。 これはニコニコカレンダーで使用しているテーブルが作成されていないために発生します。 7.テーブルを作成するために、一旦、Apachを停止してください。 その後、3で使用したコマンドプロンプトを起動してTrac-Adminを用いてデータベースのアップグレードをおこないます。 下記のコマンドを入力してください。
TracLightningを既定の値でインストールした場合、Sampleプロジェクトのフルパスは「C:\TracLight\projects\trac\SampleProject」になっていると思います。 8.Apachを再起動して管理者権限でログインします。 管理メニューの権限で「NIKONIKO_CHANGE」と「NIKONIKO_VIEW」を任意のユーザーに付与してください。 9. するとメニューの右はじに「二コカレ」というメニューが作成されます。 あとは今日のきもちにあわせて「やる夫」を選んで必要なら、なんかコメントをのこしてください。 ■オリジナルとなにが違うか? ・Trac0.10からTrac0.11に移行するさいにテンプレートエンジンがGenshiに変わりました。そのため、テンプレートの周りを修正しました。 ・本来ニコニコカレンダーは3つから選択しますが、つい5つにしてしまいました。 ・コメントを残せるようにしました。これはマウスでオーバーすることで表示されます。愚痴をかくもよし、笑いをとるもよし。 ■導入実績 0.12系はないです。 0.10系は1年以上まわしたことがありますが、それなりに有効です。 ゆるいコミュニケーションが取れたり、他のメンバーの修羅場具合がわかるので、連帯感とかはでるでしょう。 まじめに管理する気があるなら、メンバーの疲弊度ややる気の変化を見れるので何もしないよりはフォローのしようがあります。これ導入して1年は離職率が0にできたので、そういう意味では有効です。 ■TracPluginをつくる場合のメモ ・致命的なエラーはTracがログとして出力する。これは、プロジェクトのlogフォルダにtrac.logという名前で作成される。 ログの出力レベルはtrac.iniで指定できる。 ・NikoNikoComponentなどのプラグイン中でログを任意のタイミングで出力できる。
・プラグインのページのURLをテンプレートから利用するのには癖がある。 まず、web_ui.pyで次のようなメソッドを用意しておく
このreturn時にしていしている'nn'という記号を使うことになる。 たとえば、テンプレートファイル上で現在のプロジェクトのニコニコプラグインがインストールした画像を使用したい場合、以下のような記述になる。
「nn」という記号をもとに実際のパスをつくっている。 ・genshiでテンプレートを書く場合、きちんと書かないとだめだ。たとえば「<」と書くところを「<」と記述しても、多くのブラウザで正常にうごくが、genshiのテンプレートではエラーになる。 ・ディレクトリを値とするディレクトリをテンプレートで使用する場合、注意が必要だ。 たとえば次のような判定が必要な場合があるとする
userまたは、dayのキーがない場合、エラーとなり落ちる。
ディレクトリを値とするディレクトリの場合、おおちゃくしないでそれぞれで存在チェックをしないとだめだ。 ・Windows固有の問題だとおもうが、strftimeを使ってロケールにあった日付を使用すると正常に動作しないことがある。これは、帰ってくる文字がCP932であり、UTF8が前提としているTracと相性がわるい。 今回はgetlocaleでロケールを確認して必要ならばUTF8に戻す処理をいれている
by mima_ita
| 2013-11-08 13:03
| 管理
|
by mima_ita 検索
カテゴリ
全体
実験 VBA 泣き言 管理 メンタルヘルス memo buildbot php テスト subversion book JQuery python R .NET box2d SQLSERVER node.js ruby 未分類 最新の記事
以前の記事
2014年 07月
2014年 06月 2014年 05月 2014年 04月 2013年 12月 2013年 11月 2013年 10月 2013年 09月 2013年 07月 2013年 06月 2013年 05月 2013年 03月 2012年 10月 2012年 09月 2012年 08月 2012年 04月 2012年 02月 2012年 01月 2011年 10月 最新のトラックバック
その他のジャンル
ブログパーツ
|
|||||||||||||||||||||||||||||||||||||||
ファン申請 |
||