JP2011197834A - Screen control system, server, and screen control method - Google Patents
Screen control system, server, and screen control method Download PDFInfo
- Publication number
- JP2011197834A JP2011197834A JP2010061684A JP2010061684A JP2011197834A JP 2011197834 A JP2011197834 A JP 2011197834A JP 2010061684 A JP2010061684 A JP 2010061684A JP 2010061684 A JP2010061684 A JP 2010061684A JP 2011197834 A JP2011197834 A JP 2011197834A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- information
- data
- display
- displayed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、画面の表示制御を行う画面制御システム、サーバ、及び画面制御方法に関する。 The present invention relates to a screen control system, a server, and a screen control method for performing screen display control.
近年、ドキュメントを業務の中で活用するようなアプリケーションが増えている。そのため、一般的なExplorerのようなファイル管理ではなく、業務アプリケーションのようなUIを利用して、ドキュメントを扱うことが求められている。 In recent years, applications that use documents in business are increasing. For this reason, it is required to handle documents using a UI such as a business application instead of file management like a general Explorer.
複合機(MFP:Multifunction Peripheral)も、このような業務連携の利用方法が増え、顧客からの注文書、申込書などの紙ドキュメントを業務アプリケーションに連動する形でシステムに取り込みたいというニーズが顕在化しつつある。様々な業務において、様々なドキュメントが利用されているが、例えば、受注管理に適したUI、図面管理に適したUIなどは異なっていると言える。 With multifunction peripherals (MFPs), the use of such business collaboration has increased, and the need to incorporate paper documents such as purchase orders and application forms from customers into the system has become apparent. It's getting on. Various documents are used in various businesses, but it can be said that, for example, a UI suitable for order management and a UI suitable for drawing management are different.
UIを制御して業務を効率化する技術として、例えば、特許文献1では、複合機において、GUIに配置可能なボタン等の各画面構成要素について、その画面構成要素と対応する1以上のキーワードを記憶させることで、キーワードから画面構成要素を抽出可能にし、編集操作の効率を改善する技術が開示されている。
For example, in
一方、Webアプリにおいて、Webアプリ上でUIのカスタマイズするGoogle(登録商標)のiGoogle(登録商標)などが開発されている。 On the other hand, as a Web application, iGoogle (registered trademark) of Google (registered trademark) for customizing UI on the Web application has been developed.
しかしながら、前述した従来の業務アプリケーションでは、個々の業務に特化したカタチでDB(データベース)設計がなされ、アプリケーションが開発されていた。例えば、ドキュメント管理のアプリケーションでは、文書タイプごとにメタデータを付与するレベルに留まり、業務にあわせてUIを変更するためには、大規模なSIなどのカスタマイズが必要となる。 However, in the above-described conventional business application, a DB (database) design is made in a form specialized for each business, and the application is developed. For example, a document management application stays at a level where metadata is assigned for each document type, and in order to change the UI according to business, customization such as a large-scale SI is required.
MFPからスキャンした画像をシステムに取り込む際には、個別のMFP上で動作するアプリケーションを開発するか、MFPの操作パネル上で動作するWebブラウザ(以下、MFPブラウザともいう)などを利用して、MFP向けのWeb画面を開発するといった方法があるが、どちらも容易ではなかった。 When importing an image scanned from an MFP into the system, an application that operates on an individual MFP is developed, or a Web browser (hereinafter also referred to as an MFP browser) that operates on the operation panel of the MFP is used. There is a method of developing a Web screen for MFP, but neither is easy.
また、PC用ブラウザでは、Ajax(Asynchronous JavaScript(登録商標)+ XML)などを利用できるが、現在のMFP用ブラウザなどの組み込み用ブラウザでは、シンプルなHTMLのレンダリングしか出来ない場合もある。 In addition, Ajax (Asynchronous JavaScript (registered trademark) + XML) or the like can be used in the browser for the PC, but there are cases where the built-in browser such as the MFP browser can only perform simple HTML rendering.
また、例えば多数の装置が接続され、大量のデータを短時間で扱う基幹システムについては、各装置に対して適切なUI画面を表示させたいが、様々な画面を全て保存することは非効率である。 For example, in a backbone system in which a large number of devices are connected and handle a large amount of data in a short time, it is desirable to display an appropriate UI screen for each device, but saving all the various screens is inefficient. is there.
そこで、本発明は、上記問題点に鑑みてなされたものであり、各装置に対応するUI画面を適切に表示制御することができる画面制御システム、情報処理装置、及び画面制御方法を提供することを目的とする。 Therefore, the present invention has been made in view of the above problems, and provides a screen control system, an information processing apparatus, and a screen control method capable of appropriately displaying and controlling a UI screen corresponding to each apparatus. With the goal.
本発明における一態様の画面制御システムは、情報処理装置と、画像形成装置と、サーバとが接続された画面制御システムであって、前記サーバは、画面のUI部品が定義されているUI定義情報を画面毎に記憶する第1記憶手段と、前記UI部品に表示する表示データを記憶する第2記憶手段と、前記情報処理装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報と、該UI定義情報に含まれるUI部品に表示する表示データを非同期通信で取得するためのプログラムとを含む第1画面情報を生成する第1生成手段と、前記画像形成装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報に含まれるUI部品に表示する表示データをレンダリング関数を用いて取得し、該UI部品及び該UI部品に表示する表示データを含む画面を描画する第2画面情報を生成する第2生成手段と、前記第1生成手段により生成された第1画面情報を前記情報処理装置に送信し、又は、前記第2生成手段により生成された第2画面情報を前記画像形成装置に送信する送信手段と、を備える。 The screen control system according to one aspect of the present invention is a screen control system in which an information processing apparatus, an image forming apparatus, and a server are connected, and the server includes UI definition information in which UI parts of the screen are defined. For each screen, first storage means for storing display data, second storage means for storing display data to be displayed on the UI component, and when a screen display request is received from the information processing apparatus, First generation means for generating first screen information including corresponding UI definition information and a program for acquiring display data to be displayed on a UI component included in the UI definition information by asynchronous communication, and the image forming apparatus When a display request is received from the screen, display data to be displayed on the UI component included in the UI definition information corresponding to the screen that has received the display request is acquired using a rendering function, and the UI A second generation unit for generating second screen information for drawing a screen including display data to be displayed on the product and the UI component, and the first screen information generated by the first generation unit is transmitted to the information processing apparatus. Or transmission means for transmitting the second screen information generated by the second generation means to the image forming apparatus.
また、本発明における他の局面のサーバは、情報処理装置と、画像形成装置とに接続されるサーバであって、画面のUI部品が定義されているUI定義情報を画面毎に記憶する第1記憶手段と、前記UI部品に表示する表示データを記憶する第2記憶手段と、前記情報処理装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報と、該UI定義情報に含まれるUI部品に表示するデータを非同期通信で取得するためのプログラムとを含む第1画面情報を生成する第1生成手段と、前記画像形成装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報に含まれるUI部品に表示する表示データをレンダリング関数を用いて取得し、該UI部品及び該UI部品に表示する表示データを含む画面を構成する第2画面情報を生成する第2生成手段と、前記第1生成手段により生成された第1画面情報を情報処理装置に送信し、又は、前記第2生成手段により生成された第2画面情報を画像形成装置に送信する送信手段と、を備える。 A server according to another aspect of the present invention is a server connected to the information processing apparatus and the image forming apparatus, and stores UI definition information in which UI parts of the screen are defined for each screen. Storage means, second storage means for storing display data to be displayed on the UI component, UI definition information corresponding to the screen that has received the display request when receiving a display request for the screen from the information processing apparatus, A first generation unit that generates first screen information including a program for acquiring data to be displayed on a UI component included in UI definition information by asynchronous communication; and a screen display request from the image forming apparatus The display data to be displayed on the UI component included in the UI definition information corresponding to the screen for which the display request has been received is acquired using a rendering function, and the display data to be displayed on the UI component and the UI component is obtained. Second generation means for generating second screen information constituting the screen, and the first screen information generated by the first generation means is transmitted to the information processing apparatus or generated by the second generation means Transmitting means for transmitting the second screen information to the image forming apparatus.
また、本発明における他の局面の画面制御方法は、情報処理装置と、画像形成装置とに接続され、画面のUI部品が定義されているUI定義情報を画面毎に記憶する第1記憶手段と、前記UI部品に表示する表示データを記憶する第2記憶手段とを備えるサーバにおける画面制御方法であって、前記情報処理装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報と、該UI定義情報に含まれるUI部品に表示するデータを非同期通信で取得するためのプログラムとを含む第1画面情報を生成する第1生成ステップと、前記画像形成装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報に含まれるUI部品に表示するデータをレンダリング関数を用いて取得し、該UI部品及び該UI部品に表示するデータを含む画面を構成する第2画面情報を生成する第2生成ステップと、前記第1生成ステップにより生成された第1画面情報を前記情報処理装置に送信し、又は、前記第2生成ステップにより生成された第2画面情報を前記画像形成装置に送信する送信ステップと、を有する。 The screen control method according to another aspect of the present invention includes a first storage unit that is connected to the information processing apparatus and the image forming apparatus and stores UI definition information in which UI parts of the screen are defined for each screen. A screen control method in a server comprising second storage means for storing display data to be displayed on the UI component, wherein when a screen display request is received from the information processing apparatus, the screen corresponding to the display request is received A first generation step of generating first screen information including UI definition information to be performed and a program for acquiring data to be displayed on a UI component included in the UI definition information by asynchronous communication; and a screen from the image forming apparatus. When the display request is received, data to be displayed on the UI component included in the UI definition information corresponding to the screen that has received the display request is acquired using a rendering function, and the UI component and A second generation step of generating second screen information constituting a screen including data to be displayed on the UI component, and transmitting the first screen information generated by the first generation step to the information processing apparatus, or A transmission step of transmitting the second screen information generated by the second generation step to the image forming apparatus.
本発明によれば、各装置に対応するUI画面を適切に表示制御することができる画面制御システム、情報処理装置、及び画面制御方法を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the screen control system, information processing apparatus, and screen control method which can display-control appropriately the UI screen corresponding to each apparatus can be provided.
以下、添付図面を参照して、本発明に係る画面制御システム、情報処理装置(サーバ)、画面制御方法の実施例を詳細に説明する。 Embodiments of a screen control system, an information processing apparatus (server), and a screen control method according to the present invention will be described below in detail with reference to the accompanying drawings.
また、以下に示す実施例では、画像データを入力する画像入力装置として、情報処理装置、又はプリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能を一つの筐体に搭載した複合機を例にあげて説明する。しかし、これらに限定されるものではなく、画像データを入力可能であれば、表示画面を有するスキャナ装置、ファクシミリ装置、コピー装置などいずれにも適用することができる。 In the following embodiment, as an example of an image input device for inputting image data, an information processing device or a multifunction device having a printer function, a scanner function, a copy function, and a facsimile function mounted in one housing is taken as an example. explain. However, the present invention is not limited to these, and the present invention can be applied to any of a scanner device, a facsimile device, and a copy device having a display screen as long as image data can be input.
[実施例]
<システムとハードウェア>
図1は、実施例における画面制御システム100の一例を示す図である。図1に示すように、画面制御システム100は、MFP101、クライアント装置(PC)103、携帯端末105、MFP107、サーバ110、サーバ131、データベース(以下、DBともいう)133を有する。
[Example]
<System and hardware>
FIG. 1 is a diagram illustrating an example of a
MFP101は、例えば、MFPブラウザを用いて、表示画面を表示する。PC103は、ブラウザ上でAjaxなどの非同期通信を利用可能とする。PC103は、表示画面の表示データに対しリクエストが発生した場合に、サーバと非同期通信を行って表示データを取得することが可能である。
For example, the
携帯端末105は、PC103同様、ブラウザ上でAjaxを利用可能とする。MFP107は、MFP107専用のアプリケーションからAPIを利用して表示画面の表示データを取得する。
The
サーバ110は、各装置101、103、105、107から表示画面の表示要求を受けると、各装置に適した表示画面を構成する画面情報(HTML形式)を送信する。具体的には、サーバ110は、カスタマイズ部111、画面制御部113、インタフェース部115、テンプレート管理部117、メタデータ管理部119、画面データ管理部121、アクセス管理部123を有する。
Upon receiving a display screen display request from each of the
カスタマイズ部111は、ファイルやフォルダに対するアクセス権限や、ファイルやフォルダに付与されるメタデータや、表示画面のレイアウト、UIパーツなどのカスタマイズを行う。ファイルとは、例えば文書ファイル(画像ファイルも含む)であり、音声ファイルや映像ファイルなどでもよい。 The customization unit 111 customizes access rights to files and folders, metadata assigned to the files and folders, display screen layout, UI parts, and the like. The file is, for example, a document file (including an image file), and may be an audio file or a video file.
画面制御部113は、各装置101、103、105、107から表示画面の描画要求や表示データの取得要求を受ける。画面制御部113は、要求を受けた装置に適した表示画面を定義する画面情報(例えばHTML形式の情報)を作成し、作成した画面情報を装置に送信する。つまり、画面制御部113は、各装置に適した表示画面の表示制御を行う。
The
インタフェース部115は、例えばJSON(JavaScript(登録商標) Object Notation)形式やXML(Extensible Markup Language)形式、WebDAV(Web-based Distributed Authoring and Versioning)に対応している。各装置は、インタフェース部115のAPIを利用して所望のデータを取得する。
The
テンプレート管理部117は、ファイルやフォルダのメタデータのフォーマットや、表示画面のテンプレートを記憶、管理する。
The
メタデータ管理部119は、フォルダ階層の定義を示す「Cabinets」、フォルダの情報を示す「Folders」、ファイルの情報を示す「Entries」、メタデータの定義を示す「Tags」を保持する。メタデータ管理部119で管理される情報については後述する。
The
画面データ管理部121は、各装置101、103、105、107で表示される表示画面に関する情報を管理する。「Smart View」は、Ajaxを利用して表示画面を表示可能な装置に対する表示画面の画面情報である。「View Set」は、1又は複数の表示画面をグループ化する画面の画面情報である。「MFP View」は、Ajaxを利用できない装置(例えばMFP)に対する表示画面の画面情報である。「Mobile View」は、携帯端末用の表示画面の画面情報である。
The screen
アクセス管理部123は、ファイル階層(「Cabinets」)、フォルダ(「Folders」)、ファイル(「Entries」)、及び/又はビュー(「View」:画面)に対するアクセスを制限するための情報を管理する。
The
サーバ131は、各フォルダに保存されるファイルを簡易的に保持、管理するサーバである。サーバ131は、ファイルの保存先のURLなどを記憶する記憶部(「Storage Cache」)やファイルを取得する取得部(API)を有する。DB132は、各装置の表示画面の定義データやUI部品の定義データなどを記憶するデータベースである。DB133、ファイルを少なくとも記憶するデータベースである。なお、サーバ131、DB133は、サーバ110に含まれていてもよいし、一つのDBであってもよい。その他、ユーザ情報を管理するユーザ情報管理部などがあってもよい。
The
次に、実施例におけるサーバのハードウェア構成について説明する。図2は、実施例におけるサーバ110のハードウェア構成の一例を示すブロック図である。図2に示すように、サーバ107は、制御部201、主記憶部203、補助記憶部205、外部記憶装置I/F部207、ネットワークI/F部211を含む。
Next, the hardware configuration of the server in the embodiment will be described. FIG. 2 is a block diagram illustrating an example of a hardware configuration of the
制御部201は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部201は、主記憶部203に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
The
主記憶部203は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部201が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
The
補助記憶部205は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。補助記憶部205は、ネットワークを介して所定のプログラムを記憶してもよい。この所定のプログラムは、インストールされることで処理可能になる。
The
外部記憶装置I/F部207は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された記憶媒体209(例えば、フラッシュメモリ、SDカードなど)とサーバ107とのインタフェースである。
The external storage device I /
また、記憶媒体209に、所定のプログラムを格納し、この記憶媒体209に格納されたプログラムは外部記憶装置I/F部207を介してサーバ107にインストールされ、インストールされた所定のプログラムはサーバ107により実行可能となる。
Further, a predetermined program is stored in the
ネットワークI/F部211は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器とサーバ107とのインタフェースである。
The network I /
なお、サーバ107は、入力部や表示部を備えてもよい。入力部は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部は、ユーザが制御部201に操作指示を与えたり、データを入力したりするためのユーザインタフェースである。
The
表示部は、CRTやLCD等により構成され、制御部201から入力される表示データに応じた表示が行われる。
The display unit is configured with a CRT, LCD, or the like, and displays according to display data input from the
<機能>
図3は、実施例におけるサーバ110の機能の一例を示すブロック図である。図3に示す例では、サーバ110は、受信手段301、送信手段303、画面生成手段305、ユーザ認証手段311、アクセス制御手段313を含む。受信手段301、送信手段303は、ネットワークI/F部211により実現され、画面生成手段305、ユーザ認証手段311、アクセス制御手段313は、制御部201や主記憶部303により実現されうる。また、画面生成手段305は、画面制御部113に相当し、アクセス制御手段313は、アクセス管理部123に相当する。
<Function>
FIG. 3 is a block diagram illustrating an example of functions of the
受信手段301は、各装置から表示画面の表示要求を受けたり、UI部品に表示する表示データの取得要求を受けたりする。送信手段303は、リクエストをしていた装置に対して、画面情報、又は表示データを送信する。表示画面の表示要求は、例えば表示画面の識別情報を指示したり、表示画面の情報が保持されたURLを指示したりして行われる。
The receiving
画面生成手段305は、第1生成手段307、第2生成手段309を有する。第1生成手段307は、非同期通信、例えばAjaxが利用可能なブラウザを有する装置からの画面表示要求を受けた場合、表示画面を描画する第1画面情報を例えばHTML形式で生成する。生成された第1画面情報は、送信手段303により表示要求をした装置に送信される。第1画面情報は、表示要求を受けた表示画面のUI定義データ、このUI定義データに含まれるUI部品に表示する表示データを非同期通信で取得するためのプログラム、例えばJavaScript(登録商標)プログラムを含む。UI定義データとは、表示画面のUIのレイアウトやUI部品などを定義するデータである。
The
第2生成手段309は、シンプルなHTMLを用いてレンダリングを行う画像形成装置からの画面表示要求を受けた場合、表示画面を描画する第2画面情報を例えばHTML形式で生成する。生成された第2画面情報は、送信手段303により表示要求をした装置に送信される。第2生成手段309は、表示要求を受けた表示画面のUI定義データに含まれるUI部品に表示する表示データを、レンダリング関数を用いて取得し、取得したUI部品に含まれる表示データを含む表示画面を描画する第2画面情報を生成する。
When receiving a screen display request from an image forming apparatus that performs rendering using simple HTML, the
表示要求をした装置が非同期通信可能か否かの判断について、画面生成手段305は、装置の識別情報(例えばIPアドレス)と非同期通信の可否とを関連付けて記憶しておき、表示要求をした装置の識別情報に応じて非同期通信可か否かを判断すればよい。
In determining whether or not the device that has requested display is capable of asynchronous communication, the
また、MFPブラウザでAjaxを利用可能な場合でも、レンダリング速度や画面サイズの問題から、第2生成手段309によりMFP用にレンダリングすることが考えられる。このとき、画面生成手段305は、表示要求をした装置のIPアドレスを用いて装置判定を行い、IPアドレスが情報処理装置(PC)103を示せば第1生成手段、MFP101を示せば第2生成手段を用いて画面生成を行う。
Even when Ajax can be used in the MFP browser, rendering for the MFP by the
ユーザ認証手段311は、各装置からユーザIDとパスワードを取得してユーザ認証を行なう。認証されたユーザに関する情報は、アクセス制御手段313に出力される。ユーザに関する情報とは、ユーザID、ユーザ名、ユーザが属する組織情報などを含むユーザ情報、又はユーザ情報に付与されるメタデータの少なくとも1つを含む。 The user authentication means 311 performs user authentication by acquiring a user ID and password from each device. Information regarding the authenticated user is output to the access control means 313. The information about the user includes at least one of user information including a user ID, a user name, organization information to which the user belongs, and metadata added to the user information.
アクセス制御手段313は、ログインされたユーザに対して、表示画面(ビュー)に対しアクセス制限を加え、表示可能な表示画面を制限する。アクセス制限の詳細は後述する。 The access control means 313 restricts the display screen that can be displayed by restricting access to the display screen (view) for the logged-in user. Details of the access restriction will be described later.
(モデルのクラス関係)
次に、実施例で用いるデータモデルについて説明する。図4は、実施例で用いるデータモデルのクラス関係の一例を示す図である。「Organization」クラス401は、組織ID「rs_organization_id(単にorganization_idでもよい)」を有するクラスである。
(Model class relationship)
Next, a data model used in the embodiment will be described. FIG. 4 is a diagram illustrating an example of a class relationship of the data model used in the embodiment. The “Organization”
「Cabinets」クラス409、「Folder」クラス411、「Entry」(ファイル)クラス413、「Tag」クラス415、「Doctype」クラス417は、ユーザが実際に利用するファイルやフォルダのクラスである。
A “Cabinets”
「ContentFilter」クラス419、「ViewFiler」クラス421は、ファイルやビューに対しアクセス権を設定するためのクラスである。「SmartView」クラス423、「ViewSet」クラス425は、フォルダやファイルを業務内容に近い形式で表示するUIの設定を行うためのクラスである。「User」クラス427は、ユーザ情報を設定するためのクラスである。なお、二重で囲んだクラスは、ユーザ管理者による設定ができるクラスである。
The “ContentFilter”
(UIの定義)
図5は、UIの定義データの一例を示す図である。図5に示す「Rs Organization」は、組織IDを示す。「Config」501は、UI定義データの一例を示す。UI定義データには、表示画面に表示される各UI部品が定義される。
(UI definition)
FIG. 5 is a diagram illustrating an example of UI definition data. “Rs Organization” illustrated in FIG. 5 indicates an organization ID. “Config” 501 indicates an example of UI definition data. Each UI component displayed on the display screen is defined in the UI definition data.
例えば、ライン511は、UI部品の識別情報を示し、「inv_no_search」が定義されている。ライン513は、UI部品のコンポーネントを示し、「search_box」が定義されている。
For example, a
ライン515では、UI部品とUI部品にデータを表示する場合の関連付けが行われ、所定のURLにリクエストを送ると、検索結果に含まれるデータが返ってくることを示す。ライン517は、所定の表示領域を示し、「tab_left」が定義されている。ライン519は、表示データを検索する際の検索キーを示し、「stag_14」の検索キーが定義される。ライン521は、このUI部品が表示される場合の名称が定義される。なお、図5に示すデータは、例えばDB132に保存される。
図6は、表示画面の一部の一例を示す図である。図6は、図5に示すUI定義データを表示した場合の例である。図6に示すタイトル601は、図5に示すライン521の「INV番号検索」が表示されたものである。また、サーチボックス603は、ライン513のUI部品が表示されたものである。なお、実施例で用いるUI定義データは、図5に示すライン511〜521のUI部品に関するデータを記述するだけで、図6に示すタイトル601及びサーチボックス603が表示される。これにより、UIのカスタマイズが容易である。なお、図6に示す画面は、例えば、第1生成手段305が図5に示すUI定義データに基づいて第1画面情報を生成することで、PC103で表示可能になる。
FIG. 6 is a diagram illustrating an example of a part of the display screen. FIG. 6 is an example when the UI definition data shown in FIG. 5 is displayed. The
(画面構成)
次に、実施例で用いる表示画面の構成について説明する。図7は、表示画面の一例を示す図である。図7に示す実線枠はペイン(pane:所定の表示領域)を示し、点線枠はパーツ(parts:UI部品)を示す。ペイン内には、1又は複数のパーツが定義される。ただし、ロゴなどの操作イベントが発生しないパーツ711は、ペイン内に定義しなくてもよい。ペイン701は、「tab_left」ペインであり、ペイン703は、「tab_main_top」ペインであり、ペイン705は、「tab_main_bottom」ペインである。
(screen structure)
Next, the configuration of the display screen used in the embodiment will be described. FIG. 7 is a diagram illustrating an example of a display screen. The solid line frame shown in FIG. 7 shows a pane (pane: predetermined display area), and the dotted line frame shows parts (parts: UI parts). One or more parts are defined in the pane. However, the part 711 in which an operation event such as a logo does not need to be defined in the pane. The
ペイン701には、セレクトボックス713、サーチボックス715などのパーツが定義されている。ペイン703には、ドキュメントリスト717のパーツが定義されている。ペイン705には、ドキュメントリスト719のパーツが定義されている。
In the
次に、ペインとパーツを含む画面におけるパーツの連携について説明する。図8は、表示画面のパーツの連携を説明する図である。
(1)「Config」に定義されたbindingsをもとに、どこのペインのパラメータ変更イベントを受けるかを調べ、自ペインに再描画のための関数をbindする。
(2)bindingsの対象になったペイン内のセレクトボックスによりセレクトされた時、自分の属するペインから「pane.event_name」という名前のイベントにtriggerをかける。
(3)かかったtriggerイベントに対応するbindを実行する。
(4)bindから呼ばれた再描画関数が自ペインを再描画する。
Next, the cooperation of parts on a screen including panes and parts will be described. FIG. 8 is a diagram for explaining the cooperation of parts on the display screen.
(1) Based on the bindings defined in “Config”, it checks which pane's parameter change event is received and binds a function for redrawing to its own pane.
(2) When selected by a select box in a pane targeted for bindings, a trigger is applied to an event named “pane.event_name” from the pane to which the user belongs.
(3) The bind corresponding to the triggered event is executed.
(4) A redraw function called from bind redraws its own pane.
なお、パラメータ変更などのイベント自体は、各パーツ単位で発生する。しかし、パーツでイベントが発生すると、ペイン名に対応付けてトリガーがかけれらるため、イベント通知を受ける側(bindされる関数)は、あらかじめ、ペインに対してbindされることになる。イベント発生は、ペイン単位で検知される。bindingsは、ペインに対して行われる。bindingするイベントは、UI部品の識別情報(div_id名)ではなく、ペイン名+データ名である。例えば、「tab_left.layer_0(ペイン名.データ名)」である。図8に示す画面例に対し、新たにUI部品を加えたい場合、ペイン内部にパーツを追加できればパーツを追加してもよいし、ペインを追加して追加したペイン内部にパーツを定義してもよい。 Note that events such as parameter changes occur for each part. However, when an event occurs in a part, a trigger is applied in association with the pane name, so that the event notification side (function to be bound) is bound to the pane in advance. Event occurrence is detected on a per-pane basis. Bindings are performed on the pane. The binding event is not the UI component identification information (div_id name) but the pane name + data name. For example, “tab_left.layer_0 (pane name.data name)”. If you want to add a new UI part to the screen example shown in Fig. 8, you can add a part if it can be added inside the pane, or you can add a pane and define the part inside the added pane. Good.
図8に示すようなパーツ連携を採用することより、他のペイン内で操作イベントが発生した場合、自ペイン内のパーツを再描画する。したがって、画面の設計者は、パーツ毎に対応付けをしなくてもよくなる。また、この対応付けによる設定の数を減らすこともできる。 By adopting the part linkage as shown in FIG. 8, when an operation event occurs in another pane, the part in the own pane is redrawn. Therefore, the screen designer does not need to associate each part. In addition, the number of settings by this association can be reduced.
図9は、イベントによる駆動プログラムの一例を示す図である。図9は、図8の(1)、(3)に対応するプログラムの例である。図9に示す関数は、イベントによる駆動を設定する関数である。また、「ペイン名+データ名」のイベントの発生が起きたら他の関数を呼ぶ設定が、JavaScript(登録商標)内で行われる。「target.on_change()」は、bindが実行されたときに呼ばれる関数である。 FIG. 9 is a diagram illustrating an example of a drive program based on events. FIG. 9 is an example of a program corresponding to (1) and (3) in FIG. The function shown in FIG. 9 is a function for setting driving by an event. In addition, when an event of “pane name + data name” occurs, a setting for calling another function is performed in JavaScript (registered trademark). “Target.on_change ()” is a function called when the bind is executed.
図10は、イベント発生のプログラムの一例を示す図である。図10は、図8の(2)に対応するプログラムである。図10に示す関数は、UI部品内でイベントを発生させる関数である。ライン1001で、「ペイン名+データ名」のイベントを発生させている。関数1003は、DOM(Document Object Model)内の変数ペインに値をセットする関数である。これにより、UI部品に操作イベントが発生したときに、所属するペインからtriggerを発生させることができる。なお、図9及び図10に示すJavaScript(登録商標)のソースは、jqueryというライブラリの利用を前提とするが、この限りではない。
FIG. 10 is a diagram illustrating an example of an event generation program. FIG. 10 shows a program corresponding to (2) of FIG. The function shown in FIG. 10 is a function that generates an event in the UI component. In
図11は、UI部品を描画するときのURLを生成するプログラムの一例を示す図である。図11は、図8の(4)に対応するプログラムである。図11に示す関数は、ブラウザがパーツを描画するときのURLを生成する関数である。ここでは、図9の「set_param」でDOM内の「panes」に設定された値を取得して、URLのパラメータにセットする。図9〜図10に示すデータは、DB132に保存される。
FIG. 11 is a diagram illustrating an example of a program that generates a URL when drawing a UI component. FIG. 11 shows a program corresponding to (4) of FIG. The function shown in FIG. 11 is a function for generating a URL when the browser draws a part. Here, the value set in “panes” in the DOM by “set_param” in FIG. 9 is acquired and set in the URL parameter. The data shown in FIGS. 9 to 10 is stored in the
(UIパーツの設定)
次に、UIパーツ(UI部品)の設定例について説明する。図12は、セレクトボックスの定義データの一例を示す図である。図12のライン1201に示す「div_id」は、UIパーツのIDであり、IDは、「layer_1_select」の例を示す。ライン1203に示す「component」は、利用するUI部品名である。この例では、UI部品名は「select_box」の例を示す。ライン1205に示す「relative_url」は、データを取得するAPIのURLである。
(UI parts setting)
Next, a setting example of UI parts (UI parts) will be described. FIG. 12 is a diagram illustrating an example of definition data of a select box. “Div_id” shown in a
ライン1207に示す「display_fields」は、セレクトボックスに表示するデータの中のフィールド名である。ライン1209に示す「value_fields」は、セレクトボックスが変更されたときに、ペインに設定される値のデータのフィールドである。ライン1210に示す「pane」は、このUIパーツが属するペインである。この例では、属するペインは「tab_left」の例を示す。ライン1211は、ペインの値としてセットするときの名前であり、「layer_1」の例を示す。 “Display_fields” shown in a line 1207 is a field name in the data displayed in the select box. “Value_fields” shown in a line 1209 is a field of value data set in the pane when the select box is changed. “Pane” shown in a line 1210 is a pane to which this UI part belongs. In this example, the pane to which it belongs is an example of “tab_left”. A line 1211 is a name when set as a value of the pane, and shows an example of “layer_1”.
図13は、セレクトボックスの一例を示す図である。図13では、フォルダ階層を選択するためのセレクトボックスの一例を示す。例えば、「時期」は第1階層であり、「HAWB番号検索」は第2階層である。このフォルダ階層については後述する。 FIG. 13 is a diagram illustrating an example of the select box. FIG. 13 shows an example of a select box for selecting a folder hierarchy. For example, “time” is the first hierarchy, and “HAWB number search” is the second hierarchy. This folder hierarchy will be described later.
図13に示す1301のセレクトボックスは、図12に示すUIパーツがブラウザを用いて表示されたときの例である。例えば、セレクトボックスのプルダウンボタンが押下された場合には、PC103は、例えばAjaxを利用し、ライン1205のAPIのURLにより取得された「layer_1」内のデータを表示する。
A
図14は、APIで取得されたデータの一例を示す図である。例えば、データ1401に示す「2009.11」、「2009.12」、「2010.01」、「2010.02」を取得したとする。このとき、図13に示すブルダウンボタンが押下されると、データ1401内の「2009.11」、「2009.12」、「2010.01」、「2010.02」が画面に表示されることになる。なお、「layer=layer_1」と「level=1」は同じ第1階層のフォルダを示す。
FIG. 14 is a diagram illustrating an example of data acquired by the API. For example, it is assumed that “2009.11”, “2009.12”, “2010.01”, and “2010.02” shown in the
次に、他のUIパーツの設定例について説明する。図15は、フォルダリストの定義データの一例を示す図である。図15に示す例では、フォルダリストの表示、また、セレクトボックスの変更を受けて、リストが再描画される設定を含む。変数1501は、「tab_left」のペインで「layer_0」〜「stag_15」のイベントが発生したときにそのイベントによって再描画を行なう関連付けを行う変数である。変数1501の情報をもとに、図9に示す関数によって、イベントに再描画用の関数が紐付けられ、図11に示すURL生成で検索パラメータが生成される。 Next, setting examples of other UI parts will be described. FIG. 15 is a diagram illustrating an example of definition data of a folder list. The example shown in FIG. 15 includes a setting for redisplaying the list in response to the display of the folder list and the change of the select box. A variable 1501 is a variable that performs an association in which redrawing is performed by an event of “layer_0” to “stag_15” in the “tab_left” pane. Based on the information of the variable 1501, a function for redrawing is linked to an event by the function shown in FIG. 9, and a search parameter is generated by URL generation shown in FIG.
図16は、フォルダリストの一例を示す図である。図16に示すフォルダリスト1601は、図15に示すUIパーツの定義データを表示した例である。例えば、左のセレクトボックス内でデータがセレクトされると、それに応じて図16に示すフォルダリストが再描画される。
FIG. 16 is a diagram illustrating an example of a folder list. A
(レンダリング)
次に、上記のUI定義データ、画面構成などを用いて、PC103でのレンダリングと、MFP101でのレンダリングとについての概略を説明する。図17は、レンダリングの例を説明する図である。図17(A)は、PC103でのレンダリングの概略を示す。
(rendering)
Next, an outline of rendering on the
まず、PC103は表示画面の表示要求を行う。表示要求には、表示画面を示す識別情報や要求元のIPアドレス、PC103にログインしたユーザの情報などが含まれる。
First, the
サーバ110の受信手段301は、PC103から表示要求を受けると、画面生成手段305に表示要求を出力する。画面生成手段305は、ユーザの情報及び表示画面の識別情報等により、どのUI定義データを用いればよいかを判断する。また、画面生成手段305は、IPアドレスなどから第1生成手段307、第2生成手段309のどちらを用いるかを決定する。ここで、PC103は、非同期通信に対応しているAjaxを利用することができるとする。
When the receiving
第1生成手段307は、表示画面のUI定義データを取得し、取得したUI定義データと、UI定義データに含まれるUI部品の情報と、Ajaxを利用するJavaScript(登録商標)のプログラムとを含む第1画面情報をHTML形式で生成する。第1生成手段307は、生成した第1画面情報を、送信手段303を介してPC103に送信する。
The
PC103は、受信したHTML形式の第1画面情報に含まれるJavaScript(登録商標)のプログラムを実行し、UI部品の情報を利用してUI部品をHTMLのDOM上に追加する。PC103は、ブラウザ上でJavaScript(登録商標)によって各UI部品のレンダリングを行う。例えば、表示データが必要なUI部品の場合、PC103は、初期描画時や他のUI部品の値(表示データ)が変更になったというイベントが発生した時にAjaxを利用してAPIからデータを取得する。
The
サーバ110の第1生成手段307は、PC103からのデータ取得要求に対して、リクエストされたURLやパラメータ(メタデータや階層など)を参照して、PC103が必要とするデータをDB132から検索し、JSON形式で応答データを生成する。
In response to a data acquisition request from the
PC103は、JSON形式で応答データを取得すると、取得したデータをUI部品に表示するよう描画処理を行う。なお、複数のUI部品で表示データが必要な場合は、各UI部品で非同期にデータを取得できる。PC103は、上記のAPIを利用し、表示データを取得して描画することを繰り返す。
When the
図17(B)は、MFP101でのレンダリングの概略を示す。まず、MFP101は、表示画面の表示要求を行う。表示要求には、表示画面を示す識別情報や要求元のIPアドレス、MFP101を利用しているユーザの情報などが含まれる。
FIG. 17B shows an outline of rendering in the
サーバ110の受信手段301は、MFP110から表示要求を受けると、画面生成手段305に表示要求を出力する。画面生成手段305は、ユーザの情報及び表示画面の識別情報により、どのUI定義データを用いればよいかを判断する。また、画面生成手段305は、非同期通信に対応していないMFP101からの要求であるため、第2生成手段309を用いることを決定する。
When receiving
第2生成手段309は、表示画面のUI定義データに含まれるUI部品の定義情報をもとにレンダリング関数を呼び出して、各UI部品に表示する表示データを取得する。第2生成手段309は、UI定義データとパラメータ(メタデータや階層など)を用いて表示データを検索し、表示データを表示するUIパーツを含む画面の第2画面情報をHTML形式で生成する。このとき、画面生成手段309は、1ページ分のHTML(第2画面情報)をMFP101に送信する。MFP101は、取得したHTMLを用いて表示画面を描画する。
The
また、表示しているUI部品の表示データが変更された場合、他のUI部品の再描画が必要であれば、MFP101は、サーバ110に対し、再度表示要求を行う。サーバ110は、再度表示要求を受けた場合、前述した処理と同様にして1ページ分のHTML形式の第3の画面情報をMFP101に送信する。
Further, when the display data of the displayed UI component is changed, the
ここで、ビュー(タブ)設定の例について説明する。実施例では、各装置はタブを用いてビューを切り替えることも可能である。図18は、PC用のタブ設定の一例を示す図である。図18は、「文書リスト」を表示する簡単なビューの例を示す。図18に示すように、枠1801で、このビューに表示するデータを取得するデータのURLを指定する。ここでは、「cabinets/A_project/entries.json」に保存されているデータを取得することを意味する。また、「pane」は、どこのペインに属するかを示す。「per_page」は、1ページに表示するデータ数を示す。この例では、1ページに10個のドキュメントが表示されることを意味する。
Here, an example of view (tab) setting will be described. In an embodiment, each device can also switch views using tabs. FIG. 18 is a diagram illustrating an example of tab setting for a PC. FIG. 18 shows an example of a simple view that displays a “document list”. As shown in FIG. 18, a
図19は、MFP用のビュー設定の一例を示す図である。図19に示す枠1901で、取得する表示データの種類を指定する。図19に示す例では、「A_project」というフォルダに保存されているファイル(「entries」)を取得する。枠1903では、取得する表示データの条件を指定する。図19に示す例では、1ページに5つのファイルを表示することを意味する。
FIG. 19 is a diagram showing an example of view setting for the MFP. The type of display data to be acquired is designated in a
次に、HTMLソースと表示画面との関係について説明する。図20は、PC用のHTMLソースの一例を示す図である。図20に示す枠2001では、JavaScript(登録商標)のプログラムの読み込みを行う。枠2003では、UI部品の表示データの埋め込みを行う。ライン2005などでは、ログアウトボタンなど共通の部分が定義される。ライン2007などでは、タブの切替を行う部分である。枠2009では、実際にUI部品が設置されるDIV要素が定義される。第1生成手段307は、例えば図20に示す画面情報を生成し、PC103に送信する指示を出す。PC103は、図20に示すような画面情報を受信し、受信した画面情報に基づいて表示画面を描画する。図20に示す画面情報は、第1生成手段307により生成される。PC103は、図20に示すような画面情報を受信し、受信した画面情報に基づいて表示画面を描画する。
Next, the relationship between the HTML source and the display screen will be described. FIG. 20 is a diagram illustrating an example of an HTML source for a PC. In a
図21は、PC用の画面の一例を示す図である。図21は、図20に示す画面情報を描画した例を示す。図21に示す画面には、図20に示す枠2003の「title」の「文書リスト」が表示され、「disp_fields」の「文書名」、「Size」、「更新日時」が順に表示される。また、枠2003の「per_page」の通り、最大「10」個のファイルが1ページに表示される。
FIG. 21 is a diagram illustrating an example of a PC screen. FIG. 21 shows an example in which the screen information shown in FIG. 20 is drawn. On the screen shown in FIG. 21, “document list” of “title” in the
次に、図22は、MFP用のHTMLソースの一例を示す図である。図22に示す枠2201は、印刷ボタン用のMFP特有のJavaScript(登録商標)が記載されている。枠2203は、HTMLに埋め込まれたファイルのリストを表す。つまり、図19に示す枠1901により取得された文書が、枠1903の条件に従って図22に示す枠2203内に埋め込まれている例である。第2生成手段309は、例えば図22に示す画面情報を生成し、MFP101に送信する指示を出す。MFP101は、図22に示すような画面情報を受信し、受信した画面情報に基づいて表示画面を描画する。
Next, FIG. 22 is a diagram illustrating an example of an HTML source for the MFP. A
図23は、MFP用の画面の一例を示す図である。図23は、図22に示す画面情報を描画した例を示す。図23に示す画面には、図22に示す枠2203内の「Title」と「Size」とボタンとが表示される。また、図19の枠1903に示す通り、1ページには最大5つのファイルが表示される。
FIG. 23 is a diagram illustrating an example of an MFP screen. FIG. 23 shows an example in which the screen information shown in FIG. 22 is drawn. In the screen shown in FIG. 23, “Title”, “Size”, and buttons in a
次に、PC103が、APIを利用して表示データを取得する例について説明する。図24は、JSONデータの取得とUI部品の描画の一例を示す図である。PC103は、図24の下部のJSON形式のURLから取得してきた表示データを、ブラウザ上でAjaxを利用して描画する。図24に示す例では、URLが示す位置に格納されているファイルを表示する。このように、実施例におけるPC103は、セレクトボックスでデータが選択されると、Ajaxを利用してJSON形式で表示データを取得し、表示画面を再描画する。
Next, an example in which the
<動作>
次に、画面制御システム100の動作について説明する。図25は、ログインの一例を示すシーケンス図である。図25に示すステップS101で、PC103は、ブラウザを用いてサーバ110に対し、ページリクエストを行う。
<Operation>
Next, the operation of the
ステップS102で、サーバ110は、ログイン用のチケットがリクエストに含まれていないため、ユーザ管理サーバにリダイレクトする。ステップS103で、ユーザ管理サーバは、ログイン画面をPC103に送信する。
In step S102, the
ステップS104で、PC103は、ログインするための情報をユーザ管理サーバに送信する。ログインするための情報とは、組織情報、ユーザ情報、パスワードなどである。
In step S104, the
ステップS105で、ユーザ管理サーバは、認証が成功すると、ログイン用のチケットをPC103に送信するとともに、サーバ110へのリダイレクトを行うようPC103に指示する。
In step S <b> 105, when the authentication is successful, the user management server transmits a login ticket to the
ステップS106で、PC103は、ログイン用のチケットとともにページリクエストをサーバ110に対して行う。ステップS107で、サーバ110は、ログイン用のチケットを確認し、リクエストされたページのHTMLソース(図20参照)をPC103に送信する。ブラウザによる描画処理は図26を用いて説明する。なお、ユーザ管理サーバは、サーバ110に含まれる構成であってもよい。
In step S106, the
図26は、画面の描画処理の一例を示すシーケンス図である。図26に示すステップS201で、PC103は、ログイン用のチケットを含むページリクエストをサーバに110に行う。
FIG. 26 is a sequence diagram illustrating an example of a screen drawing process. In step S <b> 201 shown in FIG. 26, the
ステップS202で、サーバ110は、リクエストされたページのHTMLソースをPC103に送信する。HTMLソースには、ペインやUIの定義データを含む。
In step S202, the
ステップS203で、PC103は、HTMLソースのヘッダ内に記載されているCSS(Cascading Style Sheets)、JavaScript(登録商標)をサーバ110に要求する。
In step S203, the
ステップS204で、サーバ110は、要求されたCSS、JavaScript(登録商標)をPC103に送信する。ステップS205で、PC103は、取得したHTMLソースやCSS、JavaScript(登録商標)に基づき、画面のレンダリングが行われる。UI部品は初期化され、UI部品が描画されていく。このとき、複数のUI部品がある場合、Ajaxを利用して非同期に描画が実行される。
In step S <b> 204, the
ステップS206で、PC103は、UI部品に表示データがある場合(例えば、URLが記述されている場合)、サーバ110に対し、UI部品用の表示データを要求する。ステップS207で、サーバ110は、要求された表示データをJSON形式のデータで生成し、PC103に送信する。
In step S206, when there is display data in the UI component (for example, when a URL is described), the
PC103は、サーバ110からJSONデータを取得すると、JavaScript(登録商標)を実行し、画面の再描画を行なう。
When acquiring the JSON data from the
以上の構成により、サーバ110は、ページリクエストをした装置が非同期通信に対応しているか否かで画面情報の生成方法を変更し、各装置に適した画面情報をHTML形式で生成することができる。
With the above configuration, the
<DBの構造>
次に、DB132に保存されるデータのデータ構造の一例を説明する。以下、説明するDB132のデータ構造は、フォルダ階層になっており、階層に意味を持たせる。さらに、各階層のフォルダに付与され、階層の意味に関連するメタデータを付与してもよい。
<DB structure>
Next, an example of the data structure of data stored in the
このデータ構造を用いることで、サーバ110は、個々の業務に合わせてUIのカスタマイズをしたり、ビューのアクセス制限をしたりすることが容易になる。
By using this data structure, it becomes easy for the
図27は、フォルダ階層の概要を説明する図である。図27に示すように、フォルダ階層の定義を「キャビネット(cabinet)」とし、キャビネット毎に階層の定義付けを行う。例えば、第1階層を「顧客」とし、第2階層を「図面番号」とし、第3階層を「案件」とする。また、各階層のフォルダには、階層の定義に関連するメタデータを付与することもできる。例えば、第1階層のフォルダに、「顧客」に関連するメタデータとして「業種」、「地区」を付与し、第2階層のフィルダに、「図面番号」に関連するメタデータとして「製品種別」、「材料」を付与し、第3階層のフォルダに、「案件」に関連するメタデータとして「案件状態」、「納期」、「個数」を付与する。 FIG. 27 is a diagram for explaining the outline of the folder hierarchy. As shown in FIG. 27, the folder hierarchy is defined as “cabinet”, and the hierarchy is defined for each cabinet. For example, the first hierarchy is “customer”, the second hierarchy is “drawing number”, and the third hierarchy is “item”. In addition, metadata related to the definition of the hierarchy can be assigned to the folder of each hierarchy. For example, “business type” and “district” are assigned to the folder of the first hierarchy as metadata related to “customer”, and “product type” is assigned to the folder of the second hierarchy as metadata related to “drawing number”. , “Material”, and “Matter status”, “Delivery date”, and “Number” as metadata related to “Matter” are assigned to the folder of the third hierarchy.
各フォルダには、文書ファイル(ドキュメント)が保存される。また、文書ファイルには、文書タイプが付与され、さらにメタデータを付与することも可能である。例えば、文書タイプ「見積書」の文書ファイルには、「文書状態」、「送付状態」のメタデータを付与する。 Document files (documents) are stored in each folder. In addition, a document type is assigned to a document file, and metadata can also be assigned. For example, metadata of “document status” and “delivery status” is assigned to a document file of the document type “estimate”.
また、キャビネット毎に異なる階層の定義を行うこともできる。さらに、契約アカウント毎に、異なるキャビネットを有することもできる。また、階層毎にUI部品を定義しておくことで、階層に応じた表示画面を生成しやすくする。 It is also possible to define different levels for each cabinet. Further, each contract account can have a different cabinet. Also, by defining UI parts for each hierarchy, it is easy to generate a display screen according to the hierarchy.
次に、フォルダ階層に関するデータについて説明する。図28は、フォルダ階層に関するデータのデータ構造の一例を示す図である。図28(A)は、フォルダ定義情報の一例を示す図である。 Next, data related to the folder hierarchy will be described. FIG. 28 is a diagram illustrating an example of a data structure of data related to a folder hierarchy. FIG. 28A shows an example of folder definition information.
図28(A)に示す例では、フォルダ定義情報は、フォルダ定義情報の識別子2800、組織ID2801、フォルダ階層のタイトル、フォルダ階層の定義2802、各階層のフォルダに付与され、階層の定義に関連するメタデータの定義2803、ファイルに付与されるメタデータの定義2804、フォルダに付与されるメタデータ2805、ファイルに付与されるメタデータ2806などを含む。
In the example shown in FIG. 28A, folder definition information is assigned to the folder
フォルダ階層の定義2802は、各階層にフォルダの定義がなされ、各階層に意味を持たせる。例えば、フォルダ定義情報「2」では、階層1(layer_0)に「部署名」、階層2(layer_1)に「営業担当者」、階層3(layer_2)に「顧客名」、階層4(layer_3)に「案件名」が定義されている。
In the
フォルダに付与されるメタデータの定義2803は、各階層に付与され、階層の定義に関連するメタデータが定義される。例えば、図28(A)に示す例では、階層4に「stag_0」が付与されている。「stag_0」は、「処理状態」を示す。これは、階層4のフォルダには、処理状態(例えば、未処理、処理済み)を示すメタデータが付与されることを意味する。
The
ファイルに付与されるメタデータの定義2804は、フォルダに保存されるファイルに付与されるメタデータを定義する。例えば、図28(A)に示す例では、「e_stag_0」がファイルに付与されている。「e_stag_0」は、「文書タイプ」を示すメタデータである。これは、ファイルには、文書タイプ(例えば、見積書、注文書など)を示すメタデータが付与されることを意味する。
The
メタデータには、文字列を示すメタデータ「stag(string-tag)」と年月日を示すメタデータ「dtag(data-tag)」などがある。メタデータは、他にも「ntag(number-tag)」や「btag(boolean-tag)」などがあってもよい。また、フォルダに付与されるメタデータと、ファイルに付与されるメタデータとは識別可能である。なお、フォルダに付与されるメタデータは、そのフォルダに保存されるファイルに対応付けられる。 The metadata includes metadata “stag (string-tag)” indicating a character string and metadata “dtag (data-tag)” indicating a date. Other metadata may include “ntag (number-tag)” and “btag (boolean-tag)”. Further, the metadata assigned to the folder and the metadata assigned to the file can be identified. Note that metadata assigned to a folder is associated with a file stored in the folder.
図28(B)は、フォルダ情報の一例を示す図である。フォルダ情報は、フォルダ毎に、フォルダID2820、組織ID2801、フォルダ定義情報の識別子2800、親フォルダの識別子28021、どの階層かを示すレベル2822、各階層の定義に対応するデータ2823、フォルダに付与されるメタデータの定義に対応するメタデータ2824などを含む。
FIG. 28B is a diagram showing an example of folder information. For each folder, folder information is assigned to a
なお、フォルダ情報の各階層は、自階層以上の階層のフォルダ定義に対応するデータを保持してもよい。例えば、階層(level)が「2」のフォルダ情報として、「layer_0」の「東京本社」、「layer_1」の「若本」、「layer_2」の「BBB工業」が保持されている。これにより、上位階層のフォルダの定義に対応するデータを取得する際、親フォルダを辿らなくても容易に取得可能となる。また、階層の定義に対応するデータが、その階層のフォルダの名称とされてもよい。 Note that each level of folder information may hold data corresponding to a folder definition of a level higher than its own level. For example, “Tokyo headquarters” of “layer_0”, “Wakamoto” of “layer_1”, and “BBB Kogyo” of “layer_2” are held as folder information of the level “2”. As a result, when acquiring data corresponding to the definition of the upper-level folder, it is possible to easily acquire the data without following the parent folder. Further, data corresponding to the definition of the hierarchy may be the name of the folder of the hierarchy.
メタデータ2824は、「stag_0」2805に対応するデータである。「stag_0」2805が「処理状態」を定義しているため、メタデータ2824は、処理状態を示すデータとなる。図28(B)に示す例では、メタデータ2824は、「処理済み」を示す。
The
図28(C)は、ファイル情報の一例を示す図である。ファイル情報は、ファイルID2840、組織ID2801、どのフォルダに保存されているかを示すフォルダID2820、ファイルのタイトル2841、ファイルが格納されている位置を示すURL2842、ファイルサイズ2843、ファイルのメタデータ2844などを含む。
FIG. 28C is a diagram showing an example of file information. The file information includes a
なお、ファイルのメタデータ2844は、フォルダのメタデータ2824と識別可能である。例えば、ファイルのメタデータ2844には、「e_stag」というように、ファイルのメタデータを示す「e_」が付与されている。これにより、フォルダのメタデータとファイルのメタデータとを区別して管理、検索などをすることができる。
The
図28に示すデータ構造を有することで、フォルダ階層に意味を持たせ、その階層のフォルダにメタデータを付与してファイルを管理することができる。サーバ110は、階層毎にUI部品を定義することで、階層に沿った形式でのUIのカスタマイズなどが可能になる。ユーザは業務内容に合わせてフォルダ階層を生成する場合が多いので、階層に沿った形でUIがカスタマイズされると、業務に連動したUIが生成されることになる。
By having the data structure shown in FIG. 28, it is possible to give meaning to a folder hierarchy and manage files by assigning metadata to folders in that hierarchy. The
次に、階層の定義とメタデータの例について説明する。図29は、階層の定義とメタデータの一例を示す図である。図29(A)は、階層の定義を示す図である。図29(A)に示す例では、第1階層は「部署名」、第2階層は「営業担当者」、第3階層は「顧客名」、第4階層「案件名」が階層に定義づけられている。図29(B)は、各階層のフォルダに付与されるメタデータの定義を示す図である。図29(B)に示す例では、第4階層のフォルダには、「状態」がメタデータとして定義付けられている。なお、第1階層のフォルダには、「所在地」、第3階層のフォルダには、「業種」などのメタデータが定義付けられてもよい。 Next, the definition of a hierarchy and an example of metadata will be described. FIG. 29 is a diagram illustrating an example of a hierarchy definition and metadata. FIG. 29A shows the definition of a hierarchy. In the example shown in FIG. 29A, the first hierarchy is defined as “department”, the second hierarchy as “sales representative”, the third hierarchy as “customer name”, and the fourth hierarchy as “case name”. It has been. FIG. 29B is a diagram illustrating the definition of metadata assigned to folders in each hierarchy. In the example shown in FIG. 29B, “state” is defined as metadata in the folder of the fourth hierarchy. Note that metadata such as “location” may be defined in the first layer folder, and “business type” may be defined in the third layer folder.
図30は、図28に示すデータの画面例を示す図である。表示画面3001は、領域3003と領域3005を含む。領域3003は、フォルダ定義情報及びフォルダ情報から記述されるフォルダ構成が描画される。領域3003のフォルダ構成は、図28(A)に示すフォルダ定義情報の識別情報「2」のフォルダ構成である。
FIG. 30 is a diagram showing an example of the data screen shown in FIG. The
例えば、図30の領域3003に示すように、東京本社(第1階層)、若本(第2階層)、BBB工業(第3階層)、計測器部品受注(第4階層)が階層順に描画される。領域3003に示すフォルダ構成は、第3階層までの例である。
For example, as shown in an
図30の領域3005は、ファイル情報から記述されるファイル構成が描画される。図28(C)を参照すると、フォルダID「4」の「計測器部品受注」フォルダには、「見積書.pdf」、「注文書.pdf」、「納品書.pdf」が保存されている。これにより、領域3005には、「見積書.pdf」、「注文書.pdf」、「納品書.pdf」が描画される。
In an
図30に示す画面の場合、第1生成手段307は、各フォルダに対し、フォルダの格納位置を示すURLを記述しておく。PC103は、フォルダへのダブルクリックなどでイベントを検出し、ダブルクリックされたフォルダに対応するURLから表示データを取得し、取得した表示データを領域3005に再描画する。この場合の表示データは、文書ファイルである。
In the case of the screen shown in FIG. 30, the first generation means 307 describes a URL indicating the folder storage location for each folder. The
(ビュー及びビューセット)
次に、ビュー及びビューセットについて説明する。ビューセットとは、1又は複数のビューがグループ化され、グループ内のビューが切替可能である画面のことをいう。実施例において、サーバ110は、ビューセットを定義しておくことで、例えば部署毎に表示可能なビューを容易に切り替えることができる。
(Views and view sets)
Next, views and view sets will be described. A view set refers to a screen in which one or a plurality of views are grouped and the views in the group can be switched. In the embodiment, by defining a view set, the
図31は、ビューセットデータの一例を示す図である。図31に示すように、ビューセットには、ビューセットID(id)、組織ID(organization_id)、タブを表示するためのURLのパス名(tiltle)、表示用のタブ名(display_name)、UI部品が定義されている情報(config)、ビューのタイプ(view_type)、スキン(skin)、ビューの順番(view_order)が関連付けられている。 FIG. 31 is a diagram illustrating an example of view set data. As shown in FIG. 31, a view set includes a view set ID (id), an organization ID (organization_id), a URL path name (tiltle) for displaying a tab, a tab name (display_name) for display, and a UI component. Is associated with information (config), view type (view_type), skin (skin), and view order (view_order).
例えば、ビューセットID「2」には、URLのパス名「factory」、タブ名「工場向け」、ビュータイプ「PC」、スキン「smoothness」、順番「1、4」が設定されている。「スキン」は、画面の色調などを変更して、ユーザに違いを強調するためのデータである。例えば「smoothness」、「normal」などがある。「smoothness」は、「normal」に比べて明度や彩度を変更し滑らかなイメージを与える色調にする。また、ビューセットの「config」には、ロゴやログアウトボタンなど共通のUI部品が定義されている。「view_order」には、ビューの識別情報が左からの表示順に設定されている。「view_order」の「*」は、「view_type」が同じ全てのビューを示すと解釈される。 For example, in the view set ID “2”, the path name “factory” of the URL, the tab name “for factory”, the view type “PC”, the skin “smoothness”, and the order “1, 4” are set. “Skin” is data for emphasizing the difference to the user by changing the color tone of the screen. For example, there are “smoothness” and “normal”. “Smoothness” is a tone that gives a smooth image by changing the brightness and saturation compared to “normal”. Further, common UI components such as a logo and a logout button are defined in “config” of the view set. In “view_order”, view identification information is set in the display order from the left. “*” Of “view_order” is interpreted to indicate all views having the same “view_type”.
図32は、ビュー(タブ)データの一例を示す図である。図32に示すように、ビューのデータ構造は、ビューセットと同様である。図32に示す「config」は、一覧を表示するような場合、例えば図15に示すようなドキュメントリストの定義データが設定される。ここで、図31に示す「view_order」の「*」は、「view_type」が同じ「PC」のビューID「1,2,3,4」を示すと解釈される。 FIG. 32 is a diagram illustrating an example of view (tab) data. As shown in FIG. 32, the data structure of the view is the same as that of the view set. The “config” shown in FIG. 32 is set with, for example, document list definition data as shown in FIG. 15 when displaying a list. Here, “*” of “view_order” illustrated in FIG. 31 is interpreted as indicating the view ID “1, 2, 3, 4” of “PC” having the same “view_type”.
図33は、ビュー形成のためのデータの一例を示す図である。図33(A)は、図31に示すようなビューセットデータを形成するために定義されたデータを示す。図33(A)に示す例では、種類(string、text、datetime、integerなど)に応じてデータが定義されている。例えば、「view_type」は、文字列形式(string)であり、「config」は、テキスト形式(text)であり、「view_order」は、整数形式(integer)である。 FIG. 33 is a diagram illustrating an example of data for view formation. FIG. 33A shows data defined to form view set data as shown in FIG. In the example shown in FIG. 33A, data is defined according to the type (string, text, datetime, integer, etc.). For example, “view_type” is a character string format (string), “config” is a text format (text), and “view_order” is an integer format (integer).
図33(B)は、図32に示すようなビューデータを形成するために定義されたデータを示す。例えば、「display_name」は、文字列形式(string)である。図33に示すように、各データには、定義された形式でデータが入力される。 FIG. 33B shows data defined to form view data as shown in FIG. For example, “display_name” is in a character string format (string). As shown in FIG. 33, data is input to each data in a defined format.
図34は、ビューのURL、ビュー、ビューセットの画面切替例を説明する図である。図34に示す例では、図31に示すビューセットのid「2」のビューセットについて説明する。
(1)ビューセットのid「2」のビューセットを表示する場合
PC103は、例えば「https://host_name/APP_name/view/factory」のURLを表示する場合、URL末尾の「factory」が示すビューセットを表示する。また、ビューセット「factory」は、ビューのid「1」が一番上に表示される。なお、ビューのid「1」は、図32に示す例によると、「案件一覧」が表示される。
(2)ビューセットのid「2」の二番目のビューを表示する場合
PC103は、例えば「https://host_name/APP_name/view/factory/drawing」のURLを表示する場合、URL末尾の「drawing」が示すビューを表示する。
(3)ビューセットのid「1」のビューセット(display_name=Default)を表示した場合
PC103は、例えば「https://host_name/APP_name/view/all」のURLを表示した場合、図34の下部に示すような画面が表示される。ビューセットのid「1」のビューセットは、「view_type」が「PC」であるビュー全てを表示可能とする。このとき、ビューのidの番号が一番小さい「1」の「案件一覧」が表示される。また、ユーザが「未回答一覧」のタブを押下すると、ビューのid「2」を表示するため(図32参照)、PC103のブラウザは、URL「・・・/view/all/to_be_respond」により取得した表示画面を表示する。
FIG. 34 is a diagram for explaining an example of screen switching between the view URL, the view, and the view set. In the example illustrated in FIG. 34, the view set with id “2” of the view set illustrated in FIG. 31 will be described.
(1) When displaying the view set with the id “2” of the view set When the
(2) When displaying the second view of id “2” of the view set When the
(3) When the view set with the id “1” of the view set (display_name = Default) is displayed. When the
上記のようなビューやビューセットのデータ構造がDB132に保存されることで、例えば、同じ会社であっても、ビュー(タブ)毎に「config」を作成し、保存しておくことで、タブ毎に違った見せ方、使い方をすることができる。
The data structure of the view and view set as described above is saved in the
画面生成手段305は、ビューセットの表示要求を受けた場合、上記のようなタブのURLを第1画面情報に含めておくことで、PC103のブラウザはAjaxを利用して各タブを非同期通信により取得することができる。
When receiving the view set display request, the
図35は、タブの違いによる画面の違いを説明する図である。図35(A)は、案件検索用のタブを表示する画面例である。図35(B)は、見積り依頼対応用のタブを表示する画面例である。このように、同じ会社であっても、タブによって、違う見せ方(例えばスキン)や違う使い方(コンポーネントの数)をすることができる。 FIG. 35 is a diagram for explaining differences in screens due to differences in tabs. FIG. 35A shows an example of a screen displaying a tab for item search. FIG. 35B is an example of a screen that displays a tab for responding to an estimate request. In this way, even if they are the same company, they can be displayed differently (for example, skins) or used differently (number of components) depending on the tab.
また、図31を用いて説明したように、実施例におけるサーバ110は、タブの組み合わせをビューのセットとして管理することができる。例えば、営業部向けタブセット、製造部向けタブセット、経理向けタブセットなどである。
Further, as described with reference to FIG. 31, the
図36は、ビューセットとタブの関係を示す図である。図36(A)は、「Advanced」セットであるため、「案件」タブ、「見積り依頼対応」タブ、「製造予定日順」タブの全てが表示可能である。図36(B)は、「Simple」セットであるため、「案件」タブしか表示できないし、案件リストについても図36(A)に比べると項目が少ない。これは、UI定義データで設定するコンポーネントを少なくすればよい。上記のように、各タブのUI定義データやビューセット画面の定義データなどをDB132に保存しておく。
FIG. 36 is a diagram illustrating a relationship between a view set and a tab. Since FIG. 36A shows the “Advanced” set, all of the “Item” tab, the “Request for quotation request” tab, and the “Order by date of production schedule” tab can be displayed. Since FIG. 36B is a “Simple” set, only the “Item” tab can be displayed, and the item list of the item list is smaller than that in FIG. 36A. This can be achieved by reducing the number of components set in the UI definition data. As described above, UI definition data for each tab, definition data for the view set screen, and the like are stored in the
また、上記例では、PC103用のビューやビューセットの例を示したが、図17に基づいて、MFP101からタブの切替要求を受けたサーバ110は、切替後のタブ1ページ分のHTMLを生成して、MFP101に送信すればよい。よって、MFP101でもDB132に保存されているビューセットの表示は可能である。
In the above example, an example of a view or a view set for the
<ビュー制限>
図37は、アカウント情報の一例を示す図である。図4に示す例では、アカウント情報は、ユーザID3701、ログイン名3703、パスワード3705、ユーザに割り当てられたグループ3707が関連付けられている。例えばユーザID「1」は、ログイン名が「tanabe」である。また、ユーザID「3」は、ログイン名が「iwata」であり、「managers」グループに属する。
<View restriction>
FIG. 37 is a diagram illustrating an example of account information. In the example shown in FIG. 4, the account information is associated with a
図38は、組織情報の一例を示す図である。図38に示す例では、組織情報は、組織ID3801、組織名3803、ディスプレイに表示される名称を示す表示名3805、所在地を示すタイムゾーン3807、使用言語を示す言語3809が関連付けられている。例えば組織ID「1」は、組織名「CompanyA」であり、表示部への表示名は「A社」であり、所在地は「Tokyo」であり、使用言語は「Japanese」である。
FIG. 38 is a diagram illustrating an example of organization information. In the example shown in FIG. 38, the organization information is associated with an
図39は、ユーザ情報の一例を示す図である。図39に示す例では、ユーザID3701は、図37に示す「id」と同じ識別情報であり、組織ID3801は、図38に示す「id」と同じ識別情報である。
FIG. 39 is a diagram illustrating an example of user information. In the example shown in FIG. 39, the
図39に示す例では、ユーザ情報は、ユーザID3701、組織ID3801、ログイン名3901、タグ(第1メタデータ)3903、タグ(第2メタデータ)3905やグループ3907が関連付けられている。例えば、ユーザID「2」は、組織ID「3」であり、ログイン名が「wakamoto」であり、第1メタデータである「u_stag_0」が「営業部」であり、第2メタデータである「u_stag_1」が「埼玉工場」である。このようにユーザ情報にはメタデータを付与することができるようにする。
In the example shown in FIG. 39, user information is associated with a
ユーザ認証手段311は、装置から取得したログイン名及びパスワードと、図37に示すアカウント情報のログイン名及びパスワードとを照合する。照合が一致すれば、ユーザ認証手段311は、ユーザIDを基に、図38に示すユーザ情報を参照して組織IDを取得し、認証チケットにユーザID、組織ID、及びメタデータを含める。実施例では、これらのユーザ情報を用いてビューに対してアクセス制限を加える。
The user authentication means 311 collates the login name and password acquired from the apparatus with the login name and password of the account information shown in FIG. If the verifications match, the
図40は、ビューフィルタ情報の一例を示す図である。図40に示すビューフィルタには、フィルタid、組織id(organization_id)、ビューセットid(view_set_id)、タイトル(title)、説明(description)、条件(user_condition)が関連付けられている。 FIG. 40 is a diagram illustrating an example of view filter information. 40 are associated with a filter id, an organization id (organization_id), a view set id (view_set_id), a title (title), a description (description), and a condition (user_condition).
例えば、id「1」のフィルタ情報は、組織id「3」であり、ビューセットidが「1」であり、タイトルが「管理部門用」であり、条件が「"u_stag_0":"管理部"」である。このフィルタが示すのは、管理部は全てのPC用のビューが見えるということである。 For example, the filter information of id “1” is the organization id “3”, the view set id is “1”, the title is “for administrative department”, and the condition is ““ u_stag_0 ”:“ management section ”. Is. This filter shows that the manager can see all PC views.
アクセス制御手段313又は画面生成手段305は、ビューのアクセス制限を以下の手順で行う。
a)リクエストURLを解析
b)ログインユーザの情報をDBから取得
c)ビューセットをDBから取得
d)ビューフィルタをDBから取得
e)ログインユーザが閲覧可能なビューセットのリストを生成(ビューセット切替セレクトボックス用)
f)リクエストされているビューセットが表示可か判定(許可されない場合はエラーを返す)
g)ビューセットに含まれるビューをDBから取得(ビューの切替タブ用)
h)リクエストされているビューの「config」情報を元に、JavaScript(登録商標)とUI部品の情報を含むHTML形式の画面情報を生成して装置に返す。
The
a) Analyzing the request URL b) Obtaining login user information from the DB c) Obtaining the view set from the DB d) Obtaining the view filter from the DB e) Generating a list of view sets that can be viewed by the logged-in user (view set switching) (For select box)
f) Judgment whether the requested view set can be displayed (an error is returned if not permitted)
g) Acquiring views included in the view set from DB (for view switching tab)
h) Based on the “config” information of the requested view, screen information in HTML format including information on JavaScript (registered trademark) and UI parts is generated and returned to the apparatus.
a)〜c)の処理は、画面生成手段305が行う。次に、アクセス制御手段313は、d)において、ログインのユーザのメタデータや組織情報などに基づいてビューフィルタを取得すると、ログインユーザが閲覧可能なビューセットのidを画面生成手段305に出力する。
The
画面生成手段305は、e)において、アクセス制御手段313から取得したビューセットのidに基づいてビューセットのリストを生成する。アクセス制御手段313は、f)でリクエストされたURLのビューセットが表示可か判定する。例えば、アクセス制御手段313は、リクエストされたURLのビューセットのURLのパス名が、取得されたビューセットのidに対応するURLのパス名と一致すれば、そのビューセットは表示可と判定する。g)〜h)の処理は、画面生成手段305が行う。
In e), the
また、アクセス制御手段313は、先にd)のビューフィルタを取得し、ビューフィルタの制約のもとでビューセットのDBから表示可能なビューのリストを取得することも可能である。
The
これにより、ビューフィルタ情報を用いることで、ユーザに関連する情報を用いて、ビューセットにアクセス制限を加えることができる。ユーザに関する情報とは、ユーザのメタデータ、ユーザの組織情報、ユーザIDなどである。 Accordingly, by using the view filter information, it is possible to restrict access to the view set using information related to the user. Information about the user includes user metadata, user organization information, user ID, and the like.
<API>
図41は、APIの例を示す図である。図41は、サーバ110で用いるAPI(Application Program Interface)の例を示す図である。図41に示すパス4101「cabinets/{id}/folders.json」は、フォルダの一覧を取得するときのAPIである。例4102は、レイヤー「2」(第2階層)かつレイヤー「0」の定義に対応するデータが「JP」であるフォルダ一覧を取得するAPIの例である。このときフォルダ一覧には、レイヤー2以上の階層の定義に対応するデータが表示される。
<API>
FIG. 41 is a diagram illustrating an example of an API. FIG. 41 is a diagram illustrating an example of an API (Application Program Interface) used in the
パス4103「cabinets/{id}/layers.json」は、指定した階層のフォルダ名の一覧を取得するときのAPIである。例4104は、レイヤー「1」(第1階層)のフォルダのフォルダ名の一覧を取得するAPIの例である。このときフォルダ名一覧には、例えば、「2007.01」「2007.02」などが表示される。
A
なお、「layers」は、「folders」と違いがあり、ユニークなデータとなっている。例えば、担当者名でフォルダを作成すると、全ての年度に担当者名のフォルダが出来る。このとき、「folders」で階層を指定した場合、同じ担当者のフォルダが何度も表示されるが、「layers」で指定した場合、全て異なる担当者のフォルダが表示される。 Note that “layers” is different from “folders” and is unique data. For example, if a folder is created with the name of the person in charge, a folder with the name of the person in charge is created for all years. At this time, if the hierarchy is specified by “folders”, the folder of the same person in charge is displayed many times, but if it is specified by “layers”, the folders of persons in charge of all different persons are displayed.
パス4105「cabinets/{id}/entries.json」は、ファイル一覧を取得するときのAPIである。例4106は、レイヤー「2」(第2階層)のフォルダ名が「00000012344891」であるフォルダに保存されているファイル一覧を取得するAPIの例と、フォルダIDが「2108」であるフォルダに保存されているファイル一覧を取得するAPIの例である。このときファイル一覧には、例えば、ファイルID、位置、サイズ、タイトルなどが表示される。
A
パス4107「cabinets/{id}/tags.json」は、タグ候補の一覧を取得するときのAPIである。例4108は、「stag_2」の候補となるタグの一覧を取得するAPIの例である。このとき、キャビネットID、フォルダID、タグ名、タグタイプなどが表示される。図41に示すAPIを用いて、PC103は、各種データを取得することが可能となる。
A
以上、実施例によれば、各装置に対応するUI画面を適切に表示制御することができる。また、実施例によれば、ペイン単位でイベント発生を検知するため、UI部品毎に対応付けを行わなくてもよい。また、実施例によれば、ビューセットやタブを効率よく用いることで、例えば部署毎に表示可能なビューを容易に切り替えることができる。また、実施例によれば、ビューフィルタ情報を用いることで、ユーザに関連する情報に基づいてビューのアクセスを適切に制限することができる。 As described above, according to the embodiment, it is possible to appropriately display and control the UI screen corresponding to each device. Further, according to the embodiment, since an event occurrence is detected in units of panes, it is not necessary to associate each UI component. Further, according to the embodiment, by efficiently using view sets and tabs, for example, it is possible to easily switch a view that can be displayed for each department. Further, according to the embodiment, by using the view filter information, it is possible to appropriately limit the access of the view based on the information related to the user.
また、携帯端末でAjaxを利用可能であれば、画面生成手段305は、モバイル用もPC用と同様にして画面情報を生成することができる。このとき、モバイル用は表示画面が小さいので、表示するUI部品を少なくしたり、表示データの項目を減らしたりすればよい。
Further, if Ajax can be used in the portable terminal, the
実施例のサーバで実行されるプログラムは、前述した各手段を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされ、上記各手段が主記憶装置上に生成されるようになっている。 The program executed by the server according to the embodiment has a module configuration including the above-described units. As actual hardware, the CPU (processor) reads the program from the storage medium and executes the program. Are loaded on the main memory, and the above-mentioned means are generated on the main memory.
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素からいくつかの構成要素を削除してもよい。 In addition, this invention is not limited to the said Example as it is, A component can be deform | transformed and embodied in the range which does not deviate from the summary in an implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the above embodiments. For example, some components may be deleted from all the components shown in the embodiments.
101 PC
103 MFP
105 携帯端末
107 MFP
110 サーバ
113 画面制御部
115 インタフェース部
119 メタデータ管理部
121 画面データ管理部
133 DB
301 受信手段
303 送信手段
305 画面生成手段
307 第1生成手段
309 第2生成手段
311 ユーザ認証手段
313 アクセス制御手段
101 PC
103 MFP
105 Mobile terminal 107 MFP
110
301 reception means 303 transmission means 305 screen generation means 307 first generation means 309 second generation means 311 user authentication means 313 access control means
Claims (9)
前記サーバは、
画面のUI部品が定義されているUI定義情報を画面毎に記憶する第1記憶手段と、
前記UI部品に表示する表示データを記憶する第2記憶手段と、
前記情報処理装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報と、該UI定義情報に含まれるUI部品に表示する表示データを非同期通信で取得するためのプログラムとを含む第1画面情報を生成する第1生成手段と、
前記画像形成装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報に含まれるUI部品に表示する表示データをレンダリング関数を用いて取得し、該UI部品及び該UI部品に表示する表示データを含む画面を描画するための第2画面情報を生成する第2生成手段と、
前記第1生成手段により生成された第1画面情報を前記情報処理装置に送信し、又は、前記第2生成手段により生成された第2画面情報を前記画像形成装置に送信する送信手段と、
を備える画面制御システム。 A screen control system in which an information processing apparatus, an image forming apparatus, and a server are connected,
The server
First storage means for storing, for each screen, UI definition information in which UI parts of the screen are defined;
Second storage means for storing display data to be displayed on the UI component;
When receiving a screen display request from the information processing apparatus, the UI definition information corresponding to the screen that has received the display request and the display data to be displayed on the UI component included in the UI definition information are acquired by asynchronous communication. First generation means for generating first screen information including a program;
When a screen display request is received from the image forming apparatus, display data to be displayed on a UI component included in UI definition information corresponding to the screen for which the display request has been received is acquired using a rendering function, and the UI component and the UI component Second generation means for generating second screen information for drawing a screen including display data to be displayed on the UI component;
Transmitting means for transmitting the first screen information generated by the first generating means to the information processing apparatus or transmitting the second screen information generated by the second generating means to the image forming apparatus;
A screen control system comprising:
1又は複数の画面を切替可能にグループ化した画面を示すセット画面の定義情報をさらに記憶し、
前記第1又は第2生成手段は、
前記セット画面の表示要求を受けた場合、前記セット画面に含まれる画面を選択可能にして前記第1又は第2画面情報をそれぞれ生成する請求項1記載の画面制御システム。 The first storage means
Further storing set screen definition information indicating screens in which one or more screens are grouped so as to be switchable;
The first or second generation means includes
2. The screen control system according to claim 1, wherein when the display request for the set screen is received, the screen included in the set screen is selectable and the first or second screen information is generated.
前記情報処理装置からAPIを利用してUI部品に表示する表示データの取得要求を受けた場合、要求された表示データを検索し、検索された表示データを、前記APIを利用して取得可能なデータ形式で生成する請求項1又は2記載の画面制御システム。 The first generation means includes
When receiving an acquisition request for display data to be displayed on a UI component from the information processing apparatus using the API, the requested display data can be searched and the searched display data can be acquired using the API. The screen control system according to claim 1, wherein the screen control system is generated in a data format.
前記画像形成装置からUI部品に表示される表示データの変更による再描画要求を受けた場合、要求された表示データを検索し、検索された表示データが表示されるUI部品を含む画面を描画するための第3画面情報を生成する請求項1乃至3いずれか一項に記載の画面制御システム。 The second generation means includes
When a redraw request is received from the image forming apparatus by changing the display data displayed on the UI component, the requested display data is retrieved and a screen including the UI component on which the retrieved display data is displayed is rendered. The screen control system as described in any one of Claims 1 thru | or 3 which produces | generates the 3rd screen information for.
ユーザの認証情報及びユーザの所属や所在地を含むメタデータと、前記メタデータと前記セット画面の識別情報とを関連付けたフィルタ情報をさらに記憶し、
ログインされたユーザのメタデータに対応するセット画面の識別情報を、前記フィルタ情報を参照して取得し、取得したセット画面の識別情報に基づくセット画面を前記ユーザがアクセス可能とするアクセス制御手段をさらに備える請求項2記載の画面制御システム。 The second storage means
Further storing filter information in which user authentication information and metadata including the user's affiliation and location are associated with the metadata and identification information of the set screen;
Access control means for acquiring identification information of a set screen corresponding to the metadata of a logged-in user with reference to the filter information and allowing the user to access a set screen based on the acquired identification information of the set screen The screen control system according to claim 2, further comprising:
フォルダ階層の階層毎の定義を示す階層定義、及び付与されるメタデータの定義を示すメタデータ定義を含むフォルダ定義データと、
前記フォルダ階層内のフォルダ毎に、該フォルダの階層以上のフォルダ定義に対応するデータ、及び該フォルダに付与されるメタデータ定義に対応するメタデータを含むフォルダデータと、
前記フォルダ階層内のフォルダの階層及び該フォルダに付与されたメタデータに関連付けられるファイルと、を記憶し、
前記表示データは、前記フォルダ定義データ、前記フォルダデータ、又は前記ファイルのいずれかのデータである請求項1乃至4いずれか一項に記載の画面制御システム。 The second storage means
Folder definition data including a hierarchy definition indicating a definition of each folder hierarchy, and a metadata definition indicating a definition of metadata to be given;
For each folder in the folder hierarchy, folder data including data corresponding to a folder definition above the folder hierarchy, and metadata corresponding to a metadata definition assigned to the folder;
Storing a folder hierarchy in the folder hierarchy and a file associated with the metadata assigned to the folder;
The screen control system according to claim 1, wherein the display data is any one of the folder definition data, the folder data, and the file.
画面のUI部品が定義されているUI定義情報を画面毎に記憶する第1記憶手段と、
前記UI部品に表示する表示データを記憶する第2記憶手段と、
前記情報処理装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報と、該UI定義情報に含まれるUI部品に表示するデータを非同期通信で取得するためのプログラムとを含む第1画面情報を生成する第1生成手段と、
前記画像形成装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報に含まれるUI部品に表示する表示データをレンダリング関数を用いて取得し、該UI部品及び該UI部品に表示する表示データを含む画面を構成する第2画面情報を生成する第2生成手段と、
前記第1生成手段により生成された第1画面情報を前記情報処理装置に送信し、又は、前記第2生成手段により生成された第2画面情報を前記画像形成装置に送信する送信手段と、
を備えるサーバ。 A server connected to the information processing apparatus and the image forming apparatus;
First storage means for storing, for each screen, UI definition information in which UI parts of the screen are defined;
Second storage means for storing display data to be displayed on the UI component;
A program for acquiring, by asynchronous communication, UI definition information corresponding to a screen for which a display request has been received and data to be displayed on a UI component included in the UI definition information when a screen display request is received from the information processing apparatus First generation means for generating first screen information including:
When a screen display request is received from the image forming apparatus, display data to be displayed on a UI component included in UI definition information corresponding to the screen for which the display request has been received is acquired using a rendering function, and the UI component and the UI component Second generation means for generating second screen information constituting a screen including display data to be displayed on the UI component;
Transmitting means for transmitting the first screen information generated by the first generating means to the information processing apparatus or transmitting the second screen information generated by the second generating means to the image forming apparatus;
A server comprising
前記情報処理装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報と、該UI定義情報に含まれるUI部品に表示するデータを非同期通信で取得するためのプログラムとを含む第1画面情報を生成する第1生成ステップと、
前記画像形成装置から画面の表示要求を受けた場合、表示要求を受けた画面に対応するUI定義情報に含まれるUI部品に表示するデータをレンダリング関数を用いて取得し、該UI部品及び該UI部品に表示するデータを含む画面を構成する第2画面情報を生成する第2生成ステップと、
前記第1生成ステップにより生成された第1画面情報を前記情報処理装置に送信し、又は、前記第2生成ステップにより生成された第2画面情報を前記画像形成装置に送信する送信ステップと、
を有する画面制御方法。 A first storage unit that is connected to the information processing apparatus and the image forming apparatus and stores UI definition information in which UI parts of the screen are defined for each screen, and a second storage that stores display data to be displayed on the UI parts. A screen control method in a server comprising storage means,
A program for acquiring, by asynchronous communication, UI definition information corresponding to a screen for which a display request has been received and data to be displayed on a UI component included in the UI definition information when a screen display request is received from the information processing apparatus A first generation step of generating first screen information including:
When a screen display request is received from the image forming apparatus, data to be displayed on the UI component included in the UI definition information corresponding to the screen for which the display request has been received is acquired using a rendering function, and the UI component and the UI A second generation step of generating second screen information constituting a screen including data to be displayed on the component;
Transmitting the first screen information generated by the first generation step to the information processing apparatus, or transmitting the second screen information generated by the second generation step to the image forming apparatus;
A screen control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010061684A JP5488088B2 (en) | 2010-03-17 | 2010-03-17 | Screen control system, server, and screen control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010061684A JP5488088B2 (en) | 2010-03-17 | 2010-03-17 | Screen control system, server, and screen control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011197834A true JP2011197834A (en) | 2011-10-06 |
JP5488088B2 JP5488088B2 (en) | 2014-05-14 |
Family
ID=44875987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010061684A Expired - Fee Related JP5488088B2 (en) | 2010-03-17 | 2010-03-17 | Screen control system, server, and screen control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5488088B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013235387A (en) * | 2012-05-08 | 2013-11-21 | Nomura Research Institute Ltd | Multi-device support web server system, and multi-device support method in web server system |
JP2015516629A (en) * | 2012-03-20 | 2015-06-11 | エー9.・コム・インコーポレーテッド | Structured lighting-based content interaction in diverse environments |
US9373025B2 (en) | 2012-03-20 | 2016-06-21 | A9.Com, Inc. | Structured lighting-based content interactions in multiple environments |
JP2016538613A (en) * | 2013-09-27 | 2016-12-08 | ゼットティーイー コーポレイション | Interface function analysis and display method, apparatus, and computer storage medium |
CN111352603A (en) * | 2020-03-11 | 2020-06-30 | 北京文香信息技术有限公司 | Split screen display method and device, terminal and storage medium |
US20200380008A1 (en) * | 2019-05-31 | 2020-12-03 | Snowflake Inc. | Sharing data in a data exchange using listings |
WO2024205265A1 (en) * | 2023-03-30 | 2024-10-03 | 조한슬 | Application for functions related to 3d file and method for providing same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203067A (en) * | 1998-01-19 | 1999-07-30 | Canon Inc | Printer control system, printer, host computer, printing method and storage medium |
JP2002328770A (en) * | 2001-05-07 | 2002-11-15 | Yamaha Corp | Picture transition tab switch controller and its method and its program |
JP2003150971A (en) * | 2001-11-09 | 2003-05-23 | Konica Corp | Information processing method, information processing system, information processing device and information recording medium recording program |
JP2008107987A (en) * | 2006-10-24 | 2008-05-08 | Logly Kk | Information providing device and information providing method |
JP2008262369A (en) * | 2007-04-11 | 2008-10-30 | Canon Inc | Network terminal management apparatus, method, and program |
-
2010
- 2010-03-17 JP JP2010061684A patent/JP5488088B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203067A (en) * | 1998-01-19 | 1999-07-30 | Canon Inc | Printer control system, printer, host computer, printing method and storage medium |
JP2002328770A (en) * | 2001-05-07 | 2002-11-15 | Yamaha Corp | Picture transition tab switch controller and its method and its program |
JP2003150971A (en) * | 2001-11-09 | 2003-05-23 | Konica Corp | Information processing method, information processing system, information processing device and information recording medium recording program |
JP2008107987A (en) * | 2006-10-24 | 2008-05-08 | Logly Kk | Information providing device and information providing method |
JP2008262369A (en) * | 2007-04-11 | 2008-10-30 | Canon Inc | Network terminal management apparatus, method, and program |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015516629A (en) * | 2012-03-20 | 2015-06-11 | エー9.・コム・インコーポレーテッド | Structured lighting-based content interaction in diverse environments |
US9373025B2 (en) | 2012-03-20 | 2016-06-21 | A9.Com, Inc. | Structured lighting-based content interactions in multiple environments |
JP2013235387A (en) * | 2012-05-08 | 2013-11-21 | Nomura Research Institute Ltd | Multi-device support web server system, and multi-device support method in web server system |
JP2016538613A (en) * | 2013-09-27 | 2016-12-08 | ゼットティーイー コーポレイション | Interface function analysis and display method, apparatus, and computer storage medium |
US20200380008A1 (en) * | 2019-05-31 | 2020-12-03 | Snowflake Inc. | Sharing data in a data exchange using listings |
CN111352603A (en) * | 2020-03-11 | 2020-06-30 | 北京文香信息技术有限公司 | Split screen display method and device, terminal and storage medium |
WO2024205265A1 (en) * | 2023-03-30 | 2024-10-03 | 조한슬 | Application for functions related to 3d file and method for providing same |
Also Published As
Publication number | Publication date |
---|---|
JP5488088B2 (en) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5488088B2 (en) | Screen control system, server, and screen control method | |
US8773676B2 (en) | Multifunction peripheral, multifunction peripheral control system, and multifunction peripheral control method for preparing information display screen including changing default conditions | |
JP4386059B2 (en) | Image processing apparatus, information transmission method, and image processing system | |
US20060101343A1 (en) | Image forming apparatus, display screen customization method in image forming apparatus and display screen customization program | |
JP5195861B2 (en) | Information processing system | |
US10182169B2 (en) | Information processing apparatus, information processing method, and non-transitory recording medium | |
US10681232B2 (en) | Image processing apparatus, method for controlling the same, and storage medium | |
US10455101B2 (en) | Server, image processing unit, and non-transitory recording medium for displaying error screen | |
US8508541B2 (en) | Information processing device, information processing method, and recording medium | |
JP2012252517A (en) | Information processing apparatus, display control method, and program | |
JP2014109976A (en) | Information processor and program | |
JP2012064207A (en) | Host device and content display method of the same | |
US8997014B2 (en) | Aggregating RSS ticker for display devices | |
US20140068454A1 (en) | Printing system including a server that generates user interfaces for a control panel of the printing system | |
US8782512B2 (en) | Controller, method, and program product for controlling job information display, and recording medium | |
KR101421780B1 (en) | Information processing apparatus, control method, and computer-readable medium | |
JP2012039356A (en) | Image processing device, control method of the same, and program | |
JP5659562B2 (en) | Document management system, information processing apparatus, document file registration method, and file registration program | |
JP2011186769A (en) | Content management system, content management apparatus and access control method | |
JP6128503B1 (en) | Program, server and system for providing services related to electronic manuals | |
US20210349974A1 (en) | System and method for providing service, and recording medium | |
JP2014127881A (en) | Image processing system, image processing apparatus, document management server, control method of the system, apparatus and server, and program | |
JP2019016072A (en) | Information processing apparatus and program | |
JP6544868B2 (en) | Program, server and system for providing service related to electronic manual | |
JP4840389B2 (en) | Information processing apparatus, image reading apparatus, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140210 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5488088 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |