MODx Evolution 1.0.4 日本語版Revision2をリリースしました

2010年9月1日 23時00分 shortlink:http://modx.jp/?id=213

毎月定例の日本語版のリビジョンアップを1.0.4J-r2としてリリースします。今回のバージョンからアップデート時にsiteCache.idx.phpの上書きを回避する必要がなくなり、アーカイブを全てそのままサーバに転送してアップデートできるようになりました。プラグインのアップデートの挙動が不安定だった件も解消されています。

■MODx Evolution 1.0.4 日本語版 Revision2 ダウンロード
http://code.google.com/p/modx-ja/downloads/detail?name=modx-1.0.4J-r2.zip
0.9.6.3以前からアップデートする場合はQuickEditプラグインとBottom Button Barプラグインが不要になりますので、使わない場合は削除してください。

■コアのみのアップデータ(0.9.6.2以降が対象)
http://code.google.com/p/modx-ja/downloads/detail?name=updater1.0.4-r2.zip
managerフォルダをそのまま上書きし、管理画面にログインしてください。0.9.6.3以前からアップデートする場合はBottom Button Barプラグインが不要になります。0.9.6.3以前からのアップデートは、できればフルパッケージのインストーラを用いて拡張機能ごとアップデートするのがよいでしょう。

デモサイト

http://demo.modx.jp/manager/
ユーザ名・パスワードともに「modx」です。あらかじめセットしてあるのでそのままログインボタンをクリックしてください。1時間ごとに構成が初期化されます。

変更内容

サポート

不具合や改善要望など、フォーラムで連絡いただければ分かる範囲で有志メンバーがお答えします。フォーラムで相談しにくい内容は問い合わせフォームを利用してください。サポート対応はMODxの改善につながりますので、開発している私達にもメリットがあります。お気軽にどうぞ。

アップデートの手順

http://modx.jp/news/2010/158.html

解説ページをまだ用意していないため、上記を参照してください。アップデートを始める前に必ずデータベースのバックアップをとりましょう。

次回リリースについて

次回のリビジョンアップは10月1日を予定していますが、開発ベースをGithubに移行した本家版との調整作業が重なるため遅れる可能性があります。

スクリーンショット


▲トップページ・404ページ・メンテナンス中ページ・権限アナウンスページを専用のアイコンで表示


▲トップページの公開ステータスを変更できないように


▲グローバル設定のCSSファイルのパスを相対パス以外で記述するとTinyMCEが正しく解釈しないバグを修正


▲ManagerManagerのルール設定チャンクの名前を「mm_demo_rules」としてインストールするように変更。少し面倒ですが、実際にお使いになる場合は「mm_rules」など適切なチャンク名に変更しManagerManager側の設定も変更してから実運用を始めてください。そのようにすることで、アップデート時の上書き事故を防ぐことができます


▲前回の脆弱性対応の影響で、プラグインの実行順序を操作しようとするとSQLエラーが発生していたため修正


▲ログインユーザ名に「@」「 . 」を使えるように。もともと使えてましたが、ログイン画面でユーザ名を保持する設定にしている場合に、これらの文字が削除された状態で表示される問題がありました。そんな状態でも、抜けた文字を補ってログインすることはできてました


▲TinyMCE経由でファイルブラウザを開く時、IEでエラーが発生していたため修正(ステータスバーのエラーに気付かず使っていることが多いようです)


▲ファイルブラウザのサムネイルサイズを調整。上記は改善前の状態


▲改善後。画像を多めに見渡せるようになり、不要な横スクロールバーも表示されなくなりました。今考えるとウィンドウサイズを広げるほうが早かったですが・・


▲1.0.1以来、MySQL4.0環境でMODxをアップデートすると、インストール済みプラグインがシステムイベントを全解除した状態で重複インストールされ、結果的に無効になっていたため修正。MySQL5環境ではたまたま問題が起きてないようですが、コードの書き方としてはバグと思われます


▲QuickManagerの編集バーをChromeで表示した状態


▲スタイルシートのテキストシャドーを調整し、日本語フォントのにじみを解消


▲Inherit Parent Templateプラグインの初期値を「From First Sibling」にセット


▲アクティブなタブの記憶が「全て記憶」「全て記憶しない」の二択では実用性に問題があるため、中間的な設定を追加


▲「アクセス許可」の文言を「グループ管理」に変更(アクセス許可そのものの設定は実際には扱わず、紛らわしいため)


