0

MSWord ドキュメント管理 (または任意のテキスト Doc エディター用) に Java アプリケーションを実装する必要があり、単語ドキュメントはデータベースなどの中央リポジトリまたはサーバーに格納されます。多くのユーザーがドキュメントを処理するため、完全なバージョンが必要です。制御します。行ったすべての編集/変更は、中央ドキュメントに保存する必要があります。

私の質問は、ローカル ドキュメント エディターで開いて編集した後、(データベースにある) 中央ドキュメントに変更を保存することは可能ですか? つまり、中央のドキュメントにアクセスして編集している間、彼らはローカル コピーでそれを行っていると思いますが、ドキュメントの保存アクションだけでその変更を中央のコピーに同期するにはどうすればよいでしょうか? イベントトリガーの保存など、コードを介して実装する方法はありますか?

ユーザーが自分のコピーで行ったすべての変更は、中央のコピーで更新する必要があります。この種のシナリオでGoogleドキュメントの作業のようなものを実装する予定です。貴重な提案や役立つリンクがあれば招待しますか?

4

2 に答える 2

1

これは私が考えるものです:

中央リポジトリにドキュメントを表示し、Word (または何でも) を起動して編集できるようにする (あなたの場合は Java) GUI アプリケーション。リポジトリ内のドキュメントをチェックアウトしてロックします。次に、Word (または任意の) プロセスが終了すると、変更がコミットされ (おそらくポップアップ確認ダイアログの後、ユーザーは編集を破棄するか、変更に関するコメントを入力する必要があるかを選択できます)、ファイルのリポジトリ ロックが削除されます。

次に、古いロックを処理するためのメカニズムも必要です (たとえば、ユーザーの PC がロックを解除せずにシャットダウン/クラッシュした場合)。バイナリ ファイルで適切に動作し、サーバー側でのファイル ロックをサポートする VCS を必ず使用し、最初の選択が理想的でない場合に VCS ソフトウェアを簡単に変更できるようにアプリをコーディングしてください。

したがって、Java アプリは、他のプログラム (チェックアウト/ロック/コミット用の VCS バイナリ、編集用の GUI アプリケーション) を実行することによって、ほとんどの作業を行うことができます。このアプリはかなり単純に見えますが、 Netbeans RCPEclipse RCPなどを調べて、そのようなプラットフォームの上にアプリを構築することは、それでも価値があるかもしれません。私は実際にそれらを自分で使用していないので、推奨としてではなく、検討および研究するためのアイデアとして受け取ってください.

于 2013-04-22T08:34:09.537 に答える
1

Java では、ファイル システムをリッスンして、ファイルが変更されたときに通知を受け取ることができるため、理論的には、これを使用してドキュメントが編集されたときにそれを確認し、サーバーにアップロードすることができます。

ただし、次の問題を解決する必要があります。

  • Word が開いているときに Java アプリケーションが閉じたりクラッシュしたりすると、保存が検出されず、ドキュメントに対するユーザーの変更が失われ、その理由がわかりません。
  • Word 文書を編集するときは、データを失わないように常に保存しますが、最終的に保存したものだけをリビジョンとしてチェックインしたいと考えています。
  • 複数のユーザーが同じドキュメントを同時に編集し、互いの変更を上書きします。
  • ユーザーが変更を説明するコメントを入力するサイレント自動プロセスには方法がありません。

チェックイン/チェックアウトのアップロード/ダウンロード プロセスをすべて自動的に行うよりも、手動で行う方が望ましい場合があります。

于 2013-04-22T07:09:46.977 に答える