FileBlog RAエディション以上で実装される「ダウンロード編集」機能について、Ver.5.5で機能が強化されましたので、紹介します。

ダウンロード編集機能はもともと、ファイルサーバ上のOffice文書の編集において、次のニーズをお持ちのお客様向けに開発されたものです。

  • オフラインでファイルを編集したい
  • 1つのファイルを複数ユーザで同時に編集したい

社内LANや拠点間LANで常に快適にファイルサーバにアクセスできる環境を持っていて、問題なくファイルを直接開いて編集できるのであれば、この機能は必須ではないかもしれません。しかし、実際にお客様のニーズによって生まれ、お客様の声を反映しながらブラッシュアップしてきました。

また、FileBlogを介してファイル更新を行うことで、変更履歴を管理できるメリットもあります。

オフライン編集

Windowsファイルサーバ上のOffice文書は、LAN内であればWindowsエクスプローラで共有フォルダとして参照し、Microsoft Officeアプリケーションを用いてオンラインでファイルを直接開いて編集することが可能です。

しかし、出張先や海外拠点などの遠隔地からアクセスして編集したいとき、ネットワーク接続の回線品質が不十分であるために、快適に作業できない状況に陥ることはないでしょうか。

たとえば次のような場合です。

  • 山陽新幹線の車中からモバイル回線で社内文書にアクセスする場合に、トンネルに入るたびにネットワーク接続が切断されてしまう
  • ネットワーク回線が貧弱な海外拠点からアクセスする場合に、ファイルを探してフォルダを移動するだけで、Windowsエクスプローラが数分間フリーズしてしまう

こうした場合は通常、ファイルをいったんローカルのPCにダウンロードして、Microsoft Officeでファイルを開いてオフラインで編集を行い、終わったらファイルサーバにアップロードするという手順を行うことになります。これを繰り返すとなると、けっこう面倒です。

FileBlogには、こんなときのために「ダウンロードして作業コピーを編集」というオフライン編集のメニューがあらかじめ用意されています。このメニューからファイルをダウンロードすると、作業中ファイルの一覧にファイル名が表示され、そこからファイルを開く・編集・アップロードが簡単にできます。

通常よりいくつかクリックが少なく済むだけかもしれませんが、何度も繰り返すとけっこう時間を食ってしまいます。FileBlogの開発では、ユーザがクリックする回数を1つでも減らす、ということにもこだわっています。

共同編集

共同編集のリスク=競合

共有フォルダ上のファイルを複数のユーザが編集する場合、更新の競合が問題になります。

たとえば、Excelでセル単位の編集を行ったり、Wordで段落単位の編集を行ったり、一つのファイルを複数ユーザが同時編集する機能を実装していることもありますが、編集内容の保存はファイル単位で行われるのが一般的です。

そのため、同じファイルの異なる2か所を複数ユーザが同時に編集し、相前後してそのファイルを保存した場合、保存タイミングによってはどちらか一方の編集内容が失われてしまうリスクがあります。これが共同編集における競合という問題です。

競合の回避・解消方法

こうした競合を回避する方法は、次の3通りが考えられます。

  • 後勝ち

Windowsファイルサーバの既定動作は後勝ち方式(排他制御なし)なので、前に書き込んだ人が更新したファイルが、後から書き込んだ人のファイルで無条件に上書きされてしまいます。これではせっかく書き込んだ内容が失われる危険がありますが、多くの組織ではお互いに声を掛け合うなどの運用でなんとかしています。

  • 排他ロック(順次編集)

排他ロックもよく使われます。最初に誰かが編集を開始した時点で、他のユーザが編集できなくする方式です。後勝ち方式のような書き込み消失リスクはなくなりますが、ファイルをロックした人がそのまま退社したり、休暇に入ったり、退職したりすると、ファイルの更新ができなくなって、別の名前を付けた新しいファイルを作らざるを得なくなります。

また、同時編集を禁止するため、前の人が編集を完了するまで、次の人は編集を開始するのを待たなくてはなりません。これでは手分けして作業できないため、作業完了が遅れるリスクがあります。

  • 事後検出

FileBlogでは、競合の事後検出という方式をとっています。

この方式では、ファイルの編集を開始するときには特に排他制御を行いませんので、別の人が編集中であっても、その作業完了を待たなくてかまいません。

その代わりに、ファイルを保存するときに、他のユーザが先に編集を行った事実を検出したら、ポップアップで「他のユーザに先を越されました」と通知します。無条件上書きによるデータ消失を未然に防止するためです。

ダウンロード編集中の作業中一覧について、更新状況を最新化することで、先を越された事実が検出されます。

ここで、先を越されたユーザは、保存のキャンセルが選択できるようになっています(後勝ち方式と同じように無視して強制上書きすることも可能)。

キャンセルした場合、他のユーザに声をかけて変更内容を確認したり、最新ファイルをダウンロードして自分の手元の作業ファイルと比較したりして、自分が加えた変更と他人が加えた変更の両方を一つのファイルに反映(マージ)したうえで、再度アップロードすることができます。

排他ロックの場合と比べると、マージ作業が必要になったときに手間となる可能性がありますが、排他ロックよりも作業が滞らないところがこの方式のメリットです。

変更履歴管理

FileBlogのダウンロード編集では、ファイルを更新する際に必ずWebアプリケーションサーバが介在するので、更履歴管理が可能になるというメリットがあります。ファイルを直接開いて編集した場合と比べると、ダウンロード編集してアップロードするほうがひと手間増えますが、ファイルの安全と履歴の保全が確保できます。

  • 簡易バージョン管理(RMエディション)

Windowsファイルサーバの共有フォルダにはないセキュアな「ごみ箱」を設置することで、更新によって上書きされたファイルや削除されたファイルを自動でバックアップします。ごみ箱内のファイルは、一定時間(数か月など)保存され、変更履歴としてアクセス可能となるため、うっかりファイルを消してしまうなどの事故に対処しやすくなります。

  • Gitリポジトリを用いたバージョン管理も可能(CMエディション)

プログラムのソースコードのバージョン管理システムとして広く普及しているGitのリポジトリによる変更履歴管理も可能です。フォルダ単位での完全な変更履歴の保存をサポートし、任意の時点でのフォルダ単位の断面を復元可能にします。相互に関連する複数ファイルで一つの文書を構成するような場合に有効です。

ご質問・ご相談はお気軽にお問い合わせください