Jul 21
インストールスクリプトに難あり
インストールスクリプトからハードコーディングされてた部分は追い出してあって、Langファイルを読み込むようにはなってるんだけど…
ルートディレクトリに専用のLangファイルを1個置いて、それをスクリプト内で「読み込むのはこのファイルですよ」って指定して読み込んでやるの
「これじゃぁ、今までと大して変わらないじゃん」
と思ったんで、もうしづき独自実装でもいいやとか思いつつ、インストールスクリプトを改造中
具体的に言うと、
・$_SERVER['HTTP_ACCEPT_LANGUAGE']を見て、とりあえずUTF-8の言語ファイル(それが何語であってもとりあえずUTF-8)を読み込む
・そこで、使用言語とキャラクターセットを指定していつものインストール画面に進む
・指定されたキャラクターセットの言語ファイルを使用して定数を展開、インストールを進める
で、インストール用言語ファイルはとりあえず「install」ディレクトリかなんか作ってそこに突っ込んどいてやれば、後始末も楽になるかなと
こうしとけば一つのパッケージに言語ファイル全部突っ込めるから管理が楽。みたいな
そもそもトップディレクトリにインストール用のファイルをバラバラと置いてるのがなんか美しくない
ということで、目下自己満足の改良中
ついでにこの前も書いてたけど、ランゲージファイルはconfig.phpで読み込んでやろう
MySQLの文字化けの話が出るたびに思うんだけど、読み込むタイミングが遅すぎると思う
もっと早くにキャラクターセットが確定してたら、何らかの手の施しようはあるんだけど、現状だとデータベースを読みに行く時のクライアントのキャラクターコードを決定する為に、先ずデータベースを読みに行かなければならないという、なんともトホホなことになってるんで…
とりあえず、出来たら公開はします
No Comments yet.
Jul 20
いくつか。
・PHP 5 only support [Completed]
大嘘吐き。「E_ALL | E_STRICT」で何もでなくなってから言うように
・OpenID
コンシューマだけでいいじゃんね?
それなら、NP_OpenIdで完成してるし、わざわざコアに乗っける意味が解らない。WPがプロバイダになれるからNucleusもって事かな?
前にTwitterでhsurさんに「プロバイダになるのも面白いよね?」とは言ったけど、誰が好き好んで個人のブログサイトの認証で…って思う
・NP_PoorManCron
pseudo-cron.inc使えばいい
・Ajax framework
これは欲しいね。
つか、他のところいじるよりこれが先だと思うんですが、現状まったく手付かず。
どっかに別ブランチあるの?
・Build-in Multiple Categories
NP_MultipleCategoriesをコアに取り込む。…今のままのじゃないよね?
・Build-in pagination for every type of page (index, item, search ...)
ページング付けるのはいいけど、せめて生のSQL投げずに、MDB2なりPDOなり使うようになってからじゃないと…
それと、本家のあのアバウトな実装見てるとどうも…
・Tagging support
あちら産のタグのプラグインは複雑でメンドクサイからまみおさんがNP_TagExを作ったわけで、いまさら向こうのやつをコアに組み込まれても困ります
そもそもURL変わっちゃうじゃん
・Eliminate all hardcoded language [Completed]
どこがw
こんなのホントに[Completed]なら別ブランチ(ホントにあるの?)に閉じ込めてないでさっさと表に出しなさい
kimitakeさんが10行ほど翻訳しかけてたけど、そこすら本家版のランゲージファイルにも反映されてないし、今回ざっと100行(つまり100箇所)追加したんだぞ?
・Base URL Simplication [Completed]
ま、たしかに。たしかに[Completed]なのかもしれない。
その前にURL生成のロジック作り直せ。
ITEMやCATEGORYなら、ブログID取得して$b->getURL()してその後に?itemid=とか付けろ。
http://他人のブログのURL/ITEM/自分のブログのITEMのID
とか気持ち悪いだろ
なんか言いたい放題
自分で出来る訳じゃないのにえらそうに言ってますが、正直な感想です
Read More
Jul 20
**** Nucleus本体の事 ****
・Nucleusのコアに本家SVNの最新版をマージ(済)
・フォーラムにある(しづきの主観で)便利そうなカスタマイズ、バグ(?)修正の取り込み(済)
・・http://japan.nucleuscms.org/bb/viewtopic.php?t=3991(済)
・・http://japan.nucleuscms.org/bb/viewtopic.php?t=2761の(済)
・・・ブックマークレットでのアイテム更新後の自動リロード。(済)
・・・アイテム一覧画面でコメント数を表示。(済)
・・・「後で追加」「タイムスタンプを更新」のチェックボックスのチェックし忘れ対策。(済)
・管理画面中に表示されてしまう「英語」を全て定数で置き換えて言語ファイル化(済)
・コアファイル中に直接書き込まれている日本語を全て言語ファイルに追い出す(済)
・documentationディレクトリ内のファイルのアップデート
・_CHARSET定数を、config.phpで定義
・インストール開始前に文字コード選択ページを表示、選択した文字コードにあわせた言語ファイルでインストールする
・インストールスクリプト内でのデータベース作成時に、設定された言語にあわせて照合順序を設定
・データベースアクセス時にmysql_client_encoding()でキャラクターセットを取得、_CHARSETに合わせてmysql_set_charset()もしくはsql_query('SET NAMES ~')して文字化け防止
・アップデートスクリプトでテーブルの照合順序と_CHARSETを見比べて、不都合がありそうなら照合順序を変更する
**** プラグインとか ****
・WP Plugin「KtaiStyle」の移植
・NP_CustomURLのリファクタリング
・PingBack実装(NP_Pingback)
・NP_MCEnhancerを普通にリリースできる状況にしたい
・REGEXを使わないNP_MultipleCategories対応の<%blog()%>互換プラグイン
**** その他 ****
・Nucleusのプラグインイベントのリストアップ(済)・解説
前にitem_547で書いてた内、いくつか残っちゃってる…
ちなみに、NP_MCEnhancerとREGEXを使わないNP_MultipleCategories対応の<%blog()%>互換プラグイン。前者は多分もう出来てる。出来てるけどUIが出来てないからリリースできない。後者はなぜかカテゴリがちゃんと登録されないんでバグ取り中。バグが取れたら何か名前つけます。
Latest Comments
shizuki:
そうだ、後 ・ブックマークレットからの投稿時のPingイベン...
きゃしゃ:
拾っていただいてありがとうございます。 shizukiカスタム期...
shizuki:
>まみおさん Andyさんの息がかかったやつはとりあえずこ...
shizuki:
>hsurさん 確かに、ずいぶん前からありますねぇ… >いい...
まみお:
> タグとカテゴリも実装しました。でも,そのブランチはお...