Skip to content

協調編集

iwa-cms では、複数のユーザーが同時に同じコンテンツを編集できます。

機能概要

  • リアルタイム同期: 編集内容は即座に他のユーザーに反映
  • 自動保存: 変更は約 2 秒後に自動保存
  • 競合解決: CRDT 技術により、同時編集でも内容が失われない
  • カーソル共有: 他のユーザーの編集位置が表示される

協調編集の有効化

協調編集は、既存のコンテンツを編集する際に自動的に有効になります。

確認方法

編集画面で「自動保存」と表示されていれば、協調編集モードです。

同期される項目

項目同期タイミング説明
本文リアルタイム入力と同時に他ユーザーに反映
タイトルリアルタイム入力と同時に他ユーザーに反映
カテゴリリアルタイム選択と同時に他ユーザーに反映
公開状態操作完了後API 成功後に他ユーザーに通知

接続状態

画面に表示されるインジケーターで接続状態を確認できます。

状態説明
同期済み🟢 緑正常に接続・同期完了
同期中🟡 黄データを同期中
切断🔴 赤接続が切れている

他のユーザーの編集

カーソル位置

他のユーザーがどこを編集しているか、色付きのカーソルで表示されます。

ユーザー識別

各ユーザーは異なる色で識別されます。協調編集中は、誰が編集しているかが視覚的に分かります。

自動保存の仕組み

  1. ユーザーが編集
  2. 変更が Y.js(CRDT)で同期
  3. 2 秒間変更がなければ自動保存
  4. サーバーに保存完了

保存タイミング

連続して入力している間は保存されず、入力が止まってから約 2 秒後に保存されます。これにより、頻繁な保存による負荷を防いでいます。

公開状態の同期

公開/非公開の変更は、他のフィールドとは異なる方法で同期されます。

  1. ユーザー A が「公開」をクリック
  2. API でサーバーに送信
  3. サーバーで権限チェック(Publisher 以上)
  4. DB 更新完了
  5. ユーザー A の画面が更新
  6. 他のユーザーにリアルタイム通知
  7. 全員の画面で公開状態が更新

権限

公開/非公開の変更には Publisher 以上の権限が必要です。

オフライン時の動作

ネットワークが切断された場合:

  1. 編集は継続可能: ローカルで編集を続けられます
  2. 自動再接続: ネットワーク復旧時に自動で再接続
  3. 変更の同期: 再接続後、ローカルの変更が自動的に同期

競合解決

オフライン中に複数ユーザーが同じ箇所を編集した場合も、CRDT 技術により自動的にマージされます。

注意事項

保存ボタンについて

協調編集モードでは自動保存されるため、通常の「保存」ボタンは主にバックアップ用途です。

ブラウザを閉じる前

自動保存は 2 秒の遅延があるため、編集直後にブラウザを閉じると、最後の変更が保存されない可能性があります。

推奨

編集完了後、「自動保存」表示を確認してからページを離れてください。

必要な権限

権限協調編集での操作
Adminすべて可能
Publisher編集 + 公開/非公開
Write編集のみ
Read閲覧のみ(編集不可)

関連ページ

©2025 Hayato Iwasaki