IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ タタ・コンサルタンシー・サーヴィシズ・リミテッドの特許一覧

特許7048765テーブル構造のウィジェットを制御するためのサーバ制御フレームワーク
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-28
(45)【発行日】2022-04-05
(54)【発明の名称】テーブル構造のウィジェットを制御するためのサーバ制御フレームワーク
(51)【国際特許分類】
   G06F 9/451 20180101AFI20220329BHJP
【FI】
G06F9/451
【請求項の数】 10
(21)【出願番号】P 2020566340
(86)(22)【出願日】2018-11-27
(65)【公表番号】
(43)【公表日】2021-06-03
(86)【国際出願番号】 IB2018059334
(87)【国際公開番号】W WO2019162747
(87)【国際公開日】2019-08-29
【審査請求日】2020-09-30
(31)【優先権主張番号】201821006492
(32)【優先日】2018-02-20
(33)【優先権主張国・地域又は機関】IN
(73)【特許権者】
【識別番号】512070816
【氏名又は名称】タタ・コンサルタンシー・サーヴィシズ・リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アスウィン・ラジーブ
(72)【発明者】
【氏名】プラセンジット・ダス
(72)【発明者】
【氏名】アナガ・ニクヒル・メロトラ
【審査官】吉倉 大智
(56)【参考文献】
【文献】特開2011-253552(JP,A)
【文献】特開2000-122945(JP,A)
【文献】特開平07-200233(JP,A)
【文献】特開2009-020705(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
G06F 8/60-8/77
G06F 9/44-9/445
G06F 9/451
(57)【特許請求の範囲】
【請求項1】
サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御するための方法であって、
前記テーブルの前記1つまたは複数のウィジェットを制御するために、前記サーバにおいて複数の事前定義された構成の中から少なくとも1つの構成を指定するステップ、
前記テーブルの前記1つまたは複数のウィジェットを制御するために、入力としてユーザから1つまたは複数のアクションを受け取るステップ、
前記ユーザの受け取られた各アクションに対応する1つまたは複数のイベントを決定するステップであって、前記1つまたは複数のイベントが、前記ユーザによる前記1つまたは複数のアクションの発生である、決定するステップ、
決定された各イベント用の事前定義されたインターフェースに従って、前記サーバにおいて複数のイベントハンドラから少なくとも1つのイベントハンドラを指定するステップであって、前記複数のイベントハンドラが、起動(initiating)、初期化された(initialized)、スキーマ初期化(schema initializing)、スキーマが初期化された(schema initialized)、データロード(data loading)、データがロードされる(data loaded)、セルクリック(cell click)、セルがフォーカスを受け取った(cell got focus)、セルがフォーカスを失った(cell lost focus)、セルテキスト変更(cell text changing)、セルテキストが変更された(cell text changed)、行追加(row adding)、行が追加された(row added)、列追加(column adding)、列が追加された(column added)、行削除(row deleting)、行が削除された(row deleted)、データ提出(data submitting)、データが提出された(data submitted)、検証(validating)、検証された(validated)を含む、指定するステップ、
前記ディスプレイ上に配置された前記テーブルの1つまたは複数のウィジェットを制御し、複数のユーザインターフェースおよび前記サーバにわたって1つまたは複数の特性を同期させるために、クライアントユーザインターフェースで発生した1つまたは複数のイベントを処理するための前記複数のイベントハンドラの各々に、ユニバーサルリソース識別子(URI)を指定するステップ、ならびに
前記ユーザからの前記受け取られた1つまたは複数のアクションに基づいて前記テーブルの少なくとも1つのウィジェットを制御するために、少なくとも1つのイベントハンドラを呼び出すステップ
のうちの1つまたは複数のステップを含む、方法。
【請求項2】
前記テーブル上のデータのジャストインタイム更新を可能にするために、前記テーブルの複数の観測可能プロパティを指定する1つまたは複数のステップであって、前記テーブルの前記観測可能プロパティのどんな変化も、前記サーバ側データを前記クライアントユーザインターフェースと同期させるために追跡される、指定する1つまたは複数のステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記複数の事前定義された構成が、行追加許可、行削除許可、列追加許可、列削除許可、列編集可能、列データタイプ、セル編集可能、セルデータタイプ、セル空白許可、およびセルカスタム検証を含む、請求項1に記載の方法
【請求項4】
記ユーザの前記1つまたは複数のアクションが、前記サーバにおいて指定された前記複数の事前定義された構成に対して自動的に検証される、請求項1に記載の方法。
【請求項5】
観測可能プロパティの変更が、前記ディスプレイ上で前記テーブルのライブアップデートをトリガする、請求項1に記載の方法。
【請求項6】
サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御するためのシステムであって、
複数のユーザインターフェースであって、前記複数のユーザインターフェースにわたる1つまたは複数の特性が、前記サーバと同期される、複数のユーザインターフェースと、
複数の命令を有するメモリと、
プロセッサとを備え、前記プロセッサが、メモリと通信可能に結合され、前記サーバが、前記プロセッサおよび前記メモリと通信可能に結合され、前記サーバは、前記システムが
前記テーブルの前記1つまたは複数のウィジェットを制御するために、サーバにおいて複数の事前定義された構成の中から少なくとも1つの構成を指定することと、
前記テーブルの1つまたは複数のウィジェットを制御するために、入力としてユーザから1つまたは複数のアクションを受け取ることと、
前記ユーザの受け取られた各アクションに対応する1つまたは複数のイベントを決定することであって、前記1つまたは複数のイベントが、前記ユーザによる前記1つまたは複数のアクションの発生である、決定することと、
決定された各イベント用の事前定義されたインターフェースに従って、前記サーバにおいて複数のイベントハンドラから少なくとも1つのイベントハンドラを指定することであって、前記複数のイベントハンドラが、起動(initiating)、初期化された(initialized)、スキーマ初期化(schema initializing)、スキーマが初期化された(schema initialized)、データロード(data loading)、データがロードされる(data loaded)、セルクリック(cell click)、セルがフォーカスを受け取った(cell got focus)、セルがフォーカスを失った(cell lost focus)、セルテキスト変更(cell text changing)、セルテキストが変更された(cell text changed)、行追加(row adding)、行が追加された(row added)、列追加(column adding)、列が追加された(column added)、行削除(row deleting)、行が削除された(row deleted)、データ提出(data submitting)、データが提出された(data submitted)、検証(validating)、および検証された(validated)を含む、指定することと、
前記ディスプレイ上に配置された前記テーブルの1つまたは複数のウィジェットを制御し、複数のユーザインターフェースおよび前記サーバにわたって1つまたは複数の特性を同期させるために、クライアントユーザインターフェースで発生した1つまたは複数のイベントを処理するための各イベントハンドラに、ユニバーサルリソース識別子(URI)を指定することと、
前記ユーザからの前記受け取られた1つまたは複数のアクションに基づいて前記テーブルの少なくとも1つのウィジェットを制御するために、少なくとも1つのイベントハンドラを呼び出すことと
を行うことができるようにするために、前記プロセッサ上で実行されるように構成される、システム。
【請求項7】
前記システムが、
前記テーブル上のデータのジャストインタイム更新を可能にするために、前記テーブルの複数の観測可能プロパティを指定するステップであって、前記テーブルの前記観測可能プロパティのどんな変化も、前記サーバ側データを前記クライアントユーザインターフェースと同期させるために追跡される、指定するステップ
を行うためのモジュールをさらに備える、請求項6に記載のシステム。
【請求項8】
前記複数の構成が、行追加許可、行削除許可、列追加許可、列削除許可、列編集可能、列データタイプ、セル編集可能、セルデータタイプ、セル空白許可、およびセルカスタム検証を含む、請求項6に記載のシステム
【請求項9】
記ユーザの1つまたは複数のアクションが、前記サーバで指定された前記事前定義された構成に対して自動的に検証される、請求項6に記載のシステム。
【請求項10】
1つまたは複数の命令を記憶した非一時的コンピュータ可読媒体であって、前記命令が、システム上のプロセッサによって実行されると、サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御する方法を前記プロセッサに実行させ、前記方法が、
前記テーブルの前記1つまたは複数のウィジェットを制御するために、前記サーバにおいて複数の事前定義された構成の中から少なくとも1つの構成を指定することと、
前記テーブルの前記1つまたは複数のウィジェットを制御するために、入力としてユーザから1つまたは複数のアクションを受け取ることと、
前記ユーザの受け取られた各アクションに対応する1つまたは複数のイベントを決定することであって、前記1つまたは複数のイベントが、前記ユーザによる前記1つまたは複数のアクションの発生である、決定することと、
決定された各イベント用の事前定義されたインターフェースに従って、前記サーバにおいて複数のイベントハンドラから少なくとも1つのイベントハンドラを指定することであって、前記複数のイベントハンドラが、起動(initiating)、初期化された(initialized)、スキーマ初期化(schema initializing)、スキーマが初期化された(schema initialized)、データロード(data loading)、データがロードされる(data loaded)、セルクリック(cell click)、セルがフォーカスを受け取った(cell got focus)、セルがフォーカスを失った(cell lost focus)、セルテキスト変更(cell text changing)、セルテキストが変更された(cell text changed)、行追加(row adding)、行が追加された(row added)、列追加(column adding)、列が追加された(column added)、行削除(row deleting)、行が削除された(row deleted)、データ提出(data submitting)、データが提出された(data submitted)、検証(validating)、および検証された(validated)を含む、指定することと、
前記ディスプレイ上に配置された前記テーブルの1つまたは複数のウィジェットを制御し、複数のユーザインターフェースおよび前記サーバにわたって1つまたは複数の特性を同期させるために、クライアントユーザインターフェースで発生した1つまたは複数のイベントを処理するための前記複数のイベントハンドラの各々に、ユニバーサルリソース識別子(URI)を指定することと、
前記ユーザからの前記受け取られた1つまたは複数のアクションに基づいて前記テーブルの少なくとも1つのウィジェットを制御するために、少なくとも1つのイベントハンドラを呼び出すことと
を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
優先権
本発明は、2018年2月20日にインドで出願された、インド出願(名称:A server controlled framework for controlling widgets of a tabular structure)第201821006492号の優先権を主張する。
【0002】
本明細書の実施形態は、一般に、ユーザインターフェーステーブル設計および実装フレームワークの分野に関し、より詳細には、サーバを使用してテーブルのウィジェットを制御するための方法およびシステムに関する。
【背景技術】
【0003】
テーブル構造は、多くの場合、ユーザインターフェース(UI)設計および実装の極めて重要な部分である。現在の技術水準では、開発者の要求を満たすように構成することができる複数のテーブルウィジェットフレームワーク、たとえば、ExtJsテーブル、Dojoテーブルなどが利用可能である。これらのテーブルは、JavaScriptレンダラまたはHTMLマークアップによりUIに追加することができ、これらのテーブルの動作はしたがって、クライアント側のフレームワークAPIにより制御される。
【0004】
一例として、プロセス技術者によって監視および制御されるライブプロセスコンソールを考えると、開発者は、プロセス中の材料特性におけるリアルタイム変動を表示するための材料特性テーブルと、前のものに対するプロセスパラメータのリアルタイム値を表示するためのプロセスパラメータテーブルなど、2つのテーブル構造を作成する必要があり、ユーザは同様に現在の値を更新する必要があり、それらがプロセスに影響を及ぼすべきである。ここでは、開発者は、異なる構成を持つ、2つの異なるテーブルウィジェットを作成し、データのライブアップデート、ユーザによって提供された値の検証を含む、テーブルの内外のデータフローを処理しなければならない。この目的を達成するために、開発者は、フロントエンドスクリプト言語の能力を大いに活用する必要がある。
【0005】
したがって、テーブルの配置および動作は、JavaScript、VB Scriptなどのようなクライアント側スクリプト言語、またはExtJs、Dojoなどそれらの派生物により制御されるので、これらの従来のフレームワークは、しばしば、かなりのユーザエンドのスクリプト技能を必要とする。また、これらのフレームワークは、しばしば、これらのテーブルを完全に運用可能にするために、クライアント側とサーバ側の両方を個別に処理することを必要とし、予想される動作の大部分が同様であっても、別様に開発されなければならない。
【発明の概要】
【課題を解決するための手段】
【0006】
実施形態を基本的に理解できるように、以下に本開示のいくつかの実施形態の簡略化した概要を提示する。本概要は、実施形態の広範囲にわたる大要ではない。実施形態の主要/重要な要素を断定すること、または実施形態の範囲を明確に示すことを意図していない。その唯一の目的は、以下に提示するより詳細な説明への前置きとして、いくつかの実施形態を平易な形で提示することである。
【0007】
上記に鑑みて、本明細書の一実施形態は、サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御するためのシステムおよび方法を提供する。ここにおいて、テーブルの操作面は、クライアント側からサーバ側にシフトされることになる。それは、テーブルの1つまたは複数のウィジェットが、最小限のスクリプト処理でユーザ側に配置されることを可能にする。
【0008】
一態様では、実施形態はここで、サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御するための方法を提供する。方法は、テーブルの1つまたは複数のウィジェットを制御するために、サーバにおいて複数の事前定義された構成の中から少なくとも1つの構成を指定する1つまたは複数のステップを含む。1つまたは複数のアクションが、入力としてユーザから受け取られ、受け取られたユーザの各アクションに対応する1つまたは複数のイベントが決定され、1つまたは複数のイベントは、ユーザによる1つまたは複数のアクションの発生である。さらに、ユーザは、ディスプレイ上に配置されたテーブルの1つまたは複数のウィジェットを制御するために、決定された各イベント用の事前定義されたインターフェース、およびユーザエンドで発生した1つまたは複数のイベントを処理するための各イベントハンドラへのユニバーサルリソース識別子(URI:universal resource identifier)に従って、サーバにおいて複数のイベントハンドラから少なくとも1つのイベントハンドラを指定する。さらに、複数のユーザインターフェースにわたる1つまたは複数の特性が、サーバと同期され、最後にサーバが、ユーザからの受け取られた1つまたは複数のアクションに基づいて、テーブルの少なくとも1つのウィジェットを制御するために少なくとも1つのイベントハンドラを呼び出す。その上、ユーザは、テーブル上のデータのジャストインタイム更新を可能にするために、テーブルの複数の観測可能プロパティを指定し、テーブルの観測可能プロパティのどんな変化も、サーバ側データをユーザと同期させるために追跡される。
【0009】
別の態様では、実施形態はここで、サーバを使用してテーブルの1つまたは複数のウィジェットを制御するためのシステムを提供する。このシステムは、複数のユーザインターフェースを備え、ユーザインターフェースは、テーブルウィジェットを配置するように構成される。さらに、システムは、互いに通信可能に接続された、複数の命令を有するメモリと、プロセッサと、サーバとを備える。システムは、テーブルの1つまたは複数のウィジェットを制御するために、サーバにおいて複数の事前定義された構成の中から少なくとも1つの構成を指定するように構成される。1つまたは複数のアクションが、入力としてユーザから受け取られ、ユーザの受け取られた各アクションに対応する1つまたは複数のイベントが決定され、1つまたは複数のイベントは、ユーザによる1つまたは複数のアクションの発生である。さらに、ユーザは、ディスプレイ上に配置されたテーブルの1つまたは複数のウィジェットを制御するために、決定された各イベント用の事前定義されたインターフェース、およびユーザエンドで発生した1つまたは複数のイベントを処理するための各イベントハンドラへのユニバーサルリソース識別子(URI)に従って、サーバにおいて複数のイベントハンドラから少なくとも1つのイベントハンドラを指定する。さらに、複数のユーザインターフェースにわたる1つまたは複数の特性が、サーバと同期され、最後にサーバが、ユーザからの受け取られた1つまたは複数のアクションに基づいて、テーブルの少なくとも1つのウィジェットを制御するために少なくとも1つのイベントハンドラを呼び出す。その上、ユーザは、テーブル上のデータのジャストインタイム更新を可能にするために、テーブルの複数の観測可能プロパティを指定し、テーブルの観測可能プロパティのどんな変化も、サーバ側データをユーザと同期させるために追跡される。
【0010】
本明細書のまた別の実施形態では、システム上のプロセッサによって実行されると、サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御する方法をプロセッサに実行させる1つまたは複数の命令を記憶した非一時的コンピュータ可読媒体が提供される。1つまたは複数の命令は、テーブルの1つまたは複数のウィジェットを制御するために、サーバにおいて複数の事前定義された構成の中から少なくとも1つの構成を指定することを含む。1つまたは複数のアクションが、入力としてユーザから受け取られ、受け取られたユーザの各アクションに対応する1つまたは複数のイベントが決定され、1つまたは複数のイベントは、ユーザによる1つまたは複数のアクションの発生である。さらに、ユーザは、ディスプレイ上に配置されたテーブルの1つまたは複数のウィジェットを制御するために、決定された各イベント用の事前定義されたインターフェース、およびユーザエンドで発生した1つまたは複数のイベントを処理するための各イベントハンドラへのユニバーサルリソース識別子(URI)に従って、サーバにおいて複数のイベントハンドラから少なくとも1つのイベントハンドラを指定する。さらに、複数のユーザインターフェースにわたる1つまたは複数の特性が、サーバと同期され、最後にサーバが、ユーザからの受け取られた1つまたは複数のアクションに基づいて、テーブルの少なくとも1つのウィジェットを制御するために少なくとも1つのイベントハンドラを呼び出す。その上、ユーザは、テーブル上のデータのジャストインタイム更新を可能にするために、テーブルの複数の観測可能プロパティを指定し、テーブルの観測可能プロパティのどんな変化も、サーバ側データをユーザと同期させるために追跡される。
【0011】
本明細書のどのブロック図も、本主題の原理を具体化する例示的なシステムの概念図を表すことを当業者には諒解されたい。同様に、どのフローチャート、流れ図、状態遷移図、擬似コードなども、様々なプロセスを表し、それらのプロセスは実質的にコンピュータ可読媒体において表現され、コンピューティングデバイスまたはプロセッサが明示的に示されているか否かにかかわらず、そのようなコンピューティングデバイスまたはプロセッサによってそのように実行され得ることが諒解されよう。
【0012】
本明細書の実施形態は、図面を参照した以下の詳細な説明からより良く理解されよう。
【図面の簡単な説明】
【0013】
図1開示の一実施形態による、サーバを使用してテーブルの1つまたは複数のウィジェットを制御する際に含まれる1つまたは複数のステップを示すフローチャートである。
図2】本開示の一実施形態による、サーバを使用してテーブルの1つまたは複数のウィジェットを制御するためのブロック図である。
図3図3(a)、図3(b)は本開示の一実施形態によるシステムの概略的アーキテクチャ図である。
【発明を実施するための形態】
【0014】
本明細書における実施形態ならびにその様々な特徴および有利な詳細について、添付の図面に示し、以下の説明で詳細を述べる非限定的な実施形態を参照してさらに十分に説明する。本明細書で使用する例は、本明細書の実施形態を実践できる方法の理解を単に容易にすること、さらに当業者が本明細書の実施形態を実践できるようにすることを目的としている。したがって、例は、本明細書の実施形態の範囲を限定すると解釈されるべきではない。
【0015】
次に、同様の参照符号が図全体にわたって一貫して対応する特徴を表す図面、より詳細には図1から図3を参照すると、好ましい実施形態が示されており、これらの実施形態について、以下の例示的なシステムおよび/または方法の文脈において説明する。
【0016】
本開示の一態様による、サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御するための方法(100)。方法(100)は、サーバを使用してテーブルの1つまたは複数のウィジェットを制御するための1つまたは複数のステップを含み、同時に方法は、ユーザがユーザインターフェーステーブル上のデータのライブアップデートを有効にすることを可能にする。さらにサーバは、サーバ側のデータをクライアントUIと同期させるアップデートUI(ユーザインターフェース)トリガを呼び出すことができる。
【0017】
最初に、ステップ(102)において、ユーザは、テーブルの1つまたは複数のウィジェットを制御するために、サーバにおいて複数の事前定義された構成のうちの少なくとも1つの構成を指定する。複数の事前定義された構成は、行追加許可(allow row addition)、行削除許可(allow row deletion)、列追加許可(allow column addition)、列削除許可(allow column deletion)、列編集可能(column editable)、列データタイプ(column data type)、セル編集可能(cell editable)、セルデータタイプ(cell data type)、セル空白許可(cell allow empty)、およびセルカスタム検証(cell custom validations)を含む。一例では、ユーザは、「列データ型」を「数値」など、サーバにおいて構成を指定することを希望する。列データ型が数値として指定されるので、システムは、この列の下でセルを編集する間、数値のみを受け付ける。
【0018】
ステップ(104)において、ユーザは、複数の観測可能(observable)プロパティを指定し、テーブルのプロパティのどんな変化もシステムによって自動的に追跡される。別の例では、観測可能プロパティがハンドラで定義され、ユーザアクションを含む、任意の手段によりプロパティの値が変わる場合、プロパティの変化を通知する特定のイベントが呼び出される。
【0019】
ステップ(106)において、プロセスは、テーブルの1つまたは複数のウィジェットを制御するために入力としてユーザから1つまたは複数のアクションを受け取る。
【0020】
ステップ(108)において、プロセスは、ユーザによって行われた各アクションに対応する1つまたは複数のイベントを決定する。さらに、1つまたは複数のイベントはまた、ソフトウェアによって認識され、ソフトウェアによって処理されてもよい。通常、イベントは、プログラムフローと同期して処理され、すなわちソフトウェアは、イベントが外部環境とは非同期的に発生するイベントループとして処理される、1つまたは複数の専用の場所を有してもよい。
【0021】
ステップ(110)において、ユーザは、少なくとも1つの決定されたイベント用の事前定義されたインターフェースに従ってサーバエンドで複数のイベントハンドラから少なくとも1つのイベントハンドラを指定する。複数のイベントハンドラは、起動(initiating)、初期化された(initialized)、スキーマ初期化(schema initializing)、スキーマが初期化された(schema initialized)、データロード(data loading)、データがロードされる(data loaded)、セルクリック(cell click)、セルがフォーカスを受け取った(cell got focus)、セルがフォーカスを失った(cell lost focus)、セルテキスト変更(cell text changing)、セルテキストが変更された(cell text changed)、行追加(row adding)、行が追加された(row added)、列追加(column adding)、列が追加された(column added)、行削除(row deleting)、行が削除された(row deleted)、データ提出(data submitting)、データが提出された(data submitted)、検証(validating)、検証された(validated)を含む。一例では、ユーザは、ディスプレイ上のクライアント活動を監視し、サーバのファイルにそれをログ記録したいと思う。この場合、ユーザは、対応するイベントハンドラに、ログ呼び出しを書き込んでもよく、たとえば「セル[2,3]が「abc」から「abcd」に編集された」というメッセージが、cell text changedイベントで追加される。
【0022】
ステップ(112)において、ユーザは、ディスプレイ上に配置されたテーブルの1つまたは複数のウィジェットを制御し、UIおよびサーバにわたって1つまたは複数の特性を同期させるために、ユーザエンドで発生した1つまたは複数のイベントを処理するためのサーバハンドラにユニバーサルリソース識別子(URI)を指定する。ユーザは、動作をカスタマイズするために追加の構成を提供してもよく、これらの追加の構成は、サーバエンドの複数のイベントハンドラにわたって同期される。
【0023】
ステップ(114)において、ユーザまたはシステムからの受け取った1つまたは複数のアクションに基づいてテーブルの少なくとも1つのウィジェットを制御するために、少なくとも1つのイベントハンドラが呼び出される。一例では、ユーザがテーブルのセルを編集し始める場合、サーバエンドで複数のイベントハンドラから「cell editing(セル編集)」と名付けられたイベントハンドラが、コンテキスト引数(contextual argument)とともに呼び出される。コンテキスト引数に基づいて、イベントのために書き込まれたハンドラは、クライアントテーブルビューへのオートフィルデータ(auto-fill data)を提案してもよい。
【0024】
本開示の一態様による、サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御するためのシステム(200)が、図2に示されている。システム(200)は、複数のユーザインターフェース(202)、命令のセットを有するメモリ(204)、メモリと通信可能に接続されたプロセッサ(206)を備える。サーバ(208)は、システムのメモリ(204)およびプロセッサ(206)と接続するように構成される。サーバ(208)は、ディスプレイ(210)上のテーブルの1つまたは複数のウィジェットを制御するための1つまたは複数のステップを実行するためにプロセッサ(206)を呼び出すように構成される。
【0025】
本開示の一実施形態によれば、複数のユーザインターフェース(202)は、プロセッサ(206)に複数の入力を提供するように構成される。所与の仕様に変更を行うことに関する複数の入力は、1つまたは複数のウィジェットを制御するためにユーザによって入力される。ユーザインターフェース(202)は、たとえばLAN、ケーブルなどの有線ネットワーク、およびWLAN、セルラー、または衛星などのワイヤレスネットワークを含む、多種多様なネットワークおよびプロトコルタイプ内の複数の通信を容易にすることができる様々なソフトウェアおよびハードウェアインターフェース、たとえばウェブインターフェース、グラフィカルユーザインターフェースなどを含むことができる。
【0026】
本開示の一実施形態によれば、システム(200)は、テーブルの1つまたは複数のウィジェットを制御するために複数の事前定義されたプロパティのうちの少なくとも1つに対する受け取った1つまたは複数のアクションに基づいて、サーバ(208)エンドで少なくとも1つの構成を指定するように構成される。複数の構成は、行追加許可、行削除許可、列追加許可、列削除許可、列編集可能、列データタイプ、セル編集可能、セルデータタイプ、セル空白許可、およびセルカスタム検証を含む。
【0027】
本開示の一実施形態によれば、システム(200)は、複数の観測可能プロパティを指定するように構成され、プロパティのどんな変化もシステムによって自動的に追跡される。
【0028】
図3(a)および図3(b)を参照すると、サーバがユーザインターフェーステーブルウィジェットを制御した一例の概略図が示されている。この概略図は、UI実装形態と、コンポーネントコアと、サーバ側実装形態とを含む。UI実装形態は、UIテーブルと、テーブルハンドラAPIとをさらに含む。コンポーネントコアは、単一のように見えるが、クライアント側およびサーバ側に分かれている。コンポーネントコアは、クライアント側のテーブル実装形態と、サーバ側のサーバ実装形態との間でデータを効果的にルーティングすることを担う。コンポーネントコアはまた、その検証、ライブデータトリガ、および観測可能オブジェクトを追跡する。さらに、UI実装形態は、UIテーブルビューと、イベントリスナーと、ビューアップデータと、UIイベントハンドラとを含む。UIテーブルビューがデータにテーブル構造を与え、外観を処理する一方で、イベントリスナー、ビューアップデータはそれぞれ、ユーザアクションをチェックし、ビューを更新する。イベントハンドラは、任意のユーザ指定のクライアント側イベント処理アクションを実行し、かつ/またはサーバ側処理をコンポーネントコアに要求する。サーバ側実装形態は、主としてテーブルコントローラと、様々なイベントハンドラとからなる。テーブルコントローラは、構成および動作制御に対処し、イベントハンドラは、開発者が実装したイベントへの応答を行う。
【0029】
本開示の一実施形態によれば、システム(200)は、少なくとも1つの決定されたイベント用の事前定義されたインターフェースに従ってサーバエンドで少なくとも1つのイベントハンドラを指定するように構成される。複数のイベントハンドラは、起動(initiating)、初期化された(initialized)、スキーマ初期化(schema initializing)、スキーマが初期化された(schema initialized)、データロード(data loading)、データがロードされる(data loaded)、セルクリック(cell click)、セルがフォーカスを受け取った(cell got focus)、セルがフォーカスを失った(cell lost focus)、セルテキスト変更(cell text changing)、セルテキストが変更された(cell text changed)、行追加(row adding)、行が追加された(row added)、列追加(column adding)、列が追加された(column added)、行削除(row deleting)、行が削除された(row deleted)、データ提出(data submitting)、データが提出された(data submitted)、検証(validating)、および検証された(validated)を含む。
【0030】
本開示の一実施形態によれば、システム(200)は、ユーザまたはシステムからの受け取った1つまたは複数のアクションに基づいてテーブルの少なくとも1つのウィジェットを構成するために、少なくとも1つのイベントハンドラを指定するように構成される。
【0031】
本開示の一実施形態によれば、システム(200)は、ディスプレイ上に配置されたテーブルの1つまたは複数のウィジェットに対して、ユーザエンドで発生した1つまたは複数のイベントを処理し、UIおよびサーバにわたって1つまたは複数の特性を同期させるために、サーバハンドラにユニバーサルリソース識別子(URI)を指定するように構成される。ユーザは、動作をカスタマイズするために追加の構成を提供してもよく、これらの追加の構成は、サーバエンドの複数のイベントハンドラにわたって同期される。
【0032】
本開示の一実施形態によれば、システム(200)は、テーブルの1つまたは複数のウィジェットを制御するために、入力としてユーザから1つまたは複数のアクションを受け取るように構成される。ユーザアクションは、サーバエンドで指定された構成に対して検証される。
【0033】
本開示の一実施形態によれば、システム(200)は、ユーザによって行われた各アクションに対応する1つまたは複数のイベントを決定するように構成される。さらに、1つまたは複数のイベントはまた、ソフトウェアによって認識され、ソフトウェアによって処理されてもよい。通常、イベントは、プログラムフローと同期して処理され、すなわちソフトウェアは、イベントが外部環境とは非同期的に発生するイベントループとして処理される、1つまたは複数の専用の場所を有してもよい。
【0034】
本開示の一実施形態によれば、システム(200)は、ユーザまたはシステムからの受け取った1つまたは複数のアクションに基づいてテーブルの少なくとも1つのウィジェットを制御するために、指定された少なくとも1つのイベントハンドラを呼び出すように構成される。一例では、ユーザがテーブルのセルを編集し始める場合、サーバエンドで複数のイベントハンドラから「cell editing」と名付けられたイベントハンドラが、コンテキスト引数とともに呼び出される。コンテキスト引数に基づいて、イベントのために書き込まれたハンドラは、クライアントテーブルビューへのオートフィルデータを提案してもよい。
【0035】
記述した説明は、いかなる当業者も実施形態を作成し、使用することができるように、本明細書の主題を説明している。主題実施形態の範囲は、特許請求の範囲によって定義され、当業者に思い付く他の変更形態を含む場合がある。そのような他の変更形態は、それらが特許請求の範囲の文字通りの言葉と違わない同様の要素を有する場合、または、特許請求の範囲の文字通りの言葉とはわずかな違いのある等価な要素を含む場合、特許請求の範囲内にあるものとする。
【0036】
本明細書の本開示の実施形態は、サーバを使用してディスプレイ上のテーブルの1つまたは複数のウィジェットを制御するための方法およびシステムを提供し、この方法は、テーブルの1つまたは複数のウィジェットを制御するために入力としてユーザから1つまたは複数のアクションを受け取るステップと、テーブルの1つまたは複数のウィジェットを制御するために、複数の事前定義された構成のうちの少なくとも1つに対してサーバエンドで少なくとも1つの構成を指定するステップと、複数のイベントを決定するステップであって、複数のイベントがユーザによる1つまたは複数のアクションの発生である、決定するステップと、少なくとも1つの決定されたイベント用の事前定義されたインターフェースに従ってサーバエンドで少なくとも1つのイベントハンドラを指定するステップと、複数の観測可能プロパティを指定するステップであって、プロパティのどんな変化もシステムによって自動的に追跡される、指定するステップと、ユーザからの受け取った1つまたは複数のアクションに基づいてテーブルの少なくとも1つのウィジェットを制御するために、指定された少なくとも1つのイベントハンドラを呼び出すステップとを含む。
【0037】
しかしながら、保護の範囲は、メッセージをその中に有するコンピュータ可読手段に加えてプログラムに広げられることを理解されたい。そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイルデバイスもしくは任意の好適なプログラマブルデバイス上で実行されるとき、方法の1つまたは複数のステップを実施するためのプログラムコード手段を含む。ハードウェアデバイスは、たとえば、サーバ、もしくはパーソナルコンピュータなど、またはそれらの任意の組合せのような任意の種類のコンピュータを含む、プログラム可能である任意の種類のデバイスとすることができる。デバイスは、たとえば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)のようなハードウェア手段、またはハードウェアおよびソフトウェア手段の組合せ、たとえばASICおよびFPGA、または少なくとも1つのマイクロプロセッサおよびソフトウェアモジュールがそこにある少なくとも1つのメモリを含む場合もある。したがって、手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書で説明する方法の実施形態は、ハードウェアおよびソフトウェアで実装されることがある。デバイスは、ソフトウェア手段を含む場合もある。代替的に、実施形態は、たとえば、複数のCPUを使用して、異なるハードウェアデバイス上で実装される場合がある。
【0038】
本明細書の実施形態は、ハードウェアおよびソフトウェア要素を含むことができる。ソフトウェアで実装される実施形態は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本明細書で説明する様々なモジュールによって行われる機能は、他のモジュールまたは他のモジュールの組合せで実装される場合がある。この説明の目的で、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、もしくはデバイスによって、またはこれらに関連して使用されるプログラムを含む、記憶する、通信する、伝搬する、または移植することができるいかなる装置とすることもできる。
【0039】
媒体は、電子、磁気、光、電磁気、赤外線、または半導体システム(もしくは装置もしくはデバイス)、または伝搬媒体とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、剛性磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクトディスク読取り専用メモリ(CD-ROM)、コンパクトディスク読取り/書込み(CD-RW)、およびDVDが含まれる。
【0040】
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合される少なくとも1つのプロセッサを含むことになる。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを検索しなければならない回数を減らすために少なくとも一部のプログラムコードを一時的に記憶するキャッシュメモリとを含むことができる。
【0041】
入力/出力(I/O)デバイス(キーボード、ディスプレイ、ポインティングデバイスなどを含むが、これらに限定しない)は、直接的に、または介在するI/Oコントローラによって、システムに結合することができる。データ処理システムが介在するプライベートネットワークまたはパブリックネットワークを経由して他のデータ処理システムまたはリモートプリンタもしくは記憶装置に結合されるようになることを可能にするために、ネットワークアダプタがシステムに結合される場合もある。モデム、ケーブルモデム、およびイーサネットカードは、ネットワークアダプタの現在利用可能なタイプのほんの一部である。
【0042】
実施形態を実践するための代表的ハードウェア環境は、本明細書の実施形態による情報処理/コンピュータシステムのハードウェア構成を含み得る。本明細書のシステムは、少なくとも1つのプロセッサまたは中央処理ユニット(CPU)を備える。CPUは、システムバスを介して、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、および入力/出力(I/O)アダプタなどの様々なデバイスに相互接続される。I/Oアダプタは、ディスクユニットおよびテープドライブなどの周辺デバイス、またはシステムによって読み取ることができる他のプログラム記憶デバイスに接続することができる。システムは、プログラム記憶デバイス上の発明の命令を読み取り、これらの命令に従って、本明細書の実施形態の方法を実行することができる。
【0043】
システムはさらに、キーボード、マウス、スピーカー、マイクロフォン、および/またはタッチスクリーンデバイス(図示せず)などの他のユーザインターフェースデバイスを、ユーザ入力を集めるバスに接続するユーザインターフェースアダプタを含む。加えて、通信アダプタが、データ処理ネットワークにバスを接続し、ディスプレイアダプタが、たとえばモニタ、プリンタ、または送信機などの出力デバイスとして具体化され得るディスプレイデバイスにバスを接続する。
【0044】
前述の説明は、様々な実施形態に関して示した。本出願が関係する当業者には、原理、趣旨、および範囲から有意味に逸脱することなく、説明した構造および動作の方法の改変および変更を実施できることを諒解されよう。
【符号の説明】
【0045】
200 システム
202 ユーザインターフェース
204 メモリ
206 プロセッサ
208 サーバ
210 ディスプレイ
図1
図2
図3(a)】
図3(b)】