[要望] ドキュメント操作に関するシステムイベントの追加

MODx 0.9.6.1において、ドキュメントの編集時に発生するいくつかのシステムイベントが欲しいとの要望が寄せられている。特に、ドキュメントツリーからの操作において、システムイベントが発生しないため、関連する新しいシステムイベントの提案がされている。

OnDocFormPublish、OnDocFormUnpublish、OnBeforeDocFormPublish、OnBeforeDocFormUnpublish

ドキュメントの公開・非公開に関するシステムイベントが存在しないとのこと。「[要望] onBeforeDocFormUndeleteとonDocFormUndelete」とも関連する。

ドキュメントの保存時に発生するシステムイベントとしてはOnDocFormSaveイベントが存在するが、保存前に発生するOnBeforeDocFormSaveのようなイベントが存在しないため、公開・非公開などの設定が変更されたかどうかの判断が難しい。そのため、それらを判別するためのOnBeforeDocFormPublish、OnBeforeDocFormUnpublishのようなイベントが欲しいとのこと。

また、ドキュメントツリーのコンテキストメニュー(右クリック)から公開・非公開などの操作を行った場合、ドキュメントの設定が変更される。しかし、これらの場合に発生するシステムイベントは存在しない。そのため、これらの操作をフックするOnDocFormPublish、OnDocFormUnpublishのようなイベントが欲しいとのこと。

OnBeforeDocMove、OnDocMove

上記と関連して、ドキュメントの移動時に発生するOnBeforeDocMove、OnDocMoveのようなシステムイベントが欲しいとのこと。

OnBeforeDocDuplicate、OnDocDuplicate

上記と関連して、ドキュメントの移動時に発生するOnBeforeDocDuplicate、OnDocDuplicateのようなシステムイベントが欲しいとのこと。

なお、独自のシステムイベントを追加する場合は、「[要望] onBeforeDocFormUndeleteとonDocFormUndelete」のように、system_eventnamesテーブルへのレコード挿入とinvokeEventメソッドによるシステムイベントの呼び出しで実現できる。

M子