MODX Evolution 1.0.5J-r9をリリースしました
2011年12月5日 23時45分 shortlink:http://modx.jp/?id=787
管理画面を整備し、リソース一覧の操作を改善しました。これにより、同じ階層内に多数のページを持つブログのようなコンテンツを管理しやすくなっています。また、管理画面内の画面遷移を見直し、オーサリングツールとしての使い勝手を向上させました。
新着情報やブログの管理は、これまでMODXが苦手とするところでしたが、今回の改善で、ある程度の克服が可能です。もともとDittoは強力なリスティング制御が可能なスニペットですが、今回の改善で真価を発揮できるようになります。
こまめなバックアップを手軽にしやすいように、バックアップマネージャーにスナップショット機能を追加しました。ワンクリックでバックアップをとれますので、気軽にご利用ください。Windowsの「システムの復元」のように、任意のポイントに戻すこともできます。
また、値が不安定で用途が分かりにくかった[*publishedon*]の処理を修正しました。publish(公開)された日時を記録します。従来は編集のたびに更新されたりゼロになったりしていました。今回の改善では、非公開に戻した時以外は[*publishedon*]を変更しないようにしています。
r8の改善では、ダッシュボードやログイン画面のカスタマイズの自由度を高めましたが、今回はスニペットコールなどのMODXタグを用いることができるようにしました。たとえば、ダッシュボードで「最近更新されたリソースの一覧」をDittoで出力することができます。この方向性の改善は今後も継続し、管理画面の各部においてMODXタグを用いたカスタマイズができるようにしていく予定です。
■MODX Evolution 1.0.5J Revision9 ダウンロード
http://code.google.com/p/modx-ja/downloads/detail?name=modx-1.0.5J-r9.zip
※注意
http://forum.modx.jp/viewtopic.php?f=7&t=706
当バージョンには、ルート直下に新規ページを追加した時にエラーが表示される不具合があります。
http://forum.modx.jp/viewtopic.php?f=7&t=706#p3919
上記のパッチで回避できますので、これを上書きしてください。
アップデートの手順
https://modx.jp/docs/update.html
上記を参照してください。
注意事項
管理画面内でのコンテナタイプのリソースの操作方法や画面遷移の流れが変わりました。基本的な使い勝手が変わりますので、請負など他者にシステムを提供している場合は特に注意してください。
変更内容
不具合修正
- ファイルマネージャー - URLにアクセスするだけでファイルやフォルダを削除できてしまうため修正
- ヘルプ画面 - 環境によってはファイルサイズの判定に失敗することがあるため修正
- 言語ファイルのエントリーの誤りを修正
- managerディレクトリ・assets/backupディレクトリをファイルマネージャーのURL直打ちで参照できないように修正
- phpSniff.core.php typo修正
- サイトツリーのソートが不安定なため修正
- リソース更新時にpublishedby・publishedonを変更しないように修正
- 公開操作のたびにpublishedon・publishedbyを更新しないように修正
- テキストフィールドがIEで不安定に細かく動くため修正
- eformのサンプルチャンクのtypoを修正
- site_urlの取得ミスを修正
- publishedon・publishedbyの更新が正しく行なわれないため修正
- 公開権限を持たないメンバーがリソースを更新した時にpub_dateとunpub_dateにイレギュラーな値が入るため修正
- setcookie()のタイミングを修正
改善
- ファイルマネージャー - managerディレクトリ・assets/backupディレクトリを薄字でリスト表示
- ファイル・フォルダの削除をキャンセルした時の挙動が不自然なため修正
- インストール時のパーミッション確認にbackupディレクトリを追加
- インストールオプションの自動選択を調整
- files.dynamic.php 同じ処理を行なう関数が2つあるため統一
- スナップショット機能 - スナップショットが存在しない時はその旨表示
- install/action.summary.php コード整理
- バックアップマネージャー - デザイン調整
- バックアップマネージャー - チェックボックスをlabelで囲む
- backupディレクトリのパーミッション確認
- backupディレクトリ追加
- sqlデータの改行コードをLFで揃える
- Mysqldumper classを整理
- upgradephp コメント整理
- $GET_VARS など古いPHPでしか使わないグローバル変数を削除
- resources.static.php プラグイン無効順に正しく並んでいないため修正
- スナップショット機能 - ストア上限を10件に制限
- jqueryアップデート(1.7.1)
- ログイン画面のカスタマイズでMODXタグを使えるようにする
- ダッシュボードでスニペットコールなどのMODXタグが使えるようにする
- Etomite_dbFunctionsの内部処理をDBAPIに置き換える
- サイトツリーのソート順のデフォルトをeditedon descに変更
- http://forum.modx.jp/viewtopic.php?f=7&t=669 DittoのJSON出力に含まれる改行コードを「\n」文字列に置き換える
- resources.static.php プラグインの有効順に出力
- resources.static.php エレメント一覧をカテゴリー順で並べる
- サブリソース一覧 - サブリソースが存在しない場合はリソース一括移動ボタンを表示しない
- バックアップマネージャー - スナップショット機能を追加
- ファイル管理機能微調整
- upload_max_filesizeのサーバ設定値を参考値としてグローバル設定で表示
- インポート機能 - ルートのindex.htmlのリソースIDが1になるように改善
- インポート機能 - DBAPIで書き換え
- インポート機能 - ラジオボタンをlabelで囲む
- インポート機能 - キャッシュのクリアとサイトツリーの更新をシンプルな方法に変更
- サイトツリーのtitleチップにリソースIDを表示
- サイトキャッシュの改行コードをLFに揃える
- $modx->clearCache()にshowreportパラメータを追加
- synccache class 長大なemptyCacheメソッドを整理
- synccache class パスまわりを正規化
- $cachePathのスラッシュを正規化
- $modx->checkPublishStatus() sql文をDBAPIに差し替え
- $modx->mb_strftime() $timestampが空の場合は返す値も空にする
- アップデータtypo修正
- サブリソース一覧のコンテキストメニュー・権限制御とデザインが連動していないため修正
- サブリソース一覧のコンテキストメニューを少しだけ右にずらす
- キャッシュのパージに$modx->clearCache()を用いる
- $modx->clearCache()を使用
- publish_content.processor.php DBAPIに変更
- コンテンツ更新直後の遷移パラメータを正確に指定
- インストールモードの判定を調整
- documentDirtyがfalseの時はテンプレート変更確認のダイアログを表示しない
- $modx->clearCache()を使用
- テンプレート変数を持たないリソースのテンプレートを変更する時に確認ダイアログを表示しないように変更
- 各所のsql文をDBAPIに置き換え
- サブリソース一覧のコンテキストメニューの下部が隠れないように上に150pxずらして表示
- メニューオーダーが1から始まるように変更
- サブリソース一覧 - サイトツリーと同様のマウスホバー表現
- setup.sql 行末の不要なタブ文字を削除
- $modx->config['tree_page_click'] 新規インストール時の初期値セット(auto)
- インストールスクリプト修正
- サブリソース一覧 - リソース・削除・アンデリート後に元のページに戻るように改善
- サブリソース一覧のコンテキストメニュー・フルアクション実装
- リソース復活後の遷移先を改善
- リソース削除後の遷移をサブリソース一覧に変更
- サブリソース一覧の列幅を調整
- サブリソース一覧に「公開日」の列を追加
- サブリソース一覧 - コンテキストメニューの実装によりアクション列が不要になったため削除
- サブリソース一覧にコンテキストメニューを実装
- サブリソース一覧のhtmlコード修正
- 編集画面の親リソース選択を改善
- リソースグループに属するリソースを複数移動させようとするとエラーが出るため修正
- move_document.processor.php コード修正
- 削除マークがついたリソースの編集画面を開いた時にアンデリートボタンを表示
- サブリソース一覧のclass出力を修正
- リソース保存直後の遷移を調整
- 管理画面スタイルシート修正
- 複数リソース一括移動を実装
- サイトツリー・コンテキストメニューの項目の順番を一部変更
- サブリソースが多い場合(100件以上)はサイトツリーに表示しないようにする(グローバル設定で有効にしている場合のみ)
- 複数リソース一括移動を実装
- リソース詳細画面・サブリソース一覧の削除済みリソース・非公開リソースを色分け表示
- リソース詳細画面のサブリソース一覧をメニューオーダー順に並べる
- インストールオプションをラベルで囲んで選択しやすくする
- 新規投稿直後の遷移を調整
- ページングナビゲーションのデザイン調整
- テンプレート変数設定画面 - ソース整形及びテンプレート選択リストをlabel要素で囲んでクリックしやすいようにする
- ManagerManager &splitter パラメータを追加
- ページングナビゲーションのデザイン調整
- maketable.class ページングナビゲーションを上下に表示
- nodes.php クエリ調整
- 言語ファイル修正
- リソース編集画面でキャンセルボタンをクリックした時にdocumentDirtyをfalseにセットしないように変更
- サブリソース一覧のスタイル修正
- サブリソース一覧のタイトル・descriptionの表示を調整
- サブリソース一覧の列幅を調整
- サブリソース一覧の更新日時の列の改行を抑制
- リソース詳細画面のサブリソース一覧にdescriptionを追加
- アクションバーの編集ボタンのアイコンを変更
- ページングボタンにtab=0を追加
- リソースの詳細のサブリソース一覧に編集日時の列を追加
- 新規投稿時のキャンセルボタンの遷移先を修正
- 「ドキュメントの詳細」画面にキャンセルボタンを追加
- タブの開き方まわり修正
- タブまわり調整「リソースの詳細」のサブリソース一覧の並びをID順からcreatedon順に変更
- リソース更新保存直後の遷移先を調整
- リソース詳細画面のサブリソース一覧のデザインを調整(リンク文字色を揃える)
- リソース詳細画面の保存アイコンを編集アイコンに変更
- リソース移動操作直後の遷移が親リソースになるように修正
- リソース編集保存直後の遷移が「リソース詳細」の情報タブになるように修正
- リソース詳細画面でキャンセルボタンをクリックした時の戻り先を親リソースに変更
- QuickManagerバージョン更新
- $modx->configの「サイトツリークリック時の動作」に「自動」を追加
- 「リソースの詳細」の先頭タブをサブリソース一覧に変更
- サイトツリークリック時のアクション判定をノード側に移動
- ウェブユーザ設定画面・グループ管理の設定をタブ化
- ユーザ設定画面・グループ管理の設定をタブ化
- debugディレクトリを削除(どこからも参照されていない)
- datepicker(日付入力のカレンダー)を日本語対応
- イメージエディタのCSSを改善
- イメージエディタまわりの不要ファイルを整理
- ダッシュボードまわりの処理を整理
- 管理画面のヘルプを整理
- http://modxcms-jp.com/bb/ -> http://forum.modx.jp/
- 古いdatepickerライブラリ(MODx0.9時代のもの)を削除
- パスワードリマインダーのメール中のURLクリックでパスワード変更画面を開くことができるように改善
- インストーラに<meta name="robots" content="noindex, nofollow" />を追加(ロボット除け)
- config.inc.phpの$lastInstallTimeの値が空の場合は新規インストール扱い(WebMatrix対応)
不具合報告・改善要望について
主な改善内容
▲「リソースの詳細」画面を調整し、サブリソース一覧の実用性を高めました。グローバル設定を変更すると、100以上のリソースを持つ階層では、サイトツリーではサブリソースの表示を省略します。リソース移動操作を行なうために、コンテナ属性を持つリソースは表示されるようにしています。
▲一覧画面にはコンテキストメニューを実装しました。サイトツリーで表示されないサブリソースは、一覧画面のコンテキストメニューを用いて今までと同様のリソース操作ができます。
▲複数のリソースを任意に選んで一括移動できます。削除・公開・非公開などの操作を追加していく予定です。
▲今回のサブリソース一覧画面を優先的に使いたい場合は、グローバル設定で上記のように設定します。「自動」にすると、コンテナ属性を持つリソースをクリックすると一覧画面を、通常のリソースをクリックするとリソース編集画面を表示します。
スナップショット機能を追加しました。データベースのバックアップを、サーバ側に置くことができます。また、これを読み取って手軽に任意のポイントに戻すことができます。Windowsの「システムの復元」、Mac OSXの「タイムマシン」のようなものです。
▲ファイルマネージャーでmanagerディレクトリを表示できるようにしました。従来は「manager」という名前のディレクトリであれば表示しない処理になっており、assets/templates/manager/ ディレクトリにもアクセスできませんでしたが、これも修正しています。
ファイルマネージャーでは、実験的にトークンチェック方式の脆弱性対策を採用しました。現在のEvolutionでは、管理画面のXSS脆弱性対策としてリファラチェック方式を採用していますが、これは万全ではありませんし、ブラウザやネットワークなど、環境によっては副作用があります。いずれは管理画面全体をトークンチェック方式に差し替えていく予定です。
次回リリースについて
仕様が整理されていないために同梱をとりやめていたBreadcrumbsスニペットを、復活させる予定です。現時点でほぼ改善できているのですが、細部に問題があり間に合いませんでした。
以上、ご意見ありましたらフォーラムまたは問い合わせフォームからフィードバックをお願いします。フォーラムやブログ、Twitterなどで寄せられた要望はこまめに拾って対応しておりますので、気軽に要望いただければ反映に努めたいと思います。