« June 2008 | Main | August 2008 »

July 2008

2008.07.30

Trac0.11のTicketの日付表示(2)

Trac0.11のTicketの日付表示

 さてさて、dateinfoそのものを書き換えた場合の影響範囲は・・・不明(^^;
 とりあえず、dateinfoで検索すると、結構いろんなところで呼び出されているようで。どちらのdateinfoが呼び出されているのかはわかりませんが、さすがに危険な気がしたので、dateinfoそのものは元に戻して別の関数を追加することに。

Continue reading "Trac0.11のTicketの日付表示(2)"

| | Comments (0) | TrackBack (0)

2008.07.29

64bit版をインストールするCPU

openSUSEのダウンロードページを見ていて気付いたのですが、


  • CoreDuo -> 32bit

  • Core2Duo -> 64bit


といった感じになるんですね(PentiumDも64bit)。まぁ、だからといって必ず64bit版を入れなければいけない、というわけでもないとは思いますが。

最近(といっても、Core2Duoは数年前になりますが)は、ハードウェア関係にはかなり疎い状態ですねぇ・・・(苦笑)。

| | Comments (1) | TrackBack (0)

2008.07.28

Trac0.11のTicketの日付表示

Trac Ticketの日時表示

 テンプレートエンジンがClearSilverからGenshiに変更されたことなども関係していると思われますが、0.11では上記の方法ではTrac Ticketの日時表示を切り替えることができません。
 ticket.htmlの該当部分を見てみると、${dateinfo(ticket.time_created)}といった感じで、dateinfo関数に日付情報を渡していますので、dateinfo関数を定義している場所を検索。web/chrome.pytimeline/web_ui.pyの2箇所に存在。タイムラインへのリンクが付加されていることから、実際には後者の方が呼び出されているようです。

Continue reading "Trac0.11のTicketの日付表示"

| | Comments (0) | TrackBack (1)

2008.07.27

日本語への変換処理

 インタアクト株式会社にて公開されているTrac-0.11.ja1の中身を見ていて気付いたのですが、日本語への変換処理の大半は、util/translation.py にて定義されているんですね。

 というか、ja1においてはtranslation.py自体にも修正が行われているようで(オリジナルのソースと比較)。なお、現在のtrunk(r7056)のソースは0.11に比べるとかなり処理が増えているようです。

 0.12になると(i18n and localizationsの対応が入るので)また大幅に変わるのかも知れませんが、とりあえず0.11.xの間は比較的容易にバージョンアップしやすいようにした、といった感じでしょうか。

| | Comments (0) | TrackBack (0)

2008.07.26

Tracで権限の種類を追加

Trac0.11 ワークフローへの権限追加

パーミッションを追加するためのソースコードとしては、以下の内容で充分でした。

from trac.core import implements,Component
from trac.perm import IPermissionRequestor

class HogePermission(Component):
  implements(IPermissionRequestor)

  def get_permission_actions(self):
    return ['HOGE_PERMISSION']

IPermissionRequestorインタフェースを実装したクラスを定義し、pluginsフォルダに入れればオッケーってことですね。

| | Comments (0) | TrackBack (0)

2008.07.23

無変換キーは何に使うか?

特等席なのに使えない? 無変換キーの使い方、教えてください

 無変換キー・・・僕自身は、ばりばりに使ってます(^^; 用途はATOKのON/OFF切り替え。DOS版のATOK8の頃に、NFERキーでON/OFFを切り替えるようにしてから(当時のデフォルトはctrl+XFER)、ずっとこの場所のキーで切り替えてます。

 普段、左手親指はスペースバーの左の方に置いてあるんですが、そのまま親指を少し左にずらして押すだけでON/OFFを切り替えることができるので、結構いい感じだと思うのですが・・・。「全角/半角」キーの場合、ノートPCなどの場合、配置場所が異なっていたりすることも多いですが、無変換キーなら、まず大丈夫。

| | Comments (0) | TrackBack (0)

2008.07.17

Advanced Ticket Workflow Plugin(2)

1ヶ月以上開いてますが、Advanced Ticket Workflow Pluginの続報。

#3094 と、 #3098 の内容は、しばらく前にtrunkに取り込まれたようです・・・自分のところはまだ更新(svn update)していませんが(^^;

| | Comments (0) | TrackBack (0)

2008.07.16

Firebug

今更ながらFirebug

JavaScriptを用いた開発を行う場合は非常に便利とのことですが・・・確かに便利。なんで今まで使わなかったんだろうと少し後悔(笑

Continue reading "Firebug"

| | Comments (0) | TrackBack (0)

2008.07.11

IAttachmentChangeListener

ITicketChangeListenerを用いた処理の場合、添付ファイルが追加された場合には処理が呼び出されないことが判明。

そんな場合は、IAttachmentChangeListenerを使えばOKのようです。

Continue reading "IAttachmentChangeListener"

| | Comments (0) | TrackBack (0)

2008.07.10

Trac 0.11-ja1

インタアクト社からTrac 0.11-ja1がリリースされましたので、テスト環境にインストール。

普通に、

python setup.py install
でインストールしてApacheを再起動しアクセスしたところ・・・Database newer than Trac versionというエラーが(汗)。

何のことはない、古いバージョンのTracの残骸が残っていたことが原因で、そちらが読み込まれていただけのようでした。古いバージョンのTracを削除してApacheを再起動すると問題なく動作。

| | Comments (0) | TrackBack (0)

2008.07.05

TeedaでCookie

TeedaでCookie処理

肝は、

public Map cookie;
でしょうか(public fieldを利用した場合)。中身としては、Generics風に書くと、Mapとなるようです。

もちろん、HttpServletRequestをDIさせて、HttpServletRequest#getCookiesを使ってもOKですが、キー情報を指定してCookieをサクッと取得できるって言うのは(少しの労力削減ではありますが)いい感じですね。

理想を言えば、Cookieをセットする方もHttpServletResponseをDIせずに行うことができれば、もっと楽できそうなのですが(^^;

#そのくらいは自分でHelper等を作れば実現できるのかも。

| | Comments (0) | TrackBack (0)

2008.07.03

ITicketChangeListenerでチケット更新時に任意の処理を実行

Tracでチケットが新規追加されたり、更新されたりした場合に何らかの処理を行わせたい場合。

ITicketChangeListenerを実装したクラスを作成し、pluginsフォルダに格納すればオッケー。例えば、以下のような感じ。

import os
from trac.core import *
from trac.ticket import ITicketChangeListener, Ticket

class TicketChangeTest(Component):
  implements(ITicketChangeListener)

  def ticket_created(self, ticket):
    os.system('/usr/bin/sometask %s' % ticket.id)

  def ticket_changed(self, ticket, comment, author, old_values):
    os.system('/usr/bin/sometask_modify.sh %s' % ticket.id)

  def ticket_deleted(self, ticket):
    pass

Continue reading "ITicketChangeListenerでチケット更新時に任意の処理を実行"

| | Comments (0) | TrackBack (1)

2008.07.02

Tracのdefault_query

trac.iniでdefault_queryを指定することで、queryページ表示時の初期条件を制御することができます。が、カスタムクエリやqueryリンクでは指定可能なorderやgroupを指定しても反応しない・・・。

調べてみると、Any way to include grouping, ordering, and column options to default_queryにて記載されていました。どうも、現時点では反応しないようで、http://trac.edgewall.org/ticket/5998にて記載されており、対応予定マイルストーンとしては0.11.2とのこと。

| | Comments (0) | TrackBack (0)

« June 2008 | Main | August 2008 »