コンテキスト
Liferayの初期から、2人以上のユーザーが同じページに同時に変更を加えることができます。 しかし、最後に "Save "ボタンをクリックした人の変更は維持されるが、他のユーザーの変更は失われる。
このような事態が発生することはあまりないが、発生した場合、投稿者は自分が行った仕事を失う可能性がある。
ページの同時編集をコントロールするソリューションを持つことを目指して、ここに同時編集を管理する新機能があります。
私たちがしてきたこと
この新しい機能により、ユーザがページを編集しているときは自動的にロックさ れ、ユーザが編集を終えてページから離れると(自動的に )ロックが解除されます。
それに加えて、もしユーザーが長時間(設定可能)ページを編集モードにしたままにしておくと、他のユーザーが編集できるようにするため、再発プロセス (15分ごと、一定時間)が自動的にページのロックを解除する。
そして最後に、管理者であれば誰でも、UIからロックされたページを手動で解除 することができる。
仕組み
自動ロックプロセス
ユーザーが編集モードでページにアクセスしようとするたびに、プロセスはページがロックされているかどうかを検証します。 検証による:
- ロックされているの場合、ユーザーは一般的なエラーページにリダイレクトされます:
このページでは、プロセスが前のページを知っている場合、"Go to "ボタンは前のページにリダイレクトする。 そうでない場合は、"Go Back "ナビゲーションが表示される。
- ロックされていないページエディタでの最初の変更でページがロックされます。
ユーザーが表示モードに変更したり、ログアウトしたり、タブを閉じたりすると、ページは自動的にロック解除され、他のユーザーが編集できるようになる。
自動ロック解除プロセス
ロック解除プロセスのコントロールやバリデーションにもかかわらず、ユーザーがすでに変更を完了したにもかかわらず、ページがロックされたままになってしまったり、ユーザーが何の変更もせずに編集モードで長時間ページを開いたままにしてしまい、ページが長時間ロックされたままになってしまったりすることがあります。
このような場合、15分ごとに自動ロック解除処理が行われる(システムは一定で、今のところ変更できない):
- ロックされているすべてのページをデータベースから読み込む。
- 各ページについて、最後に自動保存された日時をチェックし、現在の日時とそのページの最後の自動保存日時との差(分単位)を計算する:
- その差が「自動保存しない時間」パラメータ以下であれば、ページはロックされた ままとなる。
- その差が「自動保存しない時間」 パラメーターより大きい場合、ページは自動的にロック解除さ れます。
自動ロック解除プロセスの設定は以下の通り。
コントロールパネル > インスタンス設定 > コンテンツとデータ > ページ > ロックされたページ
このページでは、ユーザーはプロセスのオン/オフを切り替え、自動保存なしでページをロックできる時間(分単位)を設定できます。
手動ロック解除
また、他のユーザーがロックしたページを緊急に編集する必要がある場合はどうなりますか?
そのために、新しいページ (を提供します。)に、ロックされたページのリストと、ユーザが必要とするページのロックを解除する可能性を提供します。
マニュアル・アンロックのページはこちら:
左メニュー|設定 > ロックされたページ
ページ(または複数のページ)を選択した後、管理者は3つのドットアイコンオプションまたは「ロック解除」ボタンをクリックしてロックを解除することができます。
詳細フロー
デモ & その他のリソース
制限事項
お申込み方法
- 手動ロック解除ページのフィルタと並べ替え基準。
- サイトレベルのパラメータ。