MODX Evolution 1.0.5J-r4をリリースしました

2011年6月25日 19時30分 shortlink:http://modx.jp/?id=555

アップデート時にプラグイン設定が初期化される問題を改善。また、PHPMailerの処理を見直し、一部環境で発生していたメールタイトルの文字化けを解消。PHPMailer自体も1.7.3から2.0.4へアップデートしています。

■MODX Evolution 1.0.5J Revision4 ダウンロード
http://code.google.com/p/modx-ja/downloads/detail?name=modx-1.0.5J-r4.zip

1.0.5Jの際にコア単体のアップデータが使えなくなっており、しばらく対応を保留していましたが、今回修正しました。拡張機能などのアップデートが不要な場合は、managerフォルダのみをアップロードしてから管理画面にアクセスし、グローバル設定を空更新してください。

注意事項

対応エンコードと実際に扱える文字に関して(日本語以外の文字)

MODX Evolution日本語版をUTF-8設定で利用する場合、一部のサーバ環境において、UTF-8がサポートしているはずの文字セットをフルに扱えないという報告がありました。これを受けて、できれば今回のバージョンで対応を試みる予定でしたが、検証が間に合わず対応を見送ることとしました。今回は注意喚起のみを行ないます。通常の日本語サイトを構築する場合は問題ありませんが、特定環境のサーバにおいて、UTF-8文字セット全域を扱いたいケースでは、下記の件について考慮が必要です。

MODX Evolution日本語版では、専門的なサーバ管理技術を持たないユーザでも、様々なサーバ環境で日本語を安心して利用できるようにするために、本家版とは異なるエンコード処理を採用しています。サーバにインストールされているPHPでmysql_set_charset関数を利用できる場合は、本家版と同等の結果を得られるエンコード処理を行ないますが、そうでない特定の環境では、データを入力する際に、いったんエンコードをEUC-JPに変換してから処理を行ないます。入力の直前に再びUTF-8に戻します。

このため、中国語やハングル文字、UTF-8でサポートされている一部の機種依存文字などが、特定のサーバ環境では扱えません。必要な場合は、サーバのエンコード環境を確認のうえ、コアファイルに簡単な修正を施すことで扱えるようになります。

インストール時・アップデート時に上記のような注記が表示されない場合は本件は関係ありません。

変更内容

不具合修正

改善

不具合報告・改善要望について

フォーラムまたは問い合わせフォームを通じてご連絡ください。

アップデートの手順

https://modx.jp/docs/update.html

上記を参照してください。アップデートを始める前に必ずデータベースのバックアップをとりましょう。拡張機能をアップデートする必要がない場合は、assetsフォルダを転送しないように気をつけてください。assetsフォルダを転送した場合、拡張機能もインストーラを通じてアップデートする必要があります。

次回リリースについて

現在、MODX EvolutionはMySQL4.0.2以上で動きます。古いコードを減らしてシステムをシンプルに保つために、現時点ではニーズが少ないと考えられるMySQL4.0.14未満の対応コードを整理する予定です。

本家版との調整のため、当面は控えめなアップデートになります。

スクリーンショット


▲データベースチューニングに必要なデバッグ情報の出力

$modx->dumpSQLプロパティの値をtrueにセットすることで、データベースアクセスに関する詳細なデバッグ情報を出力することができますが、クエリ文のみしか出力されないため分かりにくいのが難点でした。また、ソースの記述上はQuery1・Query2・・・というふうに連番が振られるはずが、振られていません。

上記のように、クエリを発行したスクリプトが存在するファイル名と、実行された行番号を出力するようにしました。連番が振られない問題も修正しました。

今回より、アップデート時にプラグイン設定を引き継げるようになりました。そのまま引き継ぐわけではなく、新規に加わったプロパティがある場合は追加されます。

もともと存在するプロパティは変更しないため、更新されたほうがよい部分もそのまま引き継がれます。上記の画像の例では、MODX同梱のjQueryのバージョンが1.6.1に上がったにも関わらず、QuickManagerの設定では1.5のままになっていることを示しています。いちおう、これでもほとんど問題なく動くようですが。

気になる場合は、上記のように手書きで書き換えてください。

その他

日本語版独自のconfigとして、config['smart_suffix'] ・ config['cacheable'] の2つを実験的に追加しました。いずれもグローバル設定画面では設定できず、利用したい場合はプラグインまたは簡単なコア改造を通じて有効にする必要があります。興味がある方はお試しください。

config['smart_suffix']を「1」にセットすると、エイリアスを「 rss.xml 」というふうにピリオド込みで指定した場合、グローバル設定で指定したサフィックスを付けずにURLを出力します。rss.xml.htmlといった名前にしたくない場合に用いることができます。MODX Revolutionではcontent typeとの関連付けを通じて制御する仕組みになってますが、使用頻度を考えると、そこまでシステマチックでなくてもよいというニーズもあるでしょう。

config['cacheable']を「0」にセットすると、サイト全体でキャッシュをオフにできます。テンプレートチェンジャーのような拡張機能を作りたい場合や、独自のキャッシュ機構を組み込みたい場合などに手軽かつ実用的に実装できます。通常はこの種の機能が必要な場合はOnLoadWebDocumentイベントを使いますが、キャッシュ機構を使わない前提でしか実装できず、基本的にキャッシュを使えないのが難点です。MODXは、キャッシュを使わない場合は力任せな処理を行ないますので、できればキャッシュを有効にしておきたいです。

「独自のキャッシュ機構」というのは、たとえばMODXでは基本的にリソースID単位でしかキャッシュを管理しないため、Dittoのページング処理などはキャッシュをオフにする必要があります。これを、たとえばDittoのパラメータと見られるクエリがURLに含まれる場合は、独自のキャッシュ機構にスイッチさせるなどのアイデアを盛り込むことができます。また、一般的なキャッシュ機構に見られるような「ライフタイム」を設定することもできます。うまく使えば、MODXのキャッシュの仕組みを大幅に拡張することができます。

本家版との統合時にはこれらの独自config(enable_bindingsを加えると全部で3つ)の名前が変更される可能性がありますが、その際は改めてアナウンスいたします。次の機会は1.0.6になります。もし採用されない場合も日本語版では継続します。実験的な実装ではありますが、チャレンジャーなMODXerはぜひお試しください。

以上、ご意見ありましたらフォーラムまたは問い合わせフォームからフィードバックをお願いします。

開発ベースをGithubに移行する予定でしたが、まだできてません。用意ができたらアナウンスいたします。

<input type="text" id="tv" name="tv" value=""  tvtype="" onchange="documentDirty=true;" style="width:100%" />

PR

  • KAGOYA
  • ASP at AKIHABARA Japan
  • CMS AWARDS 2007 Winner
ページトップへ