(57)【特許請求の範囲】
【請求項１】
第１処理プログラムを実行する情報処理装置であって、
複数の機能を実行可能な前記第１処理プログラムのユーザーインターフェースにおいて、ユーザーの指示に基づいて処理対象となる文書を選択する選択手段と、
前記文書の入力元を取得する取得手段と、
前記第１処理プログラムのユーザーインターフェースにおける前記複数の機能のうち、前記取得手段により取得された入力元に応じて制限される機能をユーザーが選択できないように前記第１処理プログラムのユーザーインターフェースの表示を変更する表示制御手段と
を備え、
前記表示制御手段は、さらに、前記選択手段により選択された文書が、第２処理プログラムに送信されるべき文書である場合、前記第１処理プログラムのユーザーインターフェースにおける前記複数の機能のうち、前記第２処理プログラムが必要とする情報が失われる処理に関する機能をユーザーが選択できないように前記第１処理プログラムのユーザーインターフェースの表示を変更することを特徴とする情報処理装置。
【請求項２】
前記第２処理プログラムが必要とする情報が失われる機能とは、文書の削除を指示するための機能であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択手段により選択された文書に対する処理が完了したことが指示された場合、前記第２処理プログラムによって監視されるフォルダーに処理済みの文書を記憶する記憶手段を更に備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第２処理プログラムは、複数の処理を文書に対して適用するためのワークフローを生成するアプリケーションであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
第１処理プログラムを実行する情報処理装置の制御方法であって、
前記情報処理装置の選択手段が、複数の機能を実行可能な前記第１処理プログラムのユーザーインターフェースにおいて、ユーザーの指示に基づいて処理対象となる文書を選択する選択工程と、
前記情報処理装置の取得手段が、前記文書の入力元を取得する取得工程と、
前記情報処理装置の表示制御手段が、前記第１処理プログラムのユーザーインターフェースにおける前記複数の機能のうち、前記取得工程で取得された入力元に応じて制限される機能をユーザーが選択できないように前記第１処理プログラムのユーザーインターフェースの表示を変更する表示制御工程と
を備え、
前記表示制御工程では、さらに、前記選択工程で選択された文書が、第２処理プログラムに送信されるべき文書である場合、前記第１処理プログラムのユーザーインターフェースにおける前記複数の機能のうち、前記第２処理プログラムが必要とする情報が失われる処理に関する機能をユーザーが選択できないように前記第１処理プログラムのユーザーインターフェースの表示を変更することを特徴とする制御方法。
【請求項６】
前記第２処理プログラムが必要とする情報が失われる機能とは、文書の削除を指示するための機能であることを特徴とする請求項５に記載の制御方法。
【請求項７】
前記選択工程により選択された文書に対する処理が完了したことが指示された場合、前記第２処理プログラムによって監視されるフォルダーに処理済みの文書を記憶する記憶工程を更に備えることを特徴とする請求項５または６に記載の制御方法。
【請求項８】
前記第２処理プログラムは、複数の処理を文書に対して適用するためのワークフローを生成するアプリケーションであることを特徴とする請求項５乃至７のいずれか１項に記載の制御方法。
【請求項９】
コンピュータを、請求項１乃至４のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶した、コンピュータ読み出し可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の文書処理プログラム間でデータの受け渡しを行う文書処理システムにおいて、文書処理プログラムのユーザーインターフェースを制御する方法に関する。
【背景技術】
【０００２】
ユーザーは、文書に対して複数の文書処理プログラムを用いて複数の処理を適用することができる。例えば、スキャン文書に対して文書処理プログラム１、文書処理プログラム２および文書処理プログラム３が処理を実行する文書処理システム（以下、ワークフローシステム）があるとする。
【０００３】
ワークフローシステムにおいて、はじめに文書処理プログラム１は、スキャン画像を文書として受信する。次に文書処理プログラム２は、その文書に対して編集処理（たとえば属性の変更）などを行う。続けて、文書処理プログラム３は、文書に対してＯＣＲ処理などを施し、最終成果物としての文書を作成するといったことが可能となる。なお、上記のように異なるプログラム間で連続した文書処理を行う際、プログラム間で文書の受け渡しの処理をプログラムしておくことでプログラム間での文書の受け渡しが可能である。さらには、ホットフォルダーと呼ばれる２つのプログラムが共に参照可能なフォルダーを介してデータを受け渡すことが行われている（たとえば、特許文献１）。
【０００４】
上記のようなワークフローシステムの場合、受け取り側のプログラム２が、ホットフォルダーについて文書の生成を監視する。一方、送り側のプログラム１は、監視されているホットフォルダーに処理が完了した文書を置くことで受け取り側プログラム２が文書を取得する。これにより文書の受け渡しが可能となる。送り側プログラムと受け取り側プログラムの間に、データ受け渡し処理をあらかじめプログラムしておく必要が無いため、システム間通信を定義するなどの実装が不要で、おのおの独立のシステムとして作成できる利点がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１１８０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ワークフローシステムを構成する文書処理プログラムがユーザーインターフェースを備えており、ユーザーの操作により複数の編集処理が可能な場合、誤った操作が実行されることでワークフローに不整合が発生してしまうことがあった。たとえば、前述のワークフローシステムにおいて、文書処理プログラム２がユーザーインターフェースを備えており、複数の編集処理が可能であるとする。本来は、文書処理プログラム２では、例えば、文書の属性（たとえば、文書名）を変更する処理を行い、文書処理プログラム３に文書を受け渡す必要がある。しかし、文書処理プログラム２でユーザーにより文書そのものが削除されてしまうと、文書処理プログラム３へ送信すべき文書が失われるため、満たすべきワークフローの実現が不可能となり、ワークフローシステムとして不整合が発生してしまう。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本願発明は、第１処理プログラムを実行する情報処理装置であって、複数の機能を実行可能な前記第１処理プログラムのユーザーインターフェースにおいて、ユーザーの指示に基づいて処理対象となる文書を選択する選択手段と、前記文書の入力元を取得する取得手段と、前記第１処理プログラムのユーザーインターフェースにおける前記複数の機能のうち、前記取得手段により取得された入力元に応じて制限される機能をユーザーが選択できないように前記第１処理プログラムのユーザーインターフェースの表示を変更する表示制御手段と、を備え、前記表示制御手段は、さらに、前記選択手段により選択された文書が、第２処理プログラムに送信されるべき文書である場合、前記第１処理プログラムのユーザーインターフェースにおける前記複数の機能のうち、前記第２処理プログラムが必要とする情報が失われる処理に関する機能をユーザーが選択できないように前記第１処理プログラムのユーザーインターフェースの表示を変更することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、必要となる情報が失われることを防止することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るワークフローシステムを構成するＰＣのハードウェア構成図
【図２】本発明の実施形態に係るワークフローシステムを構成するＰＣのソフトウェア構成図
【図３】本発明の実施形態に係るワークフローシステムを構成するＰＣのソフトウェア構成図
【図４】本発明の実施形態に係るワークフローの処理の開始を行う処理手順を示したフローチャート
【図５】本発明の実施形態に係る文書処理プログラムＡ２０５が、処理フォルダーおよび文書の選択を行う処理手順を示したフローチャート
【図６】（ａ）本発明の実施形態に係る処理情報ファイルの一例を模式的に示した図（ｂ）本発明の実施形態に係る処理情報ファイルのデータ形式の一例を示した図
【図７】（ａ）本発明の実施形態に係るエラー情報ファイルの一例を模式的に示した図（ｂ）本発明の実施形態に係るエラー情報ファイルのデータ形式の一例を示した図
【図８】本発明の文書処理プログラムＡ２０５のユーザーインターフェースの例を示した図である。
【図９】本発明の実施形態に係る文書処理プログラムＡ２０５が実行するフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１１】
［システム構成］
本実施例では、本実施形態に係るワークフローシステムの全ての機能を一般的な情報処理装置（ＰＣ）によって実現する。
【００１２】
［ハードウェア構成］
図１に、本発明の実施形態に係るワークフローシステムを構成するＰＣのハードウェア構成図を示す。図１に示されるハードウェア構成は一般的な情報処理装置のハードウェア構成図に相当し、本実施形態のＰＣ１１０には一般的な情報処理装置のハードウェア構成を適用できる。
【００１３】
図１において、ＣＰＵ１００は、ＲＯＭ１０２のプログラム用ＲＯＭに記憶された、或いはハードディスク１０９からＲＡＭ１０１にロードされたオペレーティングシステム（ＯＳ）やアプリケーション等のプログラムを実行する。後述する各フローチャートの処理はＣＰＵ１００がプログラムを実行することにより実現する。
【００１４】
ＲＡＭ１０１は、ＣＰＵ１００の主メモリ、ワークエリア等として機能する。キーボードコントローラ１０３は、キーボード１０８やマウスなど、図示しないポインティングデバイスからの入力を制御する。ディスプレイコントローラ１０４は、各種ディスプレイ１０７の表示を制御する。ディスクコントローラ１０５は、各種データを記憶するハードディスク（ＨＤＤ）１０９やフロッピー（登録商標）ディスク（ＦＤＤ）等におけるデータアクセスを制御する。ネットワークコントローラ１０６はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００１５】
［ソフトウェア構成］
図２および図３に、本発明の実施形態に係るワークフローシステムを構成するＰＣのソフトウェア構成図を示す。本実施形態に係るワークフローシステムは、ハードウェア構成で説明したように全ての機能をＰＣ１１０上で実行されるプログラムによって実現される。
【００１６】
ＰＣ１１０は、画面表示管理２０１、ユーザー入力管理２０２、ファイルシステム２０３、ワークフロー管理プログラム２０４（第２処理プログラム）、文書処理プログラムＡ２０５（第１処理プログラム）、文書処理プログラムＢ２０６から構成される。
【００１７】
ワークフロー管理プログラム２０４は文書に対して複数の処理を実行するためのワークフローを生成する。例えば、ワークフロー管理プログラム２０４は、複数の処理を全てワークフロー管理プログラム２０４で実行するワークフローを生成することもできるし、複数の処理の一部を実行し、その他の処理を他のプログラムが実行するようなワークフローも生成できる。例えば、ワークフロー管理プログラム２０４は、その他の処理を実行するプログラムとして文書処理プログラムＡ２０５、Ｂ２０６を指定したワークフローを生成できる。例えば、ワークフロー管理プログラム２０４が、複数の処理の１つ目の処理を文書に対して実行する。そして、その処理が適用された文書に対して文書処理プログラムＡ２０５が２つ目の処理を実行し、さらに文書処理プログラムＢが２つ目の処理を実行し、その処理結果をワークフロー管理プログラムに送信する。これにより、文書に対して複数の処理が実行されワークフローの処理が完結する。
【００１８】
ファイルシステム２０３は、ハードディスク１０９に文書などをファイルとして保存・取得する。ユーザー入力管理２０２は、ユーザーによるキーボード／マウス１０８への操作を検知して、操作に応じてワークフロー管理プログラム２０４、
文書処理プログラムＡ２０５、文書処理プログラムＢ２０６に対する指示を行う。画面表示管理２０１はワークフロー管理プログラム２０４、
文書処理プログラムＡ２０５、文書処理プログラムＢ２０６の動作結果をディスプレイ１０７に表示する。
【００１９】
文書に対するワークフローを生成するワークフロー管理プログラム２０４は、ワークフロー作成部３０１、文書管理部３０２、ワークフロー実行部３０３、ホットフォルダー管理部３０４から構成される。
【００２０】
ワークフロー作成部３０１は、ユーザー入力管理２０２のワークフロー作成指示に従い文書に対するワークフローを作成する。文書管理部３０２は、文書をファイルとして管理し、ユーザー入力管理２０２のファイル操作実行指示に従い文書のファイル操作を実行する。
【００２１】
ワークフロー実行部３０３は、ユーザー入力管理２０２のワークフロー実行指示に従い文書のワークフロー処理を開始する。ホットフォルダー管理部３０４は、処理が完了もしくはエラーが発生した場合に文書が格納されるホットフォルダーを監視して入力文書を待つ。ホットフォルダー内に文書が生成された場合、ホットフォルダー管理部３０４は、文書管理部３０２に文書の入力処理実行を指示する。なお、本願では、ワークフロー管理プログラム２０４、文書処理プログラムＡ２０５、文書処理プログラムＢ２０６が同じＰＣ上で動作する例を用いて説明している。しかし、ワークフロー管理プログラム２０４が、ＰＣとは別のサーバで動作しても良い。
【００２２】
文書に対する第１の処理を行う文書処理プログラムＡ２０５は、文書編集部３１１、文書管理部３１２、ＵＩ管理部３１３、ワークフロー管理部３１４、ホットフォルダー管理部３１５から構成される。
【００２３】
文書編集部３１１は、ユーザー入力管理２０２の編集実行指示に従い文書の編集を実行する。
【００２４】
文書管理部３１２は、ユーザー入力管理２０２のファイル操作実行指示に従い文書のファイル操作を実行する。ＵＩ管理部３１３は、画面表示管理モジュール２０１に対して文書の各種編集や文書の移動を行うためのＵＩの表示を指示する。ワークフロー管理部３１４は、ワークフロー処理対象の文書情報を参照し、ＵＩ管理部３１３に対してＵＩ表示の切り替えを指示する。ホットフォルダー管理部３１５は、受信用のホットフォルダーを監視して入力文書を待ち受け、ホットフォルダー内に文書が生成されると、文書管理部３１２に文書の入力処理実行を指示する。
【００２５】
文書に対する第２の処理を行う文書処理プログラムＢ２０６は、文書編集部３２１、文書管理部３２２、ホットフォルダー管理部３２３から構成される。
【００２６】
文書編集部３２１は、ユーザー入力管理２０２の編集実行指示に従い文書の編集を実行する。
【００２７】
文書管理部３２２は、ユーザー入力管理２０２のファイル操作実行指示に従い文書のファイル操作を実行する。ホットフォルダー管理部３２３は、受信用のホットフォルダーを監視して入力文書を待ち受け、ホットフォルダー内に文書が生成されると、文書管理部３２２に文書の入力処理実行を指示する。
【００２８】
［処理の流れ］
図２および図３のソフトウェア構成図と図４、５のフローチャートを用いて、本発明の実施形態に係るワークフローシステムにおいての文書移動およびＵＩ制御の流れについて説明する。なお、本実施例においてワークフロー管理プログラム２０４が実行するワークフローは、文書の編集が可能なユーザーインターフェースをもつ文書処理プログラムＡ２０５において第１の文書処理が行われる。続けてユーザーインターフェースを持たない文書処理プログラムＢ２０６にて第２の文書処理が行われる。もちろん、処理の順番や処理内容及び回数を変更しても本発明は適用可能である。
【００２９】
なお、本願のフローチャートの各ステップは、ＰＣ１１０のＣＰＵ１００が関連するプログラムをメモリから読みだして実行することで実現される。
【００３０】
ユーザーがキーボード／マウス１０８を用いてワークフロー管理プログラム２０４のワークフロー実行操作を指示すると、ユーザー入力管理２０２はキーボード／マウス１０８に対する操作を検知する。ワークフロー管理プログラム２０４に対してワークフロー実行が指示される。指示を受けたワークフロー管理プログラム２０４は、図４に示すフローチャートに従ってワークフローの実行を開始する。
【００３１】
ステップＳ４０１では、ホットフォルダー管理部３０４が、第１の文書処理プログラムＡ２０５のホットフォルダー管理部３１５の設定したホットフォルダーの位置を取得する。なお、ホットフォルダーの位置に関する情報は、レジストリーまたは設定ファイルを使用する構成が可能であり、ホットフォルダー管理部３１５により本処理を実行する前に予め設定されているものとする。
【００３２】
ステップＳ４０２では、ワークフロー実行部３０３が図６に示す処理情報ファイルを作成し、指示された文書と処理情報ファイルとをステップＳ４０１で取得したホットフォルダーの位置に格納する。
【００３３】
図６（ａ）は、処理情報ファイルの一例を模式的に示した図である。項目６０１と値６０２が列挙される形態を取る。ドキュメントＩＤ６０３には処理対象の文書のＩＤが格納されている。ファイルパス６０４には、処理対象の文書のファイルパスが格納されている。入力元６０５には文書を格納したモジュール名など入力者を特定するための情報が格納されている。ファイル返却先６０６には、処理された文書や後述するエラー情報ファイルを格納するフォルダーパスが格納されている。ファイル返却先の情報を空欄とすることで、返却が不要であることを指定できる。本願では、文書処理プログラムＡ２０５により編集された文書は、ホットフォルダーを介してワークフロー管理プログラム２０４に送信される。そのため、ファイル返却先６０６には、ワークフロー管理プログラム２０４が管理するホットフォルダーのファイルパスが記述されている。変換形式６０７には、処理対象の文書の返却時の文書フォーマットの種類（たとえば拡張子）が格納されている。属性情報６０８には、処理対象の文書が保持している属性（プロパティー）情報が格納されている。属性情報６０８には、さらに属性の種類ごとに値や表示するか否か、編集可否などが格納されている。実際のプログラムにおいては、図６（ｂ）に示されるＸＭＬと呼ばれるデータ形式で処理情報ファイルを表現することが可能である。なお、処理情報ファイルは、ワークフロー管理プログラムにより提供されるユーザーインターフェースを介してユーザーにより入力された設定情報等に基づいて生成される。例えば、変換形式等は、ユーザーにより指定される。
【００３４】
ステップＳ４０３からＳ４１０の処理については、ステップＳ４０２で文書と処理情報ファイルが格納されたホットフォルダーを管理する第１の文書処理プログラムＡ２０５が行う。ステップＳ４０３では、ホットフォルダー管理部３１５は、格納された文書及び処理情報ファイルについてファイルの検証を行う。具体的には、文書処理プログラムＡ２０５が文書を参照できるか（参照権限が正しいか）否か、および、処理情報ファイルのフォーマットが正しいか否かを判定する。処理情報ファイルに必須の情報が不足している場合には正しくないと判定する。なお、処理情報ファイルのフォーマットの情報は文書処理プログラムＡ２０５が一意にプログラムファイル内に保持しており、文書処理プログラムＡ２０５が検証時に使用する。本ステップＳ４０３での検証時には合わせて文書の種類が編集可能かを判定してもよい。その場合、編集可能なファイルの種類は文書処理情報ファイルのフォーマットの情報は文書処理プログラムＡ２０５が一意にプログラムファイル内に保持してもよいし、レジストリーなどに保持してもよい。判定の結果正しい（文書処理が可能）と判定された場合にはステップＳ４０７へ進み、正しくないと判定された場合にはステップＳ４０４に進む。
【００３５】
ステップＳ４０４では、ホットフォルダー管理部３１５は図７に示すエラー情報ファイルを作成し、ステップＳ４０５において処理情報ファイルを参照し、出力先フォルダーパスを取得する。さらに、ステップＳ４０６で、ホットフォルダー管理部３１５は、エラー情報ファイルを出力先フォルダーに格納し、処理を終了する。なお、格納後任意のタイミングでワークフロー管理プログラム２０４は、ステップＳ４０６で格納したエラー情報ファイルを参照することで、実行したワークフローのエラー内容を特定できる。
【００３６】
図７（ａ）は、エラー情報ファイルの一例を模式的に示した図である。項目７０１と値７０２が列挙される形態を取る。ドキュメントＩＤ７０３にはエラーの発生した文書のＩＤが値として格納されている。エラー情報７０４には、発生したエラーの内容が格納されている。実際のプログラムにおいては、図７（ｂ）に示されるＸＭＬと呼ばれるデータ形式で情報を表現することが可能である。
【００３７】
ステップＳ４０７では、ホットフォルダー管理部３１５は処理情報ファイルの変換形式６０７を参照しフォーマット変換が必要か否かを判定し、必要と判定した場合にはステップＳ４１０に進み、不要と判断した場合にはステップＳ４０８に進む。判定方法の詳細としては、例えば、変換形式に記載された特定の種類（拡張子）が、入力された文書の拡張子と異なる場合にフォーマットの変換が必要であると判断する。一方、変換形式が自由であることを意味する値（たとえばＶａｒｉａｂｌｅ、空欄）や入力された文書のフォーマットを維持するということを意味する値（たとえばＯｒｉｇｉｎａｌ）である場合、ホットフォルダー管理部３１５は、変換を不要と判断する。ステップＳ４０８では、ホットフォルダー管理部３１５は文書処理プログラムＡ２０５の処理フォルダーパスを取得する。なお、処理フォルダーとは、図３のホットフォルダー管理部３０４に記憶された文書の転送先である。また、ワークフロー管理プログラム２０４からの指示に従って文書処理プログラムＡ２０５が編集した文書は、この処理フォルダーに格納される。処理フォルダーパスの値は、文書処理プログラムＡ２０５が一意にプログラムファイル内やレジストリーに保持してもよいし、ユーザーによるフォルダーパスの設定を可能にし、ファイルとして保持してもよい。
【００３８】
ステップＳ４０９では、ホットフォルダー管理部３１５は処理済みの文書と処理情報ファイルを処理フォルダーに移動し、処理を終了する。
【００３９】
ステップＳ４１０では、ホットフォルダー管理部３１５はステップＳ４０７で参照した変換形式の種類に従って文書フォーマットの変換処理を実行する。本実施例では、文書に対する第１の処理を実行する前に、フォーマットの変換を行っているが文書に対する第１の処理を実行してから変換する構成としてもよい。
【００４０】
ステップＳ４０９の後、文書処理プログラムＡ２０５は、文書と処理情報ファイルの送信元であるホットフォルダーに対して、編集済みの文書と処理情報ファイルを格納する。
【００４１】
これにより、ワークフロー管理プログラムは、ホットフォルダーを監視することでホットフォルダーへ格納された編集済みの文書を取得できる。なお、文書処理プログラムＡ２０５は、ホットフォルダーのファイルパスを一意に認識しても良いし、ファイル情報ファイルのファイル返却先の情報を用いてホットフォルダーのファイルパスを認識しても良い。
【００４２】
ユーザーがキーボード／マウス１０８に対して文書処理プログラムＡ２０５のフォルダー選択操作を指示すると、ユーザー入力管理２０２はキーボード／マウス１０８を用いて操作を検知して、文書処理プログラムＡ２０５に対してフォルダー選択操作を指示する。指示を受けた文書処理プログラムＡ２０５は、図５に示すフローチャートに従ってフォルダー選択操作の実行を開始する。
【００４３】
ステップＳ５０１では、ワークフロー管理部３１４は選択されたフォルダーが処理フォルダーであるか否かを判定する。処理フォルダーの場合にはステップＳ５０２に進み、処理フォルダーでない場合には、ステップＳ５１５に進む。
【００４４】
ステップＳ５０２では、ワークフロー管理部３１４は、選択された処理フォルダーで制限されている機能を取得する。なお、処理フォルダーで制限されている機能については、文書処理プログラムＡ２０５が一意にプログラムファイル内やレジストリーに保持する形をとることが可能である。例えば、処理フォルダーが選択されている状態では新規フォルダーの作成ができないようにメニュー画面が表示される。また、複数の入力元からの文書の格納を可能とする場合、処理情報ファイルの入力元６０５を参照し、入力元に応じて制限する機能を変更しても良い。入力元に応じて制限する機能を変更する場合、文書処理プログラムＡ２０５は、各入力元について制限する機能が記述されたファイルを参照することにより制限する機能を変更する。
【００４５】
続けてステップＳ５０３では、ワークフロー管理部３１４はＵＩ管理部３１３を通じて、制限されている機能のＤｉｓａｂｌｅ処理を行う。ここでいう、Ｄｉｓａｂｌｅ処理とは機能の関連付けされているユーザーインターフェースの機能ボタンを選択できないように制御することを指す。たとえば、処理フォルダー内に新規にフォルダーを作成する機能を不可とする場合、不図示の関連付けされているメニュー項目フォルダーの作成をＤｉｓａｂｌｅ処理する。
【００４６】
ステップＳ５０４では、ワークフロー管理部３１４は、処理フォルダー内に存在する処理情報ファイルを取得し、Ｓ５０５において処理情報ファイルからファイルパス６０４を取得する。ステップＳ５０６では、ワークフロー管理部３１４は、取得したファイルパスに保持されているファイルのファイル名を文書名として、ＵＩ管理部３１３を通じて、表示し、文書処理プログラムＡ２０５はイベント待機状態へと遷移する。なお、イベント待機状態とはユーザーからの操作入力待ちの状態である。
【００４７】
ステップＳ５０７は、ユーザーがキーボード／マウス１０８を用いて文書処理プログラムＡ２０５になんらかの操作を指示すると、ユーザー入力管理２０２はキーボード／マウス１０８に対する操作を検知することで開始される。ユーザー入力管理２０２により、処理フォルダー内の文書の選択を文書処理プログラムＡ２０５が受け付けた場合、ステップＳ５０８に進み、それ以外の処理が指示された場合はステップＳ５１７に進む。ステップＳ５０８では、ワークフロー管理部３１４は、処理情報ファイルのファイル返却先６０６を取得する。続けてステップＳ５０９では、ワークフロー管理部３１４は、ファイル返却先６０６を参照し、処理対象の文書を戻す必要があるか否かを判定し、戻す必要がある場合にはステップＳ５１０に進み、戻す必要がない場合にはステップＳ５１２に進む。つまり、文書処理プログラムＡ２０５が、自ら処理した文書をワークフロー管理プログラムに送信する必要がない場合、文書処理プログラムＡ２０５は全ての機能をユーザーが選択できるようなユーザーインターフェースを表示する。なお、ワークフロー管理プログラムに戻す必要がない文書とは、例えば、ＰＣ１１０上で動く文書アプリケーションにより生成された文書や表計算アプリケーションにより生成された文書である。
【００４８】
ステップＳ５１０では、ワークフロー管理部３１４は、文書を戻す場合に制限する機能を取得する。文書を戻す場合に制限されている機能については、文書処理プログラムＡ２０５が一意にプログラムファイル内やレジストリーに保持する形をとることが可能であり、文書を戻す処理が不可能となる機能が該当する。たとえば、文書の削除や文書の移動が該当する。さらに、本ステップＳ５１０では、ステップＳ５０９で参照したファイル返却先６０６に応じて制限する機能を切り替えてもよい。
【００４９】
続けてステップＳ５１１では、ワークフロー管理部３１４はＵＩ管理部３１３を通じて、制限されている機能のＤｉｓａｂｌｅ処理を行う。本ステップＳ５１１では、例えば、禁止されている機能に削除が含まれる場合に、文書のファイル属性を削除禁止にすることでファイルシステム２０３からの削除も禁止するようにしてもよい。ファイル属性の変更を行う際には、入力時のファイル属性を保持する。入力時のファイル属性はファイルとして保持してもよいし、メモリ上に保持する形態をとっても良い。ステップＳ５１２では、ワークフロー管理部３１４は処理情報ファイルの属性情報６０８を取得する。ステップＳ５１３では、ワークフロー管理部３１４は、ＵＩ管理部３１３を通じて文書の属性情報を表示する。なお、ステップＳ５１３では、属性情報６０８の記載内容に応じて表示する内容を切り替えたり、編集可否を切り替えたりすることが可能である。ステップＳ５１４では、文書処理プログラムＡ２０５はイベント待機状態へと遷移し、処理を終了する。
【００５０】
ステップＳ５１５では、文書管理部３１２は選択されたフォルダー内に存在するファイルを取得する。続けてステップＳ５１６で、文書管理部３１２はＵＩ管理部３１３を通じて、ファイル名を文書名として表示する。つまり、特定のフォルダーである処理フォルダーとは異なるフォルダーが選択された場合、文書処理プログラムＡ２０５は、ユーザーが全ての機能を選択可能なユーザーインターフェースを表示する。
【００５１】
ステップＳ５１７では、文書処理プログラムＡ２０５はユーザーの操作に応じた文書選択以外の処理を実行する。
【００５２】
なお、本発明を適用した文書処理プログラムＡ２０５により、第１の文書処理が完了後、
ユーザーがキーボード／マウス１０８を用いて文書処理プログラムＡ２０５のワークフロー処理完了操作を指示する。これにより、ユーザー入力管理２０２はキーボード／マウス１０８に対する操作を検知して、文書処理プログラムＡ２０５に対してワークフロー処理完了処理を指示する。
【００５３】
ホットフォルダー管理部３１５が文書および処理情報をファイル返却先６０６に格納することで文書処理プログラムＡ２０５の処理が完了する。なお、ステップＳ５１１で文書のファイル属性を変更している場合には、文書処理プログラムＡ２０５はファイル属性をステップＳ５１１で保持した入力時のファイル属性の状態に復元する。
【００５４】
ワークフロー管理プログラム２０４のホットフォルダー管理部３０４が文書及び処理情報ファイルの格納を検知し、第２の文書処理プログラムＢ２０６に対して文書処理を指示し、ワークフロー処理を継続する。
【００５５】
本実施例においては、文書処理プログラムＢ２０６も文書処理プログラムＡ２０５と同様に、ホットフォルダー管理部３２３を持つことでホットフォルダーを通じて文書の受け渡しを行う形式をとっている。しかしながら、ファイルパスを通知するなど他かの手段を用いてもよい。
【００５６】
また、本実施例においては、第２の文書処理プログラムＢ２０６はユーザーインターフェースを持たない構成としているが文書処理プログラムＡ２０５同様ユーザーインターフェースを持つ構成としてもよい。その場合には、図５と同様の処理を適用することでワークフローの不整合を発生する機能を制限することが可能である。
【００５７】
図８は、本発明を適用した文書処理プログラムＡ２０５のユーザーインターフェースとして表示される画面の一例を示している。メインウインドウ８００１において、フォルダー表示領域８００２は文書処理プログラムＡ２０５が管理しているフォルダーを表示している。
【００５８】
処理フォルダー８００３は、ワークフローの対象文書を処理するためのフォルダーである。文書表示領域８００４には、フォルダー表示領域８００２で選択されているフォルダーに存在する文書の一覧が表示されている。本図においては処理フォルダー８００３が選択された状態となっており、ステップＳ５０４〜Ｓ５０６の処理により文書の一覧表示が行われる。
【００５９】
選択文書８００５は現在選択されている文書を示しており、選択されている文書に対して印刷８００９、分割８０１０、削除８０１１、処理完了８０１２が操作の対象となる。文書名８００６、タイトル８００７、Ｅ−Ｍａｉｌｌ８００８は選択されている文書８００５の属性情報である。
【００６０】
図８において、タイトル８００７は、属性情報６０８に従い編集が不可能な状態となっている。具体的には、図６（ｂ）において＜ｅｄｉｔａｂｌｅ＞ｆａｌｓｅ＜ｅｄｉｔａｂｌｅ＞を文書処理プログラムＡ２０５が参照することで、タイトルを編集できない図８のようなユーザーインターフェースが表示される。例えば、ワークフロー管理プログラムが、タイトルを使って処理を依頼した文書と処理結果の文書とを対応付けている場合、タイトルが文書処理プログラムＡ２０５において変更されると両者を対応づけられなくなり、ワークフローが正常に完了できなくなるおそれがある。このような場合、ワークフロー管理プログラムが、処理情報ファイルにタイトルについて編集不可とする指示を記述することで図８のようなユーザーインターフェースが表示され、ワークフローが正常に完了できなくなる事態を防止できる。
【００６１】
印刷８００９は処理対象の文書を印刷するための機能ボタンである。分割８０１０は処理対象の文書を分割するための機能ボタンである。削除８０１１は処理対象の文書を削除するための機能ボタンである。処理完了８０１２は、文書処理プログラムＡ２０５での処理完了後に、ワークフローの処理を文書処理プログラムＡ２０５からワークフロー管理プログラムへ戻すための機能である。つまり、処理完了８０１２が指示されることにより、文書処理プログラムＡ２０５は、処理した文書をワークフロー管理プログラムにより管理されているホットフォルダーへ格納することにより、処理した文書をワークフロー管理プログラムへ送信できる。
【００６２】
また、文書処理プログラムＡ２０５は、制限情報として処理フォルダー内の文書の削除を禁止しているため、図８のように削除８０１１（所定の機能に相当）が選択できないようなユーザーインターフェースが表示される。
【００６３】
以上の手順に従うことで、ワークフローシステムの処理プログラムにユーザーインターフェースを持つプログラムが存在する場合にも、ワークフローの不整合を発生させる機能を制限することが可能となり、不整合の発生を防ぐことが可能となる。さらに、不整合を発生させる機能を制限する条件を文書の入力元や文書を戻すか否かを合わせて考慮することで種類の異なるワークフローシステムが混在する環境においても不整合の発生を防ぐことが可能となる。
【実施例２】
【００６４】
実施例１では、制限された機能について、ユーザーインターフェースで機能が選択できないように制御したが、制限された機能が実行されたことでエラー情報を生成し、ワークフローシステムに通知するようなフローとすることも可能である。なお、本実施例では実施例１との差異について詳細な説明を行い、特に説明のない点は実施例１と同等である。
【００６５】
図９を用いて、文書処理プログラムＡ２０５（第１処理プログラム）が実行するエラーを通知する場合の処理の流れについて、実施例１との違いについて特に説明する。なお、システムの構成は実施例１と同じである。
【００６６】
本実施例では、ＵＩのＤｉｓａｂｌｅ処理を行わないためステップＳ５０２の処理後はステップステップＳ５０４へ進み、ステップＳ５１０の処理後はステップステップＳ５１２へ進む。
【００６７】
ステップＳ５１４にて、イベント待機状態へと遷移後、ユーザーにより機能が実行されるとステップＳ９０１へ進む。
【００６８】
ユーザーがキーボード／マウス１０８を用いて文書処理プログラムＡ２０５になんらかの操作を指示すると、ユーザー入力管理２０２はキーボード／マウス１０８に対する操作を検知することでＳ９０１の処理が開始される。
【００６９】
ユーザー入力管理２０２により、処理フォルダー内の選択文書の制限された機能の実行を文書処理プログラムＡ２０５が受け付けた場合、ステップＳ９０２に進み、それ以外の処理が指示された場合はステップＳ９０５に進む。ステップＳ９０２では、ワークフロー管理部３１４は図７に示すエラー情報ファイルを作成し、ステップＳ９０３において処理情報ファイルを参照し、出力先フォルダーパスを取得する。
【００７０】
さらに、ステップＳ９０４で、ワークフロー管理部３１４は、エラー情報ファイルを出力先フォルダーに格納し、処理を終了する。なお、格納後任意のタイミングでワークフロー管理プログラム２０４は、格納されたエラー情報ファイルを参照することで、実行したワークフローのエラー内容を特定できる。
【００７１】
本実施例において、ワークフローに不整合が発生した場合でも、発生したエラー内容を特定しユーザーに通知することが可能となる。一方、制限されている機能として削除機能が存在した場合、ファイルを削除することで、ワークフローを意図的に中止することも可能となる。
【００７２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７３】
２０４  ワークフロー管理プログラム
２０５  文書処理プログラムＡ
【図１】
0005843514.tif 000002
【図２】
0005843514.tif 000003
【図３】
0005843514.tif 000004
【図４】
0005843514.tif 000005
【図５】
0005843514.tif 000006
【図６】
0005843514.tif 000007
【図７】
0005843514.tif 000008
【図８】
0005843514.tif 000009
【図９】
0005843514.tif 000010