New Community Forums are coming. Watch this space for news.
Subscribe: RSS
  • みなさんこんにちは

    MODxを使い慣れてる方は既にご存知と思いますが、ツール > ロックの解除 についての小ネタです。

    1.機能の概要

     リソース(ドキュメントやテンプレート、チャンク、スニペット、ユーザなど)のロック(編集中/排他状態)を強制的に解除します。

    2.機能の特徴・動き

     複数のユーザでサイトを管理する環境で使います。
     例えば、あるユーザ(Aさん)が、あるリソース(R)を編集開始後、終了操作を行わずにブラウザを閉じたり、PCをシャットダウンした場合、そのリソースはロックされたままになります。そのリソース(R)をAさんが再度編集する場合は問題ありませんが、他のユーザ(Bさん)が編集しようとすると、「AさんがRを編集中です・・・」が表示され、編集できなくなります。

    3.使用シーン

     サイトを個人的に(単一ユーザで)運用する場合は、殆ど使うことはありません。
     複数のユーザでサイトを管理しはじめた途端に、「XXXが編集できない。なんで?」という問題がしばしば起こります。「ロックの解除」権限を持つ管理者がロックを解除すればすぐに問題はなくなります。しかし、すべての運用者がロックの仕組みを正しく理解してないと同じ問題が繰り返し起こり、管理者に大きな負担が掛かります。

    4.管理者の負担を軽くし、スムーズに運用するためには

     運用者にロックの仕組みを正しく理解してもらうことや、運用者の中にロックの解除権限を持つユーザを最低一人置くことで、管理者の負担は随分軽くなります。但し、運用者全員にロックの解除権限を与えてしまうと、ロック(同一リソースの編集の衝突を防ぐ)機能が無意味になってしまうので、通常このようなロール(権限)設定は行いません。
    • ログを見れば、誰かが今このドキュメントを編集しているのか保存操作をせずに作業を終了したのかがだいたい推測つくこともありますが、ちょっと面倒ですね。管理者レベルの担当者にはそういうレベルのログの見方を参考程度に教えておくのはいいと思いますが。他ユーザの状態を見れないようにロールを設定するケースがほとんどだろうし、現場レベルで考えるとすると、複数ユーザによる管理の場合は、基本的にはメッセンジャーなどで連絡を取り合いながらサイトを管理するのがいろいろと応用もきくし都合がいいと思います。

      MODxの機能自体に目を向けると、ログアウト時に自動的にロックを解除するようになっているとよさそうに思います。それとDBレベルとJavaScriptレベルの2層でタイマーを設けて、最後の操作から何十分か経過したら自動的にロックを解除するのもいいかも。
      http://himajin.moo.jp/freejava/mouse.html
      http://www.mdn.co.jp/webcre/Tips/Vol18/3/
      たとえば上記のようなスクリプトのロジックを応用。操作しない状態が数秒続くと遷移するので、マウスをグルグル動かしながら見てください。こうやってロックを自動的に解除した時、理想的にはドラフト状態で別保存すべきですが、現状のMODxの仕様ではドキュメントの編集状態は強制的に破棄することになると思います。

      複数ユーザで安心して管理できるCMSを作るには、こういうことにも将来的には対応する必要があるのではと思います。(プラグイン対応も可)
      • yamaさんの仰るとおりですね。

        複数ユーザ構成のサイトを管理した経験がある方なら、どなたも一度は経験したことがあるのではないでしょうか。

        このロック機構(排他制御)は、MODxに限らず他のCMSでも必ずといってよいほど似たようなことをやっていて、
        運用者(管理者)が最初につまずきやすい(驚き、困惑してしまう)ポイントの一つです。
        特にサイトの運用をはじめて間もないとき、運用者から管理者に寄せられる問い合わせで多いのがこれです。

        セキュリティを考慮したセッションの持続時間などにも関係してて、時間で縛ってしまうと、今度は「使いづらい」、
        なんてこと言われたりして、意外にナーバスな問題です。
        例えばこのフォーラムの120分縛りとか・・・(最初ほどやっちゃうんですよね・・・長時間熟考して書いた記事の消失)
        • Quote from: sama55 at Jan 26, 2009, 03:26 AM

          セキュリティを考慮したセッションの持続時間などにも関係してて、時間で縛ってしまうと、今度は「使いづらい」、
          なんてこと言われたりして、意外にナーバスな問題です。
          例えばこのフォーラムの120分縛りとか・・・(最初ほどやっちゃうんですよね・・・長時間熟考して書いた記事の消失)
          う、僕もそれで何度かヘコんだことあります。120分も時間かけるなんてあり得ないと考えられるのかもしれないけど、実際ありますよね。こういう想定をするのがサイト運用とかCMS開発の難しさだとは思いますが、高機能になればなるほど細かいことを考える必要が出てくるのだと思います。シンプルな機能のCMSであれば、管理者も他の担当者もそんなものだと思って割り切って利用できるのでしょうけど、MODxくらいだと微妙に期待されることもありそうですね。MODxなら大丈夫でしょ?みたいな。

          ずっと以前、CMSに関わる前はDreamweaverとコントリビュートのセットでサイト運用を提案・構築してました。これは実際大変で、ロックの解除の相談ばかり受けてた気がします。基本的に、複数担当者間で編集されやすいページをさわる時は事前に「今からxxxのページをさわります」とメールやメッセンジャーで同報をまわすべきであるのは、高機能なCMSでも必要なことかも。ツールを過信すると、基本的にそこに振り回されて難儀することになると思います。関係ある者同士でコミュニケーションをとって工夫し合う空気が、そういうレベルのサイト運用には必要ではと思います。なんだか違う話になっちゃいましたが。

          ロックの機能自体は、まだまだ改善の余地はあるかなという気はします。revoでだいぶ変わるかも。