2008年7月30日水曜日

open-flash-chartその2

2月に見つけて以来、結局放置してたわけですが、ちろっと表を表示させる機会があったのでグラ
フに使ってみました。
Javaでですが、添付されてきたGraph.javaで今のところ不自由なく使えてます。

ところが、これ、データ部分はurlで渡さないとダメなんですね。
おそらくFlash内部でそのURLにアクセスしにいって、表示してると思うんですが、それだと、表を表示させる処理と同じ処理をグラフ用に実行しなくては。ってなってしまいます。
PHPでも一緒なんだろうなぁ

しかたないのでTMPに表用のデータでhtmlを出力して、グラフへのURLにはそのTMPのファイルを読みこます(TMPからファイルリードして出力>ファイル削除)処理に。
ダサイ。ダサスギル!キモチワルイ。

あと、日本語が化けてて対処できてなかったんですが、Graphクラスにセットするときに

URLEncoder.encode("ほげほげ", "UTF-8")

で渡すと化けなくなりました。

あと、タイトルのフォントサイズが効かなかったんですが、Graph.javaのset_title(String, String)でなく、title(String, String)のほうだった事実。

2008年7月26日土曜日

iPhone

本日、新宿西口ヨドバシカメラに行ったら、iPhoneが売ってました。
噂には入荷しだしたとは聞いていたのですが、目の前にすると・・・

ゴクリ・・・

さわっていると横にネーちゃんが。
姉ちゃん「よろしかったらご案内しますが~」
俺「これ携帯機能ってどんなもん?バイブ機能ってあるの?着信とかメールとかって見づらいって聞いたけど」
姉ちゃん「着信バイブはありますよ。着信履歴とかメールは・・・」
俺「んじゃいらない」

1分後嫁に電話。
俺「iPhone買っていい?」
嫁「ふざけんな。貯金しろ」
俺「スミマセンデシタ」

無念。

2008年7月24日木曜日

Ext.js2.1でのFormTo日付フィールド単品の設置

htmlに


< div id="fromdate">< / div >
< div id="todate">< / div >

を書いて、以下のjavascriptを


Ext.apply(Ext.form.VTypes, {
daterange: function(val, field) {
var date = field.parseDate(val);
var dispUpd = function(picker) {
var ad = picker.activeDate;
picker.activeDate = null;
picker.update(ad);
};

if (field.startDateField) {
var sd = Ext.getCmp(field.startDateField);
sd.maxValue = date;
if (sd.menu && sd.menu.picker) {
sd.menu.picker.maxDate = date;
dispUpd(sd.menu.picker);
}
} else if (field.endDateField) {
var ed = Ext.getCmp(field.endDateField);
ed.minValue = date;
if (ed.menu && ed.menu.picker) {
ed.menu.picker.minDate = date;
dispUpd(ed.menu.picker);
}
}
return true;
}
});

Ext.onReady(function(){
Ext.QuickTips.init();

Ext.form.Field.prototype.msgTarget = 'side';
var fromdate = new Ext.form.DateField({
name: 'startdt',
id: 'startdt',
format: 'Y/m/d',
value: '2008/07/01',
vtype: 'daterange',
endDateField: 'enddt', // id of the end date field
disabledDaysText: '選択してください'
});
var todate = new Ext.form.DateField({
name: 'enddt',
id: 'enddt',
format: 'Y/m/d',
vtype: 'daterange',
value: '2008/07/31',
startDateField: 'startdt', // id of the start date field
disabledDaysText: '選択してください'
});

fromdate.render('fromdate');
todate.render('todate');
});

2008年7月19日土曜日

DOS用日付文字列取得方法

備忘録です。


set date=%DATE%
set filename=%date:/=%


で 20080718 の文字列がとれる。

Backupバッチなんかで使えそう。

TracLightning2.0.2を本番に!

というわけで、上司の承認も得て、TracLightning2.0.2を本番に導入完了。

テスト機で試していて、上書きインストールはなぜかApachaのサービス起動に失敗していたので、
本番では、Backup実行後、退避させ、TracLightをアンインストール。
フォルダも手作業で削除してから、クリーンインストール。
退避させたプロジェクトを復元させて、upgrade.bar起動。

問題なくアップグレード完了。

ちょこちょこ設定をいぢっていたら、ユーザ名の補完機能が効かないなぁなんて思いながら
作業を完了させたのですが、さっき、TracLightningサイト見に行ったら

TracLightning2.0.3
* LDAPが動作しないバグを修正
* 証明書作成時にエラーが出るバグを修正
* ticketdeleteプラグイン利用時にユーザ補完ができなくなるバグを修正
* IEでもticketdeleteプラグインが動作するように修正
* TICKET_VIEW権限がないとカレンダーとガントチャートを表示できなくした

