MODX Evolution 1.0.6J-r8をリリースしました
2012年10月29日 10時00分 shortlink:http://modx.jp/?id=865
1.0.6J-r7で発生した不具合の修正を最優先対応とし、今回は早めのスパンで安定版としてリリースします。
MODX Evolution 1.0.6J-r8 ダウンロード
注意事項
【10月30日追記】ウェブユーザ編集画面でParse Errorが発生する
グローバル設定でグループ管理機能を有効にしウェブユーザ編集画面を開くと、Parse Errorが発生しグループ設定ができません。
http://forum.modx.jp/viewtopic.php?p=5371#p5371
上記のパッチを上書きしてください。
【10月30日追記】管理画面ログイン時のCAPTCHA画像認証機能の不具合
http://forum.modx.jp/viewtopic.php?p=5356#p5356
管理画面ログイン時にCAPTCHA画像認証を用いる設定になっている場合、ログインできないことがあります。その場合は上記のパッチを上書きしてください。
管理画面構成ファイルの配置変更
今回のリリースより、ログイン画面・ダッシュボード・ロックアウト画面を構成するファイルの格納ディレクトリを変更します。
assets/templates/manager/
これまでは上記ディレクトリに3つのファイルを格納していましたが、外部から見られたくないカスタマイズを施す場合に都合が悪いという問題がありました。また、配布テーマを作成する場合も、ログイン画面やダッシュボードのデザインの同梱をスマートにできません。テーマごとにログイン画面などを管理することができません。
manager/media/styles/テーマ名/manager/
今回より上記ディレクトリに変更します。
今回のアップデートを適用したことにより、管理画面にログイン直後のダッシュボードのタブ構成が上記画像のように一部おかしくなった場合は、assets/templates/ディレクトリ内のmanager/ディレクトリを削除して下さい。それでも不要なタブが表示されている場合は、すでにプラグインでカスタマイズされている可能性がありますので、カスタマイズプラグインを確認してください。
ロリポップ!レンタルサーバーのWAF導入について
MODX自体の問題ではありませんが、不具合のように見られやすい現象のためここで案内いたします。9月27日より、ロリポップ!レンタルサーバにおいてWAF(ウェブアプリケーションファイアウォール)が導入されました。この影響により、MODX管理画面操作において、チャンクやテンプレートの更新が正常に行なえないことがあります。WAFの処理パターン定義は随時更新されるため、いずれ解決する可能性がありますが、当面はWAFを無効にする必要があります。
特権ロール(Administratorロール)の扱いについて
新規インストール時にシステムが自動的に生成するアカウントには特権ロールが割り当てられていますが、運用時には他のロールに変更することをおすすめします。メンテナンスに便利な機能をいくつか追加しましたが、複数のメンバーでサイトを管理する場合、これらの機能は扱いを誤ると混乱の元になります。
(※ロール編集権限を持たないロールに変更すると、必要な時に特権ロールに戻せないためご注意ください)
.htaccessの扱いについて
suEXECに対応していないサーバ環境では、これまでのリリースと同様に手作業で.htaccessを設定する必要がありますが、設定元のsample.htaccess(またはht.access)の配置フォルダが変更されているため、新規インストール時に必要な場合は確認をお願いします。install/tpl/ ディレクトリに「htaccess.tpl」というファイル名で格納していますので、これをコピーして必要に応じて編集を加えてください。
修正漏れパッケージ
10月28日午後2時頃から4時頃までにかけて公開していたパッケージには微細な修正漏れが1件ありました。この間にダウンロードされた方が2人いらっしゃいますので(そのうち一人は判明)、該当する方は現在のパッケージをダウンロードしてmanager/media/ フォルダを上書きすることをおすすめします。ファイルブラウザ左側のフォルダ一覧ペインが機能していない不具合を修正しています。
アップデートの手順
https://modx.jp/docs/update.html
上記を参照してください。
変更内容
不具合修正
- メール送信時にsubjectヘッダなどが二重に送信されるため修正
- ファイルブラウザ左側のフォルダー一覧ペインが機能していないため修正
- ファイルブラウザでファイルをアップロードできないことがあるため修正(複数方面からの報告)
- メニューアイテムが存在しない場合でもトップメニューに追加されるため修正
- 「システム情報」にアクセスする権限がなくてもトップメニューに表示されるため修正
- 修正 - 数字で構成されたエイリアスからリソースIDを正しく取得できない
http://forum.modx.jp/viewtopic.php?f=32&t=974 - トップページにアクセスする際、URLにクエリストリングが含まれるとトップページとして表示されないため修正(株式会社マネタイズ社・新堀さんからの報告。たとえばウェブ広告クリック時の効果測定のためにURL末尾にクエリストリングを追加するケースなど)
- プリインストールのテンプレート変数がインストール時にデフォルトでチェックが入らないため修正
http://forum.modx.jp/viewtopic.php?f=7&t=959 - QuickManagerのインライン編集機能の不具合修正
http://forum.modx.jp/viewtopic.php?p=5149#p5149 - リソース新規作成時、入力操作を行なうとテンプレート設定を変更できなくなるため修正
http://forum.modx.jp/viewtopic.php?f=7&t=914
新機能・新仕様
- ロールマスカレード機能(任意のロールでログインする機能)を特権ロールに追加
- セーフモードログイン機能を特権ロールに追加
- グローバル設定に新config「追加のスタイル」を追加
改善・微細な修正
- グリッドのデザインを調整
- 各アクションごとのtabpane.jsの読み込みを削除(header.inc.phpで読み込み済みのため)
- ヘルプ画面のWebFXTabPaneのインスタンス名が合っていないため修正
- 特権ロール(Administrator)でログイン中に注意を表示
- メンバーごとに管理画面の「追加のスタイル」を設定可能とする
- インストーラ画像を変更
- .htaccessの扱いについて文言を調整
- mgrRoleが1の場合のみsafemodeログインを可とする
- ファイル管理 - mgrRoleが1の場合のみmanagerディレクトリにアクセス可とする
- 特定環境での文字化け対策(PHP5.1.6などmysql_set_charset関数が使えない環境ではSET CHARACTER SETの後でSET NAMESを実行する)
- ログイン画面・ダッシュボード・ロックアウト画面のテンプレートファイルを調整
- Ditto内蔵のPHxでもparent:pagetitleなどの記述を使えるようにする
http://forum.modx.jp/viewtopic.php?p=4757#p4757 - グローバル設定の「管理画面の言語」を管理画面タブに移動
- 管理画面のフォント指定を調整
https://github.com/manse/ScienceStyle - アクションボタン(リソース編集ページなどの右上の操作バー)の横幅が広過ぎるためデザインを調整
https://github.com/manse/ScienceStyle - Dittoのページング表示をシンプルにする
http://d.hatena.ne.jp/hikidas_ikeda/20090831/1251718786 - ログイン画面・ダッシュボード・ロックアウト画面のデフォルトテンプレートとしてプレーンなひな型を追加
(manager/media/style/default/) - ログイン画面・ダッシュボード・ロックアウト画面のテンプレートファイルの配置ディレクトリをthemeディレクトリ以下に変更
- エイリアスが文字列ではなく数字だけで設定されている時にリソースIDとして判定されることがある
http://forum.modx.jp/viewtopic.php?f=32&t=974 - 「ロックを解除」が管理画面トップメニューに表示されないため修正
http://forum.modx.jp/viewtopic.php?f=32&t=975 - プラグイン設定の自動検出の記述をMooToolsからjQueryに変更(まだ一部残あり)
- setlocale() と date_default_timezone_set() の指定をconfig.inc.phpに移動
- 不正なパスにファイルをアップロードできないようにする
- 特権ロール(Administrator)でログイン時はファイル管理機能でmanagerディレクトリなどのシステム領域にアクセスできるようにする
- バックアップマネージャーのテーブル一覧に「照合順序」の列を追加
- protect.inc.phpの呼び出しタイミングをセッションスタート直後に変更
- $modx->makeFriendlyURL()関数を非推奨扱いとし、$modx->makeUrl()に置き換え
- MooTools(MooPrompt)によるアラート表示をjquery.alerts.jsに変更
スクリーンショット
▲管理画面にスタイル記述を追加できるようにしました。Themeディレクトリのstyle.cssを書き換えてもよいのですが、この方法を用いるとアップデート作業時の上書き事故を防ぐことができます。
▲フォントを大きめに設定した例。メンバーごとに設定することも可能です。
▲ファイルブラウザのフォルダ一覧ペインが機能してなかったため修正しました。
▲特権ロール(Administratorロール)の場合は、ユーザ名の末尾に「:safemode」を追記してログインすると、プラグインを全て無効にした状態で管理画面にアクセスできます。プラグインで管理画面をカスタマイズしてトラブルが起きた時はこの方法でアクセスしてください。
▲ロールマスカレード機能。特権ロールのユーザ名の末尾に「:roleid=ロールID」を追記すると、任意のロールを割り当てたメンバーとして管理画面にアクセスできます。ロールごとに管理画面の設定をきめ細かく設定したい時、この機能を用いると便利です。
▲タイトルが長い場合やウィンドウ幅が狭い場合に、これまでのアクションバーのデザインでは横幅が広くて扱いづらいことがありました。デザインを工夫し、横幅を狭くしました。このデザインはGitHubのmanseさんの快諾を得て、「ScienceStyleテーマ」からコードをいただきました。フォント設定も同テーマより採用させていただきました。
▲インストーラの画像を変更しました。
▲アップデートの際は上記のような画面になります。従来は3種類のオプションを表示していましたが、同じディレクトリにインストールする以上は新規インストールオプションは意味がありませんし、カスタムインストールはconfig.inc.phpを書き換えるだけの処理のため、今回より選択肢を廃止しました。
▲バックアップマネージャーのテーブル一覧に「照合順序」の列を追加しました。特定条件で文字化けを起こす場合などは、ここを確認してください。ごく稀に、ここがujis_japanese_ciなどになっていることがあります。
▲MooTools→jQuery置き換えの一環として、アラート表示のライブラリを変更しました。
現状のところ、JavaScriptのalert()関数やPHPのechoで済ませている箇所も多く、全体に渡って置き換えを進めていく必要があります。
▲assets/templates/ ディレクトリにシステム寄りのファイルを配置するのは望ましくないという意見があり、今回よりディレクトリを変更し、manager/media/theme/テーマ名/manager/ ディレクトリに配置することとします。また、各ひな型ファイルの拡張子は、これまでは「.html」でしたが、今回より「.tpl 」になります。
ログイン画面やダッシュボードのカスタマイズを行なっていない場合は、assets/templates/manager/ ディレクトリを削除してください。
カスタマイズをしたい場合は、manager/media/theme/テーマ名/manager/ ディレクトリのファイルを書き換えてもよいですが、「管理画面カスタマイズ」プラグインが同梱されていますので、これを用いることをおすすめします。
▲今回のバージョンより、Administratorロールは特権ロールとして位置づけを強化します。Administratorロールは特権ロールとしてもともと特別な性質を持っていましたが、違いが分かりにくいため無意識に使用されているケースが大半と思われます。
たとえばAdministratorロールでログインしていると、ウェブユーザ機能の制御を受けず、制限なしで全てのコンテンツにアクセスできます。このため、Administratorロールは会員制サイトの管理に向きません。
▲特権ロールでログインすると、ファイル管理画面でmanagerディレクトリなどシステム領域にアクセスできます。
▲インストール直後は、インストールした本人のロールは特権ロール(Administratorロール)に設定されています。これを、プリインストールされるウェブマスターロールに変更することをおすすめします。ウェブマスターロールはロール編集権限を持っているため、必要に応じていつでも特権ロールに変更することができます。
▲特権ロール以外でアクセスすると、システム領域へのアクセスはロックされます。リンクが付かないだけでなく、URL決め打ちで開こうとしても開けないようになっています。
今後の予定
- リビジョン管理機能の実装を進めています。テーブル構成はほぼ確定しました。下書きリビジョンとして別保存したり、承認ワークフローの実装としても応用できる予定です。
- 管理画面内で使用しているMooToolsをjQueryに置き換えます。多少の難関が残っていますが、もう少しで全ての置き換えが完了します。全て完了すると現在のnoConflict実装を解除できますので、より多くの便利なjQueryプラグインを管理画面内で自由に利用できるようになります。
- 次の1.0.6J-r9では、同梱のサンプルテンプレート(現xRay)をリニューアルします。レスポンシブ制御対応の本格的な構成になる予定です。
その他
気付いた点があればフォーラムまたは問い合わせフォームからフィードバックをお願いします。