▲グローバル設定で「グループ管理機能(アクセス許可設定)」を使わない設定になっている場合は、URLを直接入力するなどしてグループ管理の設定画面を開こうとした時にアラートを表示するように修正。ナビゲーションにもグループ管理機能関連を表示しない


▲ManagerManagerに mm_set_clear_cache ルールを追加。「更新時にキャッシュを削除」の初期値を設定できます


▲mm_set_clear_cacheルールを用いる場合、キャッシュが生成されていない場合はチェックボックスがdisabledになります


▲Personalizeスニペットを大幅に機能強化。出力内容として、チャンク以外にテンプレート変数を使えるようにしました(※従来もチャンク内にテンプレート変数を書けば可能でしたが)。その他、プレースホルダーをいくつか実装。また、初期値をセットしたため [!Personalize!]と記述するだけでも必要最低限の出力を行ないます。ウェブユーザだけでなく管理画面ユーザにも対応しました

Personalizeスニペットの追加パラメータ

Personalizeスニペットで利用できるプレースホルダー

これらのプレースホルダーで出力する値は$_SESSION変数に一時的に保存されている値から拾っていますが、$_SESSION変数の更新のタイミングに問題があるのか、「前回のログイン日時」は正確に拾えないことがあるようです。DB側では正常に更新されています


▲ヘルプの「support」タブに簡単な解説を追記


▲textareaタイプのテンプレート変数が持つ入力フィールドのフォントサイズが少し大きいため、他の入力フィールドに合わせる形で修正(※下の画像が薄く見えるのは画像処理のミスですが、このまま掲載します)
(font-size: 130% → font:inherit)


▲管理画面のスタイルシート(MODxCarbonテーマ)を圧縮し軽量化。圧縮前のファイルも同梱しています

隠し機能

次回以降のリリースへの積み込みを検討するものとして、隠し機能を2つ盛り込んでいます。

リンクタグを実際のURLに展開した状態でキャッシュ生成
/manager/includes/document.parser.class.inc.php 1019行目
行頭のコメントアウトを外すと、リンクタグを実際のURLに展開した状態でキャッシュを生成します。若干の負荷対策になりますが、まだ検証が十分ではないため実際の効果や副作用については不明です。もしこの方法で副作用がないことが確認できれば、通常の状態でもそこそこ軽いMODxのページ出力制御を、静的htmlファイルに近いレベルまで軽量化するためのアプローチを検討することができます。

数千ページ級の大規模サイトを運用している時の、WayfinderやSEO Strict URLsの負荷対策としては効果はありません。こちらはまた他のアプローチを検討中です。ローカルで8000ページ構成のダミーサイトを作って確認してみたところ、現在のEvolutionではWayfinderに関しては負荷の問題はあまりないようにも感じます。もし困っている人がいましたら、ぜひ確認させていただきたいのでご一報ください。ロジック的には、確かに多少の無理を感じる部分が残っています。

既定値として設定した@Bindings記述をパースした状態で投稿画面の入力フィールドにセット
/manager/actions/mutate_content.dynamic.php 762行目
行頭のコメントアウトを外して機能を有効にすると、@Bindings記述をパースした状態で投稿画面の入力フィールドに既定値をセットすることができます。互換性の問題があるためこのままの採用はできませんし、副作用の可能性も多少感じます。うまく使えば便利な機能ですが、検証と評価が必要です。

EvolutionとRevorution

先ほどMODx Revolution 2.0.0 日本語版を正式リリースしました。両者の関係について簡単に補足します。現在、2つのMODxが並行して開発が進められています。今後はRevolutionが主流になって、Evolutionは少しずつ衰退していくのではないかと感じる人がいるかもしれません。

実際は、両者は同じ世界観を共有しながらも、異なる特性を持つシステムです。どちらも開発が継続されていきますので、安心してお好みのシステムをお選びください。

Revolutionはまだ生まれたばかりですし、開発にあたってはxPDO・Ext JS・Smartyなど複数のフレームワークの使いこなしスキルが必要なので、使いこなしのノウハウや拡張機能の充実も含めて、熟成が進むにはまだしばらく時間がかかると思います。反面、Evolutionは基礎的なPHPの読み書きスキルがあればお付き合いできるイージーさがアドバンテージとなっています。

Revolutionは、イメージ的にはエンジニア向けのような印象が強いです。しかし実際は、PHPを習得してなくても、テンプレート変数やスニペット、チャンクなどの使いこなしだけで十分に高度なサイトを構築できる懐の深さがあります。PHx相当の仕組みがネイティブに組み込まれており、Evolutionでは限界があった表現もRevolutionは難なくこなせます。

PR

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