ガビーン!!

今夜こっそりアップグレードしよう。

2008年7月14日月曜日

Tracのワークフロー機能のカスタマイズ方法2

先の日記で書いた続きなのですが、まず「テスト完了」を追加。
自分のところは特にフロー制限を持たなくてよかったので全フローからCloseに出来るようにしちゃいました。
本当は、testingにできるユーザとCloseできるユーザは別にしたいのですが
今の運用上、それはちと手間なのでそこは


運 用 で カ バ ー


ということでウチで運用する予定の[ticket-workflow]は下記の要になりました。
ざっくり言うと、今までのにテスト完了フローが追加されただけなんですがね!


[ticket-workflow]
accept = new,assigned,reopened,resolve -> accepted
accept.name = 着手する
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.name = 変更しない
leave.operations = leave_status
reassign = new,assigned,accepted,reopened -> assigned
reassign.name = 担当者変更
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = testing,closed -> reopened
reopen.name = 差し戻す
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
testing = accepted,reopened -> testing
testing.name = テスト完了
testing.permissions = TICKET_MODIFY
resolve = new,assigned,accepted,testing,reopened -> closed
resolve.name = 解決にする
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY

Tracのワークフロー機能のカスタマイズ方法

掲題の件を かおるんダイアリーさんが紹介してました。
TracLightning 2.0.0で追加された、ワークフローのプラグインが今ひとつ掴めなかったのですが納得!
これで是非テスト工程を追加しないと!
詳細は下記から!

http://d.hatena.ne.jp/kaorun55/20080709

TracLightning-2.0.0

とりあえず、β4入れてたテストサーバにインストールしてみたのですが、β4と変わらず問題なく動作してますね。

んで本番投入前に、チケットのステータス追加実験をしてみようと思い、過去にみたと思うどっかのリンクを探しているのですが、失念してしまい、途方に暮れているところ。

んでtrac.iniを適当にいぢっていたら、動かなくなった!!!なんでやーと思っていたら下の記事発見。

かおるんダイアリーさん http://d.hatena.ne.jp/kaorun55/20080711

フムフム、なるほど。Windows付属のメモ帳がしょぼいってことですかね。
私はSakuraエディタ使っていて問題ないのですが、一回だけWindowsのメモ帳で編集したんですよねぇ。
これは覚えておかないと!

2008年7月13日日曜日

Ext.js 2.1

仕事で作成したサイトの管理画面を作ることになったわけですが、
上から「好きに作っていいよ」とのことなので、Ext.jsのDesktopで作っちゃいます!

メンテナンス性とか拡張性なんてクソくらえ!
とはいえ拡張性はいんだろうけど、メンテナンス性わるいんだろうなぁ。
他にExt.js使ったことある人いねーし。
自分も1.1しかまともにさわってないんですが。

てなわけで、サンプルからDeskTopをコピー!
1機能1画面で作っていきます。

ざっと1画面作ってみた感じ、Gridは1.1と同じ感じで使えました。
StoreにURLからのXMLも問題なし。

さくさくいけそうです。

2008年7月9日水曜日

TracLightning-2.0.0beta3

てなわけで、Bate3を試したのですが、無事テストサーバで稼働しました。

本番のプロジェクトをコピーして upgrade.batを実行したら、無事インポートもできました。
ちなみに本番のTracLightはver1.1.2 なんですがね。
すばらしい互換性です。

ですが、そのままだと、メニューバーや管理画面・チケット登録画面などが 1.1.2 の頃のままなので
projects\trac\hoge\trac\conf\trac.ini
の上部に

[inherit]
file = C:\\TracLight\\python\\share\\trac\\conf\\trac.ini

を追加。

新機能のメニューバーが表示され、管理画面なども最新のモノとなりました。
大満足です。

これでβがとれれば、本番投入できそう。
いまから楽しみですよ!

TracLightning-2.0.0beta2

TracLightning-2.0.0 の beta2 がでてたので、早速テストサーバに入れてみたのでが、
なんかのファイルがありませんと、インストールに失敗。

めげずに、そのまま進めて、もう一度EXEをダブルクリッコしてインストール。
無理矢理感ありありでインストール成功するも、Apacheの起動で失敗。
イベントログをみると、

C:\TracLight\CollabNetSVN\httpd\modules\mod_authz_svn.so
の読み込みに失敗とのこと。
ちゃんとパス通りにファイルもあるしなぁってことで、一時中断したのですが、
翌日の今日、beta3が出てました。

いまから試してみます。