1.0.15Jをリリースしました。ベータ機能扱いで下書き機能が実装されています。この機能は将来的にリビジョン管理機能・承認ワークフロー機能の実装につながります。ダウンロードhttp://modx.jp/download/download_evo.html上記からダウンロードしてください。現在日時を表示します。新規インストール時またはアップデート時にMySQLiに変更します。MySQLiが無効な環境では従来どおりMySQLで動作します。APIOnCallChunkイベントの追加(Chunkを読み込んだ時に実行される)PHxエクステンダーをmodifiersに改名タイムマシン機能(※現在のところ基本的な機能のみ)管理画面にログイン状態で下記のようなQUERY_STRINGを付けて該当URLにアクセスする事で、その日時に「表示されているべき」表示を確認できます。OnBeforeDocFormUnDelete/OnDocFormUnDeleteイベントを追加。削除されたリソースの復活処理に呼び出されます。OnBeforeDocFormUnDeleteイベント内で下記の記述を行うことで復活を中断させることができます。$modx->event->cm->setParam('enableProcess',false);グローバル設定に「テーブルの自動最適化」を追加。TABLE)が実行されていたところを設定でON/OFFできるように変更。($modx->checkSession()の別名。「$modx->site_name」でサイト名を取得することができる。***:money_format[*変数:money_format(フォーマット)*]http://php.net/manual/ja/function.money-format.php直前にconfig.inc.phpで設定されている時間ロケール(LC_TIME)を通貨数値ロケール(LC_MONETARY)に設定する。フォーマットを「%!.0n」とすれば、カンマ区切り数値として表示できる。DocIDを選択し、ドキュメントID(リソースID)を設定する事でMODXのリンクタグに展開されるようになる。システムイベント$modx->config[xxx]の各値をオーバーライドできるフロントパーサの処理では最も早いタイミングで呼び出される(OnWebPageInitよりも早い)MODXとプラグイン間でデータのやり取りを補助するConfigModicationクラスの追加。プラグイン内で次のメソッドを使うことでMODXから渡されたデータを確認する事ができます。次のメソッドで変更をMODX側に渡せます。(まだ対応しているイベントはありません...これから充実していければと)$modx->event->cm->setParam('hoge','abc');また、プラグインを二重に呼び出した際の$modx->event->output()データが壊れる問題も合わせて修正しています。convertDateオプション[*editedon*]などの値をUNIXTIME形式で返すかどうか。通常はケースバイケースで適切な形式で値を返す。aliasが空の子リソースがある場合にコンテナではなく、子リソースのidを返す問題を修正。廃止METAタグ管理機能を廃止jquery-migrate.jsを削除。IE6・IE7・IE8をサポート対象外とする(実際は特に問題なく動作するはず)inroleモディファイアを廃止。タグ構成をシンプルに整理(過剰なSEO対策となる可能性があるtitle属性を削除)画像ファイル軽量化キャッシュクリア後にOnDocFormSaveイベントを呼ぶように変更(プラグイン内で古いキャッシュを参照した場合、意図せぬ動作になるため)セッション保持リクエストのヘッダ出力位置調整(エラーの時にjsonのMIME定義になってなかった)セッション保持リクエストからリソースが公開された場合にイベントが動作しない問題を修正(プラグイン情報を含む設定情報が呼ばれていなかったため)OnDocPublished/OnDocUnPublishedイベントの適用範囲拡大(これまでは管理画面のリソースツリー右クリックメニューからの操作で発動するのみでした。今回の改修により、公開設定でリソース保存時、スケジュール公開時にもOnDocPublished/OnDocUnPublishedを実行するように変更)OnDocPublished/OnDocUnPublishedイベントのパラメータにtypeを追加どの処理時にイベントが呼ばれたかは下記の$typeの値で確認できます。下書きの自動公開キャッシュクリア後にOnDocPublishedイベントを呼ぶように変更(プラグイン内で古いキャッシュを参照した場合、意図せぬ動作になるため)未定義の変数参照によるPHPの警告ログ対策ツリーメニュー非公開時に更新者([*editedby*])も更新リソースツリーでの公開時に更新時刻([*editedon*])を更新リソースツリーでの非公開時に更新時刻([*editedon*])を変更リファラチェックの処理を変更HTTP_REFERER内に[(site_url)]が存在するかどうかをチェックし、サイト内からのPOST以外は受け付けないものとする。OnBeforeDocFormDeleteのパラメータを調整プラグイン内で下記の記述を行うことで削除を中断させることができるようにした。$modx->event->cm->setParam('enableProcess',false);システム情報にDBエンジン情報も表示システム情報からのテーブル内容削除リンクを削除。found(404)時のキャッシュ処理を改善。管理画面用ajaxエントリーポイントを追加(manager/ajax.php)Javascript関数名startrefresh()をreloadPane()に変更(分かりにくいため)jQueryで扱うオブジェクトデータでダブルクォートを使うリソース更新直後の遷移(この画面・閉じる・次の作成など)を記憶する(セッション単位)エレメント編集画面を整理。resource」も登録する。設定した「最大エクスポート時間」の秒数内に処理が終わらなかった場合は、生成ファイルを初期化せず継続して処理できるようにする。処理に120秒かかる場合、60秒×2回に分けてエクスポートを行なうことができる。サブリソースで明示的にindex.htmlを作った場合は上書きするエクスポート処理で再帰処理を行なわないように変更。manager/includes/extenders/modifiers/mdf_[name].incリソースを非公開に戻した時、現在日時よりもpub_dateが新しい場合はpub_dateの値を保持する。過去の値となっている場合はこれまでどおりpub_dateの値を削除する。mm_ddMultipleFieldsデートピッカーのスタイル調整リソースツリー上のサイト名をクリックした時のアクションを「リソース一覧を表示」とするIEで管理画面のデザインが一部異なるため調整Chromeスリミングペイント対策CAPTCHA機能(veriword)の内部処理を整理(最近はほとんど効果がない機能と思われるため機能縮小方向で調整)$modx->getFullTableName()の処理を調整(SQLite対応に備える)プラグインのプロパティもキャッシュする。*.svgを追加***:memberofモディファイアを改善。モディファイアを改善。キャンセル時の遷移先を整理リソース検索結果一覧のID左にサブリソース一覧へのフォルダリンクを追加TVのプロセッサで@EVALの出力が空の時に加工前のデータを出力せず空として扱うようにした。@EVALがエラーになった時は加工前のデータを出力します。不要なconfigを整理TVのカスタムフィールドを利用した際のMODXタグをパースするタイミングを変更。以前のタイミングでは[+value+]内に書かれていたタグもパースされていた。※画面描写が重くなるかもしれないので、しばらく様子を見て問題がありそうなら元に戻します。OnMakeUrlイベントにて次のコマンドでURLを変更できるようになった。$modx->event->cm->setParam('url',$newurl);eFormのフォームテンプレートをパースするスニペットコールの展開を改善http://forum.modx.jp/viewtopic.php?f=32&t=1562スニペット名とパラメータの区切り文字「?」の判定精度を改善OnBeforeSaveWebPageCacheイベントに以下のパラメータを追加。キャッシュ生成フラグこの値をfalseにするとキャッシュ生成する設定になっているリソースもキャッシュを生成しない。[はい]の時、権限のないリソースのノードが管理画面内で普通に表示されるため、編集できるのかどうか、開いてみるまで分からない。バージョンチェックを廃止し、古いバージョンのMODXから出力したSQLデータでもインポートできるようにした。スニペットやプラグインなどの先祖返りに注意する必要があるが、スニペットやプラグイン自体を先祖返り事故が起きにくいように作り変えることを推奨。関数名変更https://twitter.com/123_masco/status/606240636610609152http://forum.modx.jp/viewtopic.php?f=32&t=1557OnBeforeDocFormSaveイベントに以下のパラメータを追加。テンプレート変数に関するデータプラグイン中にこの値を変更してリソースを保存させることができます。'hoge';$modx->event->cm->setParam('doc_vars',$new_vars);OnLoadWebPageCacheイベントで以下のパラメータを追加。useCacheプラグイン中でfalseに変更するとキャッシュを使わなくなります。リソースツリー上のHomeアイコンのフォルダ開閉http://forum.modx.jp/viewtopic.php?f=32&t=1554MGR_DIR定義時にリダイレクトしないように変更。利用していないキャッシュファイルの削除。connectできなかった時の情報送信connectできなかった時に送信する情報を詳細化テンプレート編集画面で@URLファイル管理画面の編集・閲覧可能ファイルに「tpl」を追加プラグインによるテンプレート変数のタイプ追加は稼働中のプラグインのみとするプラグインでもテンプレート変数のタイプ追加を可能にする。4つ続くケース)トピックス下書き機能ベータ機能扱いで下書き機能を実装しました。グローバル設定で「下書き機能を使う」を有効にすると、リソース投稿画面に「下書きを作成」ボタンが追加されます。APIリソース(ドキュメント)を操作できる補助的なAPIです。APIと似ていますが、こちらはスニペットやプラグイン中でも利用できるような感じにしています。使い方は次の通りです。APIこのAPIを使ってMODX側からプラグインに渡されるデータの取得、逆にプラグインからMODX側のデータの提供が行えます。$modx->event->cm->getParam('url');//プラグイン内で変更したURLをMODX側へ提供$modx->event->cm->setParam('url',$url);//※OnLoadWebPageCacheイベント内での記述//キャッシュを利用しないようにMODX側へ指示する$modx->event->cm->setParam('useCache',false);このAPIはプラグインの中でのみ動作します。APIと同じようにMODXとプラグイン間でデータの受け渡しが可能ですが、プラグイン中に別のプラグインが実行されるような場合に予期しない動作を起こすことがあります。鈴木さんと表示されます。バナーなどをチャンクで管理する場合など、画像ファイルのファイル名などを自由に指定できるため便利です。プリセットのスニペットコールhttp://forum.modx.jp/viewtopic.php?f=34&t=1543プリセットで使えるスニペットコールコマンドを追加しました。「スニペット」という言葉本来の意味とは異なるため、用語については今後検討します。[[$_SERVER['REQUEST_TIME']:date(Y)]]たとえば上記のように記述すると、フッタなどに用いる年号付きコピーライトを出力できます。これだけのために専用のスニペットを追加する必要がないため、シンプルに管理できるようになります。<!--@IF:><@ENDIF-->文やモディファイアと組み合わせることで、テンプレート内・リソース内・チャンク内などに複雑な分岐処理をインラインで記述することができます。一度しか使わないなどの理由でスニペットを増やしたくない場合に、ワンポイントで使うと便利です。これらの記述の濫用によってかえって管理が複雑にならないよう気をつける必要があります。基本的にはこういった分岐処理はスニペットを用いることを推奨します。注意点IE6・IE7・IE8をサポート対象外としました。METAタグ管理機能は廃止しました。METAタグ管理機能はテンプレート変数が実装される前に作られた古い機能なので、今後はテンプレート変数を用いてください。ログイン時の改竄チェックを廃止しました。管理画面内のネイティブJavascript記述のいくつかをjQueryにまとめた影響で、管理画面のタブ画面描写が多少重く感じられるかもしれません。気になる場合は次のバージョンで元に戻します。次の1.0.16J(もしくは1.1J)では下記のような変更を予定しています。気付いた点があればフォーラムまたは問い合わせフォームからフィードバックをお願いします。開発に参加して自ら機能追加・改善などを行なってみたい方もお気軽にご連絡ください。