dotProject 管理者のログイン
初期状態の管理者ログインIDとパスワードの記載が見つからなくて、ウェブ上を検索したら見つかった。それで無事ログインも成功。
ユーザ名:admin、パスワード:passwd
初期状態の管理者ログインIDとパスワードの記載が見つからなくて、ウェブ上を検索したら見つかった。それで無事ログインも成功。
ユーザ名:admin、パスワード:passwd
仕事が混み入ってきたので「プロジェクト管理ツールを導入してみたい」と思い、dotProjectを使うことにした。他にもいろいろツールはあるようだが、日本語化されたものがなかったのでコレを使うことに。といっても元から日本語化されているわけではなく、自分で翻訳していくのだけれど、そのツールも用意されている。
ちなみにツールを使用する前に準備として上鍵さんのウェブからファイルをダウンロードしてlocales/ja/の中にlang.phpとして設置した。
URLを失念したので、後日アップすることとする。
MySQLは、バージョン4.1以降でサブクエリが使えるようになり、随分使い勝手がよくなった。しかし4.1以降で日本語がうまくハンドリングできなくなる。理由はこのバージョンから文字コードの自動変換機能がついたことらしい。
開発で遭遇した問題点と対応した記録をここに掲載する(CentOS4にて)。
【問題】
○CentOS4を日本語環境としてインストール
/etc/my.cnfをネット上の情報に基づき変更するもうまくいかず。
【対応】
○CentOS4を英語環境としてインストール
/etc/my.cnfを上記同様に設定(設定内容は以下:赤字を加筆)。
——————————————————————
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=ujis
init-connect=SET NAMES binary
[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=ujis
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=binary
[mysql]
default-character-set=binary
mojaviではactionクラス内のinitializeメソッドで、必要な初期化処理をおこなうのが通常だ。しかしviewにも同様にinitializeメソッドがあり、action同様初期化処理が可能。
CustomSmaryRenderer.class.phpの初期化処理をこんなふうにやってます。
function initialize(&$controller, &$request, &$user)
{
$myRenderer=& new CustomSmartyRenderer(&$controller, &$request, &$user);
$request->setAttributeByRef(‘myRenderer’,$myRenderer);
return true;
}
これでviewを継承したクラスを作っておいて、新たにviewを作成するときはコレを継承して使用しています。
「Action Chain」は複数のアクションの結果を組み合わせて表示させたりするときに使用する(他にも使い方があるかもしれない)。
基本的にactionからでもviewからでも呼び出せるが、actionから呼び出したほうが簡単っぽい(いろいろやったけど自前のライブラリの絡みのせいか、viewの中で上手く呼び出すことができなかった)。
使い方はこんな感じ。
$actChain=new ActionChain();
$actChain->setPreserve(true);
$actChain->register(‘myChain’,’callModule’,’callAction’,array());
$actChain->execute($controller, $request, $user);
$myChain=$actChain->fetchResult(‘myChain’);
$request->setAttribute(‘myChainBody’,$myChain);
setPreserve(true)はちょっとしたおまじない。
registerで「チェーンの名前」「呼び出すモジュール」「呼び出すアクション」「アクションに与える引数」により、Action Chainに登録。
executeで登録したアクションを実行。
fetchResultでアクションの実行結果を取得。
ただいろいろと工夫は必要です。