JP7460689B2 - スプレッドシートに基づくソフトウェアアプリケーション開発 - Google Patents
スプレッドシートに基づくソフトウェアアプリケーション開発 Download PDFInfo
- Publication number
- JP7460689B2 JP7460689B2 JP2022098439A JP2022098439A JP7460689B2 JP 7460689 B2 JP7460689 B2 JP 7460689B2 JP 2022098439 A JP2022098439 A JP 2022098439A JP 2022098439 A JP2022098439 A JP 2022098439A JP 7460689 B2 JP7460689 B2 JP 7460689B2
- Authority
- JP
- Japan
- Prior art keywords
- spreadsheet
- data
- page
- web
- user interface
- 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.)
- Active
Links
- 238000011161 development Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims description 81
- 230000002452 interceptive effect Effects 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 33
- 238000010200 validation analysis Methods 0.000 claims description 26
- 238000011156 evaluation Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 65
- 230000009471 action Effects 0.000 description 42
- 230000014509 gene expression Effects 0.000 description 25
- 230000008859 change Effects 0.000 description 24
- 238000013502 data validation Methods 0.000 description 23
- 230000010354 integration Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 23
- 238000013461 design Methods 0.000 description 20
- 238000012986 modification Methods 0.000 description 18
- 230000004048 modification Effects 0.000 description 18
- 230000008676 import Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 230000000007 visual effect Effects 0.000 description 13
- 230000008901 benefit Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 6
- 230000000153 supplemental effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 208000018747 cerebellar ataxia with neuropathy and bilateral vestibular areflexia syndrome Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Description
以下に、本明細書で説明される本発明の種々の態様の簡略化された概要を提示する。この概要は、詳細ではなく、鍵となる又は重要な要素を特定すること又は請求項の範囲を線引きすることを意図していない。以下に提供されるより詳細な説明への序章としていくつ
かの概念を簡略化された形態で単に提示する。
つ又は複数のデータソースと同じワークシートに記憶され得る。
ョンにネイティブな式により定義され得る。
関する要求に応答して、少なくとも1つのデータソースに関連する及び特定のウェブページに対応する1つ又は複数のユーザインターフェース・テンプレートに従ってフォーマットされる1つ又は複数のデータレコードを含む特定のウェブページの提示を生成し得る。システムは、対話型ウェブアプリケーションを介してユーザ入力を受信することに応答してウェブデータストアを更新し得る。第1のワークシートは、第2のワークシートと同じワークシート又は異なるワークシートであり得る。
フォーマットの変更、式の変更、及びフォーマット評価値に基づいてユーザに視覚フィードバックを提供し得る。
ードは、特定のウェブページに対応する1つ又は複数のユーザインターフェース・テンプレートにより識別される及びフォーマットされる。webifierシステムは、ウェブデータストアを生成した後でなされた1つ又は複数の変更を識別するべくスプレッドシートを分析し、スプレッドシートになされた1つ又は複数の変更を用いて対話型ウェブアプリケーションを更新し得る。特定のウェブページに関する第2の要求に応答して、webifierシステムは、スプレッドシートになされた1つ又は複数の変更を組み込む特定のウェブページを作り得る。
あり得る。データ転送は、青写真のスプレッドシートと結果として得られるソフトウェアアプリケーションとの間で一方向又は双方向であってよく、いくつかの実施形態では、これにより、修正されたデータが、ソフトウェアアプリケーションとスプレッドシートフォームとの間で転送される、オリジナルのスプレッドシート(単数又は複数)に返送される又は新しいスプレッドシート(単数又は複数)へ転送されることを可能にする。
See Is What You Get”)エディタでセルをフォーマットする能力
、フォーマットの変更及び式の変更及び式の評価の結果として生じる値のユーザへの即座の視覚フィードバック、“sum()”又は“concatenate()”などの名前付き関数を呼び出すことができるセルの式、“A1:B10”又は“A1:A10,C1:C10”などの単一セル又はセルの範囲とすることができるセル参照、他のセル参照に用いられるべきテキストエイリアスを割り当てることができるセル範囲、ユーザが最初に単一セル又はセルの範囲を強調表示するべくそれらと対話することによってセルを選択する及びセルの内容を他のセルに移動することを可能にするユーザインターフェース、それらのセルへの参照を現在編集中のセルの式に自動的に挿入するためにユーザが1つ又は複数のセルを選択することを可能にするユーザインターフェース、他のセルが同様にスパンすることを必要とせずに単一セル又は単一セルの内容が複数の行及び/又は列にわたって視覚的にスパンし得ることをユーザが指定できること、行と列が交換可能であり、したがって、データを回転された配向で入力することもできるようにデータの論理配向に対する最小の制約又は無制約、フォーマット及び値及び式がセルの行全体又は列全体又は領域全体にわたって一貫している必要がないセル、及び幅をグループとして変更することができる列、のさらなる特徴のうちの1つ又は複数を有する。すべてのこれらの特徴が、アプリケーションがスプレッドシートソフトウェアアプリケーションとなるのに必要とされるわけではない。
ークに常駐する単一のエンティティに帰属するデータからなる「コンテンツネットワーク」も含む。
を含む、本明細書で説明される1つ又は複数の態様の実行に用いられるデータを記憶し得る。デバイス105、107、109は、デバイス103に関して説明したのと同様のアーキテクチャ又は異なるアーキテクチャを有し得る。本明細書で説明されるデータ処理デバイス103(又はデバイス105、107、109)の機能は、例えば、複数のコンピュータにわたって処理負荷を分散させるために、地理的位置、ユーザアクセスレベル、サービスの品質(QoS)などに基づいてトランザクションを分離するために、複数のデータ処理デバイスにわたって分散され得る。
EXCEL .xls/.xlsx workbookファイル又は任意の他のスプレッドシートデータファイル)及び本明細書で説明される1つ又は複数のソフトウェア及び/又はウェブアプリケーションを入力として受け入れる及び出力として生成する、独立型のソフトウェアアプリケーションを備え得る。MICROSOFT EXCELは、単に例示する目的で用いられる。本明細書で説明される原理はまた、他のスプレッドシートソフトウェアアプリケーション、並びに他のスプレッドシート・ストレージフォーマット、スキーマ、及び/又は規格と共に適用可能である。例えば、COREL QUATTRO
PRO、GOOGLE SHEETS、GNUMERIC、OPENOFFICE CALC、又は任意の他のスプレッドシートソフトウェア、アプリケーション、及び/又はドキュメントフォーマットが用いられ得る。上記のように、本明細書での態様は、ローカルのスプレッドシートアプリケーションソフトウェア実装とクラウドベースのスプレッドシート実装との両方に等しく適用され得る。
を定義し、データレコードを1つ又は複数のデータソースに入力し得る。
er論理353へのhttp get要求304に応答して、Webifier論理353は、メモリ351からスプレッドシート定義を検索し得る305。Webifier論理は、テンプレートシートからの値及び書式設定を評価及び参照すること、並びに、テンプレートシートに基づいて識別されるレコードシートからの値を評価及び参照することにより、スプレッドシート定義をhtmlデスティネーションページに変換する。デスティネーションページは、訪問者のブラウザ356に送信され得る306。図3Aはさらに、訪問者が見る、テンプレートシートでのみ見受けられ、レコードシートでは見受けられないテキストラベル、RecordSheet!A1から生じるテキストラベル、RecordSheet!C2の評価からの“100”の値、及びRecordSheet、チェックボックスに関するRecordSheet!A2、及びテキストボックスに関するRecordSheet!B2からの値を有するテンプレートシートにより定義されるhtml入力制御を有するページを例示する。図3Aは、訪問者が、ブラウザ356でチェックボックスをチェックし、サブミットをクリックし、結果的にブラウザがhttp post要求307をWebifier論理コントローラ353に送信することを例示する。Webifier論理353は、メモリ305から現在のスプレッドシート定義をリロードし得る。Webifier論理353は、post要求を処理し、メモリ351を更新されたスプレッドシート定義で更新する。設計者のAdd-On357が依然としてアクティブなセッションを有する場合、Webifier論理353は、更新された部分的スプレッドシート定義、又は提示されるスプレッドシート定義を更新するのに十分な変更イベントをAdd-On357に送信し308、次いで、ExcelのCOM Interopライブラリを用いて、Add-On357は、設計者のワークシートがセルA2に“true”を表示することになるように、更新されたバージョンをスプレッドシートアプリケーション354で設計者に提示し得る309。
単に例示的な参照のために、スプレッドシートの2つの使用スタイルが本明細書で言及される。他のスタイルが代替的に用いられ得る。1つ目は、各レコードがシート全体又は多くのシートを危険にさらすファイル全体を備えるシートレコードである。例えば、多くの会社は、作成する販売見積書毎に新しい販売見積書スプレッドシートファイルを保存する。該ファイルは、バックエンド計算に関する1つのシートと印刷可能な見積書を有することを意図する1つのシートなどのいくつかのシートを有する場合があり、印刷可能な見積書シートは、典型的に、すべて該単一の見積書を表す、テキスト、数字、及び結果がテキスト又は数字となる式を含む、多くの行及び列を有することになる。それらはまた、公正に読み出し可能なプリントアウトを可能にするのに十分な書式設定を含み得る。
ここで、例示的な実装を参照してユーザインターフェース・テンプレートに関してステップ201及び205をより詳細に説明する。伝統的なスプレッドシートアプリケーション、クラウド及びウェブベースのスプレッドシート、又はウェブアプリケーション内に埋め込まれた簡易化されたスプレッドシート・インターフェースのいずれで行われるかに関係なく、スプレッドシートツールは、訪問者又はレポートレイアウトに関する所望のユーザインターフェースを表すスプレッドシートを作成するのに用いられ得る。例えば、テンプレートは、単一の見積書に適切であろう値及び式を含む多くの行及び列を有する1つのシートを有することもできる:最上部付近にクライアントの大きいフォントテキストタイトル、その後に“Invoice Number”として第1の値を有する行、及びその右に実際のインボイスナンバーを表示することを意図されるセル。その下のいくつかの行は、コメントをイタリック体で表示することを意図された、複数の行及び列にわたるセルを有し得る。シートの最下部付近に“Subtotal”とラベル付けされるセル、その右に、該特定のインボイスの合計を表す数字を有することを意図された、“$”記号で通貨を指定するセル書式設定を有するセル(このとき該セルはグリッド上のC15の位置を有する)。次の行は、税及び税の後に合計に関係したセルを有し得るが、後でそこに配置される値を有することを意図するのではなく、税及び合計セルは、“=C15*10%”などの小計セルの場所を参照するスプレッドシート式を有することになり、この場合、C15への変更は、これらの式に基づく合計に影響を及ぼすことが意図される。
ば、webifierソフトウェアは、セル範囲参照又はどんなテンプレートシートが用いられるべきであるかに関するテンプレート識別子を受け入れる“USETEMPLATE()”などのスプレッドシート式関数を定義し得る。式が用いられるセルは、セルのサイズに基づいてネストされるテンプレートに割り当てられるセルの場所、又は幅及び高さに基づいて、ネストされるテンプレートシートをどこに挿入するかなどの特定の情報を暗黙的に提供し得る。テンプレートにポピュレートするためのソースレコード(単数又は複数)が親テンプレートと同じではない場合、パラメータをUSETEMPLATE関数にパスインすることもでき、これは、(さらに後述するように)ネストされていないテンプレートシートがいくつかのページタイプに関してするのとほぼ同じように、ソースデータが何であるかをテンプレートが知ることを可能にすることになる。これは、異なるレコードシート上のレコードからポピュレートされる必要がある“invoice items”のリストをその内部に含むインボイステンプレートなどのシナリオを可能にする。典型的に、このようなネストされるテンプレートシートは、親テンプレートの行又は列のアラインメントに影響を及ぼさずに十分な幅及び高さを表示することを可能にするのに伝統的なスプレッドシートの“merge cells”特徴、並びに、特定のインボイスに属するこれらのインボイスアイテムのみへのレコードのフィルタリング(以下で説明される)を提供するのに伝統的なテーブル特徴を利用することになる。
スプレッドシートツールでテンプレートシートを設計している間、特定のレコード又は多くのレコードから導出される集計値を表すことを意図しているセルは、ブランクと評価され得る及び/又は設計者に書式設定を示すこと以外のシステムへの影響を有さないプレースホルダ値を有し得る。外部リスト又はデータベースは、C15などのセルの場所の相互参照と、インボイスの小計を表示するなどのそれらの意図された目的を含み得る。代替的に、テンプレートシートからレコードシートセルが参照可能である場合、レコードを指すこれらのセルに式又はプレースホルダ式を挿入することができる。例えば、テンプレート上のクライアントタイトルセルは、“=ClientList!A1”などの式を有してよく、これはもしかするとプレースホルダとして設計時間中にスプレッドシートツールによりテキスト“Client”へ評価されることになり、又はおそらく、該式は、“=ClientList!A2”となり、これはもしかするとプレースホルダとして設計時間中に“Pleasant Solutions”としてスプレッドシートツールにより分解されることになる。加えて、参照は、“=ClientList!A:A”又は“=ClientList!A1:A1000”へなされ、結果的に、ブランク、エラー、又は意図せぬ値を生じることもある。上記のケースのそれぞれにおいて、設計時間中に結果を生じるテキストは、設計時のプレースホルダにすぎず、訪問者に関するなどの後の時点での実際の評価中にwebifierを支援するためにClientList上のどの列がテンプレートに記入する際に用いられるべきかの有用な情報を有する式自体ほど重要ではない。便宜上、この概念は、概してTemplate Indicatorと呼ばれることがある。
ステップ207(図2)は、スプレッドシートが適用可能なデータで要望に応じて構成されると、設計者が、1つ又は複数の例示的な実施形態に関連して本明細書で説明したwebifierソフトウェアを用いてデスティネーションシステムを構築するべくプロセスを開始することをさらに含み得る。ユーザは、デスティネーションシステムにログインし(図13)、スプレッドシートを受け入れる管理ウェブページを訪問し得る。例えば、webifierソフトウェアは、xlsxスプレッドシートファイル(図68)、例えば、データ129(図1)のアップロードを受け入れる入力フォームを有し得る。代替的に、webifierは、クラウド及びウェブベースのスプレッドシートツールからweb-service APIを介して、APIがそれを可能にするならシートのグループを一度に又はさらにはAPIがそれを必要とするならセルごとに、スプレッドシート定義をフェッチするべく統合を有し得る。簡略のため、すべてのこれらの方法は、本明細書で「アップロードする」、すなわち、スプレッドシート定義又はデータファイルをwebifierデータストア、例えば、データベース131へアップロードする(図1)として言及される。特に、レコードをアップロードするための及びインターフェーステンプレートをアップロードするための別個のステップは必要とされず、それらは1つのスプレッドシート定義から設計者から1つのステップで行うことができ、又はそれらは別々の時点で行われ得る。
ステップ209(図2)に関連して前述したように、結果として生じるソフトウェアは、例示的な実装に関連して本明細書で説明した1つ又は複数のウェブページを備えるウェブアプリケーションを含み得る。設計者は、webifierソフトウェアのadminインターフェースにおいて“add page”特徴を選択し(図18、図69、及び図55)、様々なページタイプ(図51)及び構成オプション(図52)から選択し得る。スプレッドシート定義内のセルデータ又はメタデータは、新しいページを作成する、どんなタイプのページが設計者により意図されたか、及びそれらの種々の構成オプションの、
インジケータ又は命令を含むことが可能であるが、この情報がなければ設計者は催促され得る。多様なページタイプをデスティネーションサーバ上で作成することが可能である。典型的に、すべての生成されたデスティネーションページのメニューは、web appの全体を通した便利なナビゲーションを可能にするべく、すべてのデスティネーションページ上にメニューとして表示され(図66の“Timesheet”web appメニューは、該特定の例に関するすべての3つのデスティネーションページをリストする)、デスティネーションページは、“apps”によりグループ化されてよく、それらは典型的に、それらがどんなスプレッドシート定義又はファイルから生じたかに基づいてグループ化される、及び/又はそれらを作成した設計者によりグループ化される(ログイン設計者、又はログイン設計者とスプレッドシート定義を共有した他の設計者又は他のグループから)(図16)。デスティネーションシステムのメニュー内のデスティネーションページの順序は、設計者がAdd-On内からそれらの順序を変更するべくページをドラッグ及びドロップすることにより修正することができる。
webifierソフトウェアが作成し得るウェブページの1つの例示的なタイプは、“report”ページタイプである。レポートのタイトルは、ユーザにより指定され得る、又はスプレッドシートのデータ又はタイトルから生成され得る(図52)。ソースも指定され得る。ソースは、スプレッドシート定義内のシート名(図33に示すCSV_Importページタイプに関するソース制御と同様に)、“=B9:C12”などの典型的なスプレッドシートセル範囲参照(図36)、スプレッドシート内で定義されるチャートの名前(図52)、又は“TotalColumn”又は“PrintableArea”又は“Employee List:Employee”などの名前により指すことができるセル範囲であるスプレッドシート“named range”(往々にして“defined name”として知られている)(図36)とすることができる。一般に、範囲は、連続するブロックである必要はなく、それらは、いくつかのブロック及びセルを備え得る。例えば、“A1:A8,A10,A30:B30”。多くのページが同じソースセルを参照してよく、ソースセルは、別のページのソースと部分的に重複してよく、又はページは、組み合わされることになる一連のソースを有してよい。これは、設計者がスプレッドシートツールにおいて設計したレポートに基づいてデスティネーションシステムがHTMLウェブレポート又はモバイル画面を訪問者に示すのに十分な構成であり得る。例えば、ClientListシートは、このとき訪問者がアクセス可能となっているリストにおける行レコードのすべてで指定することもできる。“Show Page Title”などの多数の随意的な構成が指定され得る(図28)。ページを閲覧するのにログインが要求されるかどうか(図24)、どんなログインユーザ又はユーザのグループ又はロールが、どんなデバイス、ネットワークから、又はどんな時間帯にページの閲覧を許されるかを制御するべく、app又はページ上でパーミッションルールも指定され得る。図25は、どんなログインユーザがページの閲覧を許されるかを示す簡易化された例を示す。最終結果は、ユーザがウェブデザインの知識を有することを必要とせずに、データのレイアウト及び書式設定(図97)を含むデータを供給するオリジナルのテンプレートスプレッドシートと似ているように見えるレポートを表示するウェブページである。
意図されたカレンダーだけでなく、サーチ結果をスクロール及びフォーカスするなどの方法によりユーザの注目を特定のデータに引き寄せるべくサーチテキストボックス及びサーチサブミットボタンなどの複数の制御も有するデスティネーションページを生じることができる。サーチ結果の処理は、クライアント側又はサーバ側で行われ得る。
webifierが作成することができる別のタイプのページは、例えば、例示的な実施形態に係る、上記の(図43)、ステップ211(図2)中に用いられ得る、“insert”ページタイプである。同様に、ClientListのソースが指定され、訪問者により行又は列が挿入可能であることを設計者が意図するかどうかのインジケータであり得る。ヘッダの行を表すセルの範囲は、自動的に識別又は検出され、オーバーライドのためにユーザに提示され得る(図39)。検出は、例えば、セルの場所(第1のアイテムがヘッダであることの検出を実証する図40)、その下にリストされた行と比較したフォントの太さ又は下線などの書式設定の差異、又は簡単にシートの第1の行を取り上げることに基づくことができる。デスティネーションシステムは、訪問者により挿入が完了した後で訪問者に自動的にリダイレクトするためのオプションとして他のページのリストを提供することができる(図44)。デスティネーションシステムは、次いで、それらのそれぞれの入力制御の傍のヘッダ行に列に基づくラベルを有する、自動的に生成される入力フォームを訪問者に示し、訪問者がデータを挿入することを可能にし得る(図91)。スプレッドシートのClientListからのセル書式設定は、自動的に生成される入力フォーム上のセルのラベルのhtml書式設定及び入力制御に影響を及ぼし得る。各入力フィールドに関するラベルは、“Header Source”により決定されてよく、典型的に、ソース範囲の第1の行、Defined Name、又はユーザにより選択された範囲のいずれかである。
Insertページがより高い複雑さ又はカスタムの要件を有する場合、設計者はまた、例示的な実施形態によれば、スプレッドシート内の第1のClientListソースに加えて、スプレッドシート内の“Template Source”を指定することもできる(図35)。これは依然としてクライアントのリストへの挿入を行うことになるが、入力フォームユーザインターフェースは、Template Sourcesにより定義され得る。Template IndicatorがそのTemplate Sources上のどこで見つかっても、セルの表示は、自動的に生成される入力制御に置き換えられてよく、入力制御の書式設定は、Template Indicatorセルの書式設定からとられる。
別のページタイプは、例示的な実施形態によれば、指定のレコードソース及びTemplate Sourcesに基づく“details”ページである。デスティネーションシステムは、テンプレートがどのレコードに対して適用されるべきかを訪問者が選択することを可能にする、テンプレート化されたレポートのレンダリングの結果の上に制御を配置し得る。代替として、Detailsページは、Reportページと組み合わせて用いられ得る。ReportページとDetailsページとの両方は、ソースとしてClientListスプレッドシートを有することになる。ClientListスプレッドシートは、“Go To Details”と呼ばれる追加された列を有してよく、各行は、“=NAVIGATETO(‘DetailsPage’, A3:Z3, Blue, LinkStyle)”などの式を有することになり、これは、クライアントのすべてをリストするメインReportページの表示中に、行3又はクリックされたそれぞれの行によりポピュレートされるDetailsPageに訪問者を連れていくことになる、ハイパーリンクスタイルナビゲーション制御が各行上で見えるべきであることをデスティネーションシステムに示すことになる。別の代替として、Reportページ作成中の構成オプションは、ClientListスプレッドシート内の指定の右にそれらを有するのではなく、生成されるべきナビゲーションリンクを指定するように設計者に促し得る。Detailsページ上の評価されるレコード値のセル書式設定は、Template Indicatorセル書式設定とTemplate Indicatorセルにレコードデータをポピュレートするセルの任意の所与の行の書式設定との組み合わせであってよく、組み合わせ可能な書式設定に対して両方のセルが競合する書式設定を有する(レコード上の色の変更がテンプレート上のより大きいフォントサイズと組み合わされたなどの)場合にどちらの書式設定が優先になるかに関するデスティネーションシステムのデフォルトの挙動及び設計者により選択される好みに応じて一方が他方をオーバーライドする。デスティネーションシステムはまた、ほとんどの一般的なフォーマットはテンプレートフォーマットをオーバーライドしないが、いくつかの稀な、したがって、意図的な書式設定の変更はテンプレートフォーマットをオーバーライドすることを許され得ることを保証するべくレコードを分析してよい。
訪問者がデスティネーションシステム上のデスティネーションページ内からセルを編集するために、例示的な実施形態によれば、設計者は、Edit Cellsページ(図38)又はEdit-Recordページ(図41)を作成することができる。ページ作成ウェブページから、タイトルを入力し、ページタイプ“Edit-Cells”又は“Edit-Record”を選択することにより、それらは同様に作成され得る。Edit-Cellsページは、訪問者が個々のセルを編集することを可能にするが、訪問者が可視要素(図88)との対話を始めるまでは、Reportページによく似たページを表示する。Edit-Recordページは、訪問者がレコード(図89)をブラウズし、行又は列を編集及び/又は削除することを可能にしてよく、デフォルトのフォーム生成を有するInsertページと類似していてよい(図90)。ページソースは、ページ上に表示されるべきセルの値の範囲であってよく、デフォルトで、どんなセルを編集することができるかを指定する第2の範囲(図42)は、すべてのセルが編集可能であるようにページソースと一致する。範囲は、ワークシート全体、定義名、及び/又はカスタム範囲であり得る。デスティネーションシステムは、データを有するすべてのセル及びデータを有するものの間のセルを表示するべくソース範囲を調べる。両方の編集ページはまた、ユーザが挿入することによりレコードセットを拡張できるようにするべく、空きスペースの付加的な行及び/又は列を有し得る。定義名又はカスタム範囲は、該範囲により参照されるセルのみを含むことになる。デスティネーションシステムは、設計者により範囲が指定された後で定義名を作成することによりカスタム範囲オプションを実装し得る。Edit-Recordページタイプは、ページ上で利用可能な編集ボタンを決定し得る、Row又は
Columnの付加的な選択を有する(図41)。
。サーバが編集要求を処理した後で、セルに表示されるべき新しいテキストを指定するJSONオブジェクトがクライアントに返送される。
Add-OnでCalendarページが作成され得る(図27)が、それらはまた、例示的な実施形態によれば、ウェブサイトを通じて作成することができる。Calendarページを作成するために、3つのデータ:Event Date(必須、日付によりフォーマットされるセル)、Event Time(随意的、時間によりフォーマットされるセル)、及びEvent Title(必須)が用いられ得る。ユーザは、Add Pageボタンを選択し、次いで、ページタイプとしてCalendarを選択する。パラメータ:Defined Name及びCustom Rangeのそれぞれに関するセル範囲をどのようにして入力するかの2つのオプションが利用可能である。Defined Nameは、ユーザが、付属のWorkbookから抽出されるDefined Nameオプションのリストを選ぶことを可能にする。Custom Rangeは、“Use current selection”ボタンを押すこと又はセレクタに手動で入力することのいずれかにより、ユーザが範囲を指定することを可能にする。これらのパラメータが指定された後で、ページを保存することができる。イベントの日付は、唯一必要とされるフィールドであり、タイトルなしのイベントは、デフォルトで“Event”に設定され、時間なしのイベントは、デフォルトで“All Day”に設定され得る。サーバに変更をアップロードした後で、Calendarページビューは、指定のイベントを含むCalendarウィジェットを表示する。3つの指定のパラメータソースが抽出され、Title、Date、及びTimeプロパティからなるイベントオブジェクトを構築するのに用いられる。これらのオブジェクトは、次いで、典型的にはそれらの適切な日付内のタイトルリストとして、Calendarウィジェット上に表示される。設計ページ上のサムネイルは、レンダリングされたCalendarウィジェットを反映する及びそれと一致する。
Containerページは、別のページの1つ又は複数のインスタンスを含むことができるページである。それらは、ページ作成中にTypeドロップダウンから’Container’を選択することにより作成される。UIのボタンを介して選択することができるContainerページ:Easy、Advanced、及びGraphic Designerを作成するのに用いることができる、少なくとも3つの異なるモードが存在し得る(図29)。
A’を格納する)。これらのルールは、保存時にチェックされ、違反する場合、コンテナの作成が防止され得る。
CSV Importページ(図86)は、例示的な実施形態によれば、訪問者がCSVファイルから一度に複数の行をスプレッドシートに挿入することを可能にする。設計者は、CSV Importページに関するソースとしてワークシート、定義名、又はカスタム範囲を選択することができる(図33)。このソースは、ページ上のどこに新しいデータが入力されることになるかを指定する。これは、インポートされるCSVファイルにおいて可能な列の数を制約する又はしない場合がある。例えば、$A$1:$C$1の範囲をカバーする定義名ソースは、3つの列を有するCSVファイルのみ可能にすることになり、データは、列A、B、及びCにわたる最高の利用可能な行に挿入されることになる。代替的に、これは余分な列を無視し得る。
タイトル及びソース範囲で指定され得る別のページタイプは、例示的な実施形態によれば、埋め込み型スプレッドシートページである。このページタイプは、埋め込み型スプレッドシート・インターフェースを訪問者に表示し、スプレッドシートの設計者により指定
された部分の値及び式を設計者がするのと同じ方法で訪問者が編集することを可能にする。スプレッドシート制御の実装は、包括的である必要はなく、訪問者がスプレッドシート外のデータを参照するどのような能力を有することも必要としない。この実装は、データをスプレッドシート定義フォーマットで受け入れ、訪問者が保存すると、結果的にスプレッドシート定義フォーマットを生成する、多くの市販のスプレッドシートウェブ制御のうちの1つを利用することができ、この場合、セルの式又はセルの値は、スプレッドシート制御に提供される一時的なシートに及びそこから1つずつ容易にコピーされ得る。
webifierは、例示的な実施形態によれば、複数の他のページタイプを同様の様態でサポートすることができる。例えば、前述の“report”ページタイプと類似しているが、デスティネーションシステムは、Reportページのhtmlを、訪問者がそのPDFページのURLにアクセスするときにブラウザ又はモバイルアプリケーションによりダウンロードされ開かれるPDFドキュメントへ変換する又は印刷する付加的なステップを行うためにPDFライブラリへの市販のコンバータ又はプリントを用いてよい。
スプレッドシートが定義されると、webifierは、例示的な実施形態によれば、スプレッドシート定義に基づいてデスティネーションシステムページを生成し得る。スプレッドシート定義がデスティネーションシステム上に持続的に記憶される例では、プロセスは、適用可能なソース範囲内に入るセルの定義を抽出し、利用可能にすることで始まる(図2のステップ207)。スプレッドシート定義がxlsxファイルフォーマットで始まる場合、ファイルは、XMLフォーマットの中身を取得するべく解凍され得る。初歩的な文字列パーシングから洗練されたパーシングまでの様々なXMLパーシングオプションが、通常は、XMLパーシングライブラリにおける関数を呼び出すことにより行われ、セル及びそれらの属性を含む個々のデータセクションのすべてを通して反復するために、並びに、それらをインメモリオブジェクト指向クラス及びインスタンスなどの代替又は中間フォーマットへロードするために便利なアクセスを提供するのに用いられる。代替的に、xlsx、MS-XLSB、SpreadsheetML、ODSフォーマット、及び同様のスキーマに適合する市販のスプレッドシートファイルフォーマットパーサが、スプレッドシートのデータを、スプレッドシートデータにおいて典型的に見受けられる属性及びフォーマットに便利に特化されたオブジェクト指向クラスで明らかにするのに用いられ得る。
はより少ない。
ステップ207及び/又は209(図2)中に、データは、中間フォーマットに変換されてよく、これは、例示的な実施形態によれば、関連するデータ属性を、スプレッドシートクラスではなくCSS又はHTMLクラスにより近く似ているクラスでより便利にアクセス可能にし得る。例えば、クラス上のプロパティ名は、CSSのプロパティ名と一致してよく、又は“ObtainCSSDefinition()”などのクラスに対するいくつかの方法が存在し得る。しかしながら、中間フォーマットの便利さは必要とされず、代替的に、webifierは、CSS及びHTMLのデスティネーションページの出力フォーマットに従ってデータを記憶してよい、又は、データをオリジナルのスプレッドシートフォーマットで記憶し、後でストリームを中間ストレージなしに出力フォームへまっすぐに向けてよい。例えば、列の幅を処理するために、XMLスニペット“<col min=”1” max=”2” width=”11.8”>”の“width”属性の値を読み出し、CSSによりサポートされるユニットに変換し、結果的に生じる列クラスの“csswidth”プロパティを記憶する、又はこれをCSS出力ストリーミング機能の一部として“width:100px;”としてストリーム出力することもできる。
訪問者に送信されることになるCSSテキスト定義に関するストリームへのオブジェクトのプロパティのシリアライズの一部として、デスティネーションシステムは、例示的な実施形態によれば、どんな種類のページタイプ及びどんなタイプの訪問者デバイス特徴が所与のターゲットページに適用可能であるかなどのファクタを考慮に入れ得る。例えば、ページが“report”タイプのものである場合、webifierは、“<td>Cell Text</td>”のようなhtml TDセルとしてのボーダーを有するセル及び“td { border:1px solid black; }”などのいくつかの関連するCSSを出力し得る。しかしながら、ページが“edit details”タイプのものであり、且つ、セルが編集することができるセルとして指定される範囲内に入る場合、webifierは、代わりに、所望の入力制御のスタイルに応じて“<td><input type=text value=”Cell Text” /></td>”として同じセル及び異なるCSSを出力し得る。
往々にして、スプレッドシートツールは、データ検証能力を含む。例えば、データ検証ルールは、スプレッドシートツールで指定することができ、その場合、セルは、特に、整数のみ可能にする、10進数のみ可能にする、指定の最小範囲及び最大範囲内の数のみ可能にする、おそらく最小範囲及び最大範囲内の日付又は時間のみ可能にする、可能な文字の最大数を制限する、又は必要な文字の最小数を制限するべきである。データ検証はまた、セルが、リストで指定される値のうちの1つを含むことのみ可能にするように設定することができる。リストは、値のシンプルテキストリストとしてデータ検証定義中に提供することができ、又は、スプレッドシート上のセルの範囲への参照を指定することができ、その場合、ツールは、そこから容認できる値のリストを得ることになり、該セルに関するスプレッドシートツール内にドロップダウン制御を生じさせることができる。データ検証はまた、結果的にtrueを返す典型的なスプレッドシート式を生じることになる値のみを可能にするように設定することができる。例えば、セルB1に関して、式は、“=OR(B1>=0, AND(A1=0, A2<40))”を指定することもでき、この場合、B1は、正の数とすることができ、又はセルA1がゼロであり、且つA2が小さい数である場合に、負とすることができる。いくつかのツールは、ブランク値が検証をパスすることを可能にするべく例外を指定することを可能にする。例示的な実施形態によれば、デスティネーションシステムは、スプレッドシート及びスプレッドシートセル定義から設計者が指定した上記のデータ検証タイプ及びオプションのすべてを読み出すことができる。データ検証は、セル定義XML上とすることもでき、又はデータ検証ルールは、ルールが適用されるセルのリストと共に、スプレッドシート定義におけるグループとしてどこか別の場所で定義することもできる。デスティネーションシステムは、スプレッドシート定義から該情報を抽出及び処理してよい。スプレッドシート内で適用されたデータ検証ルールを有するセルに対応するデスティネーションシステムからの値の挿入又は編集などの入力中に、デスティネーションシステムは、訪問者の入力値をこれらの検証ルールと比較して評価することになる。評価は、サーバ上で行うこともでき、又は例えば要求がサーバへ送信される必要なしにユーザの入力を評価することになるクライアント側JavaScript(登録商標)にルールを渡すことにより行うこともできる。データ検証に失敗する場合、訪問者に値を訂正する機会を与えるべくラベル又はポップアップ警告が示されてよい。データ検証ルールが、そこから容認できる値のリストを得るためのセル参照に関係していた場合、又はデータ検証ルールが、true評価を必要とする式に関係していた場合、システムは、式を評価するのに必要とされる又はシステムが容認できる値のリストを知るのに必要とされる他のセルの値をデリファレンスしてよく、これは次に、訪問ユーザの入力を可能又は不可能にすることになる。スプレッドシート定義が、日付に基づくルールを指定する場合、デスティネーションシステムは、ユーザがそこから日付を選ぶべくポップアップのカレンダー制御を有するように、挿入又は編集フォーム上に出力される制御を修正してよく、随意的に、無効な値が警告付きでタイプされるがサーバへサブミットされないようにするのではなく、無効な値が最初から指定されるのを防ぐために、テキストボックス制御自体にタイピングすることは不可能にされる。
スプレッドシートツールバリデータと同じ効果を有する場合であっても利用可能である。例えば、設計者が有効な値のリストを指定することを可能にするバリデータ(図80)が利用可能であり、結果的にInsertページ上でレンダリングされるドロップダウン制御を生じる。第2の例は、どんな日付が選択されるかを制限することができる日付バリデータである(図79)。
多くの訪問者が、デスティネーションシステムにログインし、読出し専用ページを同時に要求することもできる。編集に関係する要求に関して、サーバは、例示的な実施形態によれば、入ってくる要求又はレコードを修正する要求のコアコードのすべてをキューにシリアライズしてよく、これは、今日の処理能力を考えると事実上同時であるように見えるであろう。多くの異なるページタイプに適用可能な、デスティネーションシステムは、スプレッドシート定義から生じるセル参照及び式を、ユーザに表示される又はスプレッドシート定義における又はデスティネーションシステムの他の領域内のさらに他の式に再帰的に用いられることになる、シンプルテキスト及び数値へ分解し得る。式の分解は、多くの方法で完了され得る。スプレッドシートツールと同じコア処理エンジン又はライブラリが再利用されてよく、又はカスタムのパーシング及び式処理エンジンがデスティネーションシステムに埋め込まれるように構築されてよい。いずれにしても、エンジンは、行及び列のインデックス値に基づいてセル参照を分解する1つ又は複数のコールバックを有してよく、又は、セル定義を記憶するデータベースにスプレッドシート定義を渡す又はこれにアクセスすることもできる。パスインされるスプレッドシート定義は、パスインされたオリジナルのスプレッドシート定義と同じではない、簡易化された又は他の方法で修正された、再生成された定義であってよく、又はオリジナルのスプレッドシート定義がパスインされてよい。編集に何らかの衝突があるケースでは、システムは、時間(例えば、最後の人が勝つ(last man wins))又はあらゆる他の所望のヒューリスティックスに基づいて受け入れられた編集を選択又は指定し得る。
webifierは、例示的な実施形態によれば、ワークフローのいくつかのフォームが、Reportページタイプ及び他のページタイプのバリエーションで定義されることを可能にし得る。行レコードシート上で、行ごとの、したがって、レコードごとの訪問者パーミッションに影響を及ぼすことを意図した列を設計者が追加することもでき、その場合、特定の列のセルの式の結果により、デスティネーションサーバがその行を出力結果に含む又は含まないことになる。例えば、列Aが従業員の名前を含み、列Bがいくつかの時間を含む従業員タイムシート・スプレッドシートと、該シートのソース領域を有するReportページタイプを想像してみる。追加の列Cは、“=IsLoggedInUser(A1)”に似たレコードを表す各行に関する式を有してよく、この場合、A1は、第2の行に関してA2に、以下同様に変化することになる。これは設計者に値を示すべく設計時間中に分解することができないが、デスティネーションシステムは、Reportページをリストするタイムシートを訪問者が訪問するときに式の列を評価することになる。反復中に、デスティネーションシステムは、その行の列Aで指定される従業員が訪問者ではなかった場合に、訪問者に関する行のレンダリングをスキップすることになる。行は、列Aにおける訪問者と一致した場合にレンダリングされ続けることになる。最終結果は、従業員が、該従業員に関係する時間レコードの行のみを示すことになるスプレッドシート定義に基づいて、タイムシートウェブページを訪問することができたことである(図20)。同様に、シートがスーパーバイザを指定する列を有していた場合、スーパーバイザの
タイムシート概要ページは、該スーパーバイザの権限下の時間レコードのみをリストし得る。
訪問者の便宜のために、例示的な実施形態によれば、値のテキスト編集をボタン制御へ変更するためのシグナルとしてデスティネーションシステムが見るタグを含むスプレッドシートツールのコメント特徴を用いて、メタデータが、セル、例えば、セルコメント上で指定され得る。例えば、設計者が各データレコード上の“approved”値を望んだ場合、文字列“true”をタイプするべくテキストボックスを訪問者に提示するのではなく、セルの値をfalseからtrueに変更することによりレコードの承認を示すべく訪問者がボタンをクリックできることが設計者に好まれる場合があり、その場合、訪問者は“false”に“true”を戻し入れるように変更し得る。これは、結果的により使いやすいシステムをもたらすとともに、値への変更が一方向であるケースの一助となる(例えば、falseからtrueになっても、設計者は、レコードが決してfalseに戻ることが有効であるとは感じない)。
入力を防ぐことは、設計者がソースはレコードシートであると指定したページに関する制御を無効にすること又は非表示にすること、若しくはサーバが多少なりとも制御を訪問者に送信しないようにすることを含むことができる。セキュリティのために、サーバはまた、例示的な実施形態によれば、訪問者は通常のブラウザではなく悪意のあるエンドポイントである可能性があるため、HTTP POST要求を用いて投稿されるサブミットされた入力が同じ論理に基づいて許されるかどうか、制御がユーザに提示されたかどうかを確認し得る。様々な行レコードをポピュレートされることを意図された他のテンプレートスプレッドシートを利用する他のデスティネーションページはまた、同じ論理を用いて許容を評価する。例えば、インボイス詳細テンプレートのTemplate Source
を有するインボイス詳細レポートページが、デスティネーションシステムの訪問者によりアクセスされており、且つ、インボイスレコードリスティングシート上の行2上にインボイス205をポピュレートされている場合、デスティネーションシステムは、行2が行2へのアクセスを制約する式を有するかどうかを指定する列に関するインボイスレコードシートをチェックすることができる。制約する式を有する場合、デスティネーションシステムはまた、インボイス205に関するインボイス詳細レポートページへのアクセスを制約することになる。ネストされるテンプレートの場合、又は単一のテンプレートに複数のソースシートが用いられる場合、及び他のこのような複雑なシナリオでは、デスティネーションページの一部はポピュレート及びレンダリングされ、一部はされないが、カスケーディングの基礎をなす方法は残る。
レコードごとの式を有する列を追加することの代替は、例示的な実施形態によれば、シート上の又はシートの外部の指定される又は参照される場所に入力され、デスティネーションシステム内に記憶される、別個の単一式を有することである。この代替では、デスティネーションシステムは、各行を通して反復し、反復している現在の行又はレコードに式を適用することになる。webifierの他の領域は、代替的な式の同じ集中化を利用し得る。
往々にして、単一のレコードシートは、異なるパーミッション及び異なる意図された訪問者を有する多くのデスティネーションシステムページの基礎である。このようなケースでは、例示的な実施形態によれば、それぞれのデスティネーションページのパーミッションに影響を及ぼすべく異なる式を含むためにいくつかの列を用いることもできる。代替として、デスティネーションシステムは、スプレッドシート定義にOverlay Sheetを追加してよい。Overlay Sheetは、最初にすべて同じ値を有する行レコードシートの複製であり得る。これは、行レコードシートに基づくことを意図された及びページに固有の修正を有することを意図されたシートとして、シートのスプレッドシート定義上のメタデータと共に、デスティネーションシステムによりOverlay Sheetとしてフラグを立てられ得る。設計者は、次いで、Overlay Sheetに列Cを追加してよく、デスティネーションシステムは、上記とほぼ同じように列Cを用いてよいが、代わりに行レコードシートに追加されたかのように式を評価し、これは、Overlay Sheetが作成されてからリストが変更された場合に行レコードの最新の
リストに対してそれが作用することを可能にする。異なるデスティネーションページに関する異なるOverlay Sheetsは、異なる列C式を有し得る。Overlay
Sheetsは、ベースの内容を同期して保つために、行レコードシートが変更されたときにはいつでも更新され得るが、意図された新しい列Cだけは例示的な違いとして持続する。
デスティネーションシステムが、ページ作成中に列Cが行ベースのパーミッションを指定することを示すフィールドを有するのではなく、代替は、例示的な実施形態によれば、これを暗示するスプレッドシート定義を有することである。スプレッドシートは、伝統的な“spreadsheet tables”を有してよく、これは通常、セルの領域を備え、スプレッドシートツールを色付けすることができ、ヘッダロー上のフィルタオプション及びソートオプション、及び伝統的なスプレッドシートツール内で閲覧されるときのシート内の行の表示を管理するための他の特徴を有することができる(図74)。webifierは、ページのために用いられるソース行レコードシートのスプレッドシート定義における又はページのために用いられるOverlay Sheetにおける伝統的なスプレッドシートテーブルの存在をチェックすることができ、テーブルが存在する場合、webifierは、フィルタリング、ソーティング、及び他の方法のためにテーブルの持続状態を見てよい。設計者が列Aによりテーブルのセルをソートした場合、デスティネーションシステムは、同様に列Aにより出力をソートすることになる。列Cの式に基づいて行ベースのフィルタリングパーミッションを選ぶ、前の例に関して、設計者は、テーブルを列“C=true”上でフィルタするように設定することもでき、デスティネーションシステムは、同じ論理で結果出力をフィルタすることになる。このようにして、ページの作成者が、行を見るのにtrue評価を必要とする行ベースのパーミッションを列Cが有することを示すことは必要とされない。
デスティネーションシステムが、デスティネーションシステムの訪問者に読出し専用及び/又は入力可能フォーム及び内容を提供するべく設計者のスプレッドシート定義を既に利用した後で、及びデスティネーションシステムの訪問者がレコードをもしかすると修正又は入力した後で、デスティネーションシステムは、例示的な実施形態によれば、すべてのデータ及びテンプレートの更新された、統一された、又はマルチパートの表現を、スプレッドシートツールに十分に適合するスプレッドシートフォーマットで、設計者に提供することができる。便宜上、これは、ステップ215で行われ得る場合の、抽出と呼ぶことができる(図2)。抽出は、ダウンロードされるファイルとして、又はデスティネーションシステムから情報を受信し、スプレッドシートツール内のシートを更新するデスティネーションシステムのAdd-On又はプラグイン(図54の“Download data”ボタン)を用いてスプレッドシートツールを更新することによって提供することができる。ほとんどのケースにおいて、設計者は、デスティネーションシステムからのさらなる関与が全くなしに、更新されたレコードを有するだけでなく、レコードシートに基づいて実際のデータを表示するレポートも有するスプレッドシートを受信するであろう。
する場合に設計者に提供し得る。典型的に、これは、抽出ステップが、シート又はセルのどちらが訪問者により変更されようともそれに行われることに限定されることを意味し、Add-Onは、残りには触れないまま、これらのシート又はセルのみを更新する。Add-Onは、すべてユーザの最小の関与で又は関与なしに、更新のリアルタイムチェックを有するが、任意の新しいスプレッドシート定義をローカルファイルとしてハードドライブ上にダウンロードおよび保存し、次いで、これを開くようにスプレッドシートツールをトリガする、ハイブリッド手法を取り得る。
Add-Onを介して又は他の方法でファイルとして又はスプレッドシートツールへ抽出されるのいずれであるかに関係なく、例示的な実施形態によれば、設計者は、このとき、デスティネーションシステムを用いる前に行ったのと同じようにテンプレートシート及び/又はレコードシートにさらなる修正を行うことができる。実際には、設計者は、デスティネーションシステムに空又はほぼ空のスプレッドシート定義を入れ、次いで、設計時間に関連する任意のデスティネーションシステム特徴を活用するべく、抽出された後にのみスプレッドシートの構築を始めることを選択し得る。単純な例として、特定の新しいweb-appを示す特定の新しいスプレッドシートは、デスティネーションシステムがこの新しいweb-appをappのリストに表示することに起因して、そのユーザにより設計されていることを他の設計者に協調のために気付かせる。
オリジナル、変更されたバージョンA、及び変更されたバージョンBを比較するライブラリ及びツールが用いられ得る。それらは、競合しないプロセスの変更を通して反復し、競合を完全に拒否するか又はどのバージョンが勝つかについての決定を下すべくユーザに競合情報を提示する。
ことである。例えば、デスティネーションシステムが“A5:A10”の範囲参照を有し、且つ行が最上部に挿入される場合、適切なイベントリスナーへフックされるwebifier Add-Onは、行1よりも下の任意の範囲を、例えば、このケースでは“A6:A11”に下方シフトすることをデスティネーションシステムに通知する。
Add-Onを通じて行われたときに、webifierシステムは、例示的な実施形態によれば、スプレッドシートから(例えば、後述のCOM Interopライブラリを介して)又はデスティネーションシステムサーバから名前付き範囲を取得し、その名前を、JavaScript(登録商標)を用いてAdd-Onのウェブベースのユーザインターフェースに渡し得る。webifierは、デスティネーションページを作成又は編集するときに、又は、デスティネーションシステムがスプレッドシートセルへの参照を必要とする及び処理されるべき訪問者要求のために参照がデスティネーションシステムにアクセス可能である必要があるあらゆる他のフィールド又は状況で、データソースに関する現在選択されたセルを取り込むために新しい名前付き範囲を作成し得る。これらの範囲の名前は、“WebifierCustomRange”であり、例えば0~2,147,483,647のランダムに生成される数が付属し得る。その名前をもつ範囲が既に存在する場合、新しい乱数は、作成された名前が既存の範囲に付いていないようになるまで生成され得る。代替的に、インクリメント数が用いられ得る。選択されたセルに関するカスタム範囲が既に存在する場合、システムは、別の名前を作成するのではなく既存の名前を用いることを選んでよい。行の挿入又は列の挿入などのスプレッドシートツールにおいて実行される動作は、通常のスプレッドシートツールの使用のように名前付き範囲を拡大する。レコードが、そのソースとして名前付き範囲を有するInsert又はCSV Importページを介して挿入される場合、これは、該範囲を、挿入されたレコードを含むように拡大することになる。任意のwebifierウェブページにより参照される名前付き範囲がスプレッドシート定義から削除される場合、シートがアップロードされるときに、システムは、無効なソースを有する影響されたページをマークすることになり、それらは、ソースが編集されるか又は削除された名前付き範囲がリストアされるまで、アク
セスできないであろう。名前付き範囲は、Insert、Edit-Cells、Edit-Record、CSV Import、Report、Webpage、Calendar、及びDetails Reportページの境界を定義するのに用いられ得る。名前付き範囲はまた、Insertページ、Edit-Cellsページ、及びEdit-Recordページに関するヘッダ範囲を定義するため、及びEdit-Cellsページ及びEdit-Recordページに関する編集可能な範囲を設定するために用いられ得る(図81)。Edit-Recordページを用いると、名前付き範囲は、その範囲内のすべてのセルが削除される場合に自動的に削除され得る。
トラックするセルのボリュームが非常に高い場合、名前付き範囲は、例示的な実施形態によれば、デスティネーションシステムにより生成され、抽出されたスプレッドシート定義のすべてのセルに挿入されるユニークセルIDを含む付加的な属性を有することと組み合わせる、又はそれに完全に置き換えることができる。多くのスプレッドシートツールは、スプレッドシートツールが属性の目的の理解を有していないにもかかわらず、スプレッドシートツールにおいてセルが修正又は移動又はコピーされていても、この属性をメタデータとして定位置に保つことになる。これは、名前付き範囲の同じ利点の多くを与えるが、スプレッドシートツールのユーザインターフェースにおいて設計者に可視とはなりそうにない。デスティネーションシステムは、次いで、接続解除されている状態でユーザがどんな変更を行うかの知識を取得するべく他のセル属性とほぼ同じようにユニークIDを抽出する。その知識は、次いで、これらのセルへのデスティネーションシステム上の参照を更新するのに用いることができる、又は代替的に、これらのユニークセルIDは、あるケースでは、伝統的な行及び列のインデックス付けを用いるのではなくセルを指すのにデスティネーションシステムが用いる方法として十分であり得る。範囲はさらに、範囲の左上隅及び右下隅を表すUID:UIDとして指定することもできる。
“Configuration Sheets”と呼ばれる名前付き範囲への代替の手法はまた、例示的な実施形態によれば、名前付き範囲の位置に代入することもできる。この手法は、スプレッドシートツールが非表示にされるシートをサポートする場合に潜在的に非表示にされる“DestinationSystemRanges”という名前の付加的なシートを含んでよく、該シートは、名前及び範囲の2つの列を有する。デスティネーションシステムは、次いで、アップロード中に又は各訪問者の要求時に該シートを通して反復し、第1の列の値により、デスティネーションシステムが分解しようとしている範
囲を見つけ出すことになる。例えば、“Page1_SourceRange”が、名前のうちの1つであり得る。デスティネーションシステムは、次いで、第2の列のセルの値又は式を取得し、これを名前付き範囲の定義とほぼ同じように用い得る。この手法の利点は、値が実際に伝統的なスプレッドシート式であり得ることであり、したがって、範囲の定義でさえも、スプレッドシート定義の他の要素により影響を受けることがある。これは、望外な量のパワー及び融通性を与える。例えば、インボイスの合計が>$5000である場合に、詳細ページは、そのページソース構成において、訪問者に示すことが望ましい、しかし該インボイスのみに関する付加的な細字部分をおそらく有する追加の5つの行を含むべきであるという式を指定することもできる。同時に、スプレッドシートツールは、範囲を名前付き範囲とほぼ同じように自動的に同期して保つことになる。これは、特に、最小の付加的な努力又はトレーニングで若しくはそれらなしに、カスタムのレポートの構成を設計者が効果的に修正することを可能にする。
ファイルは、例示的な実施形態によれば、WEBIFIERINSERTFILE関数を用いてデスティネーションシステムにアップロードされ得る(図7)。Insertページ又はEdit-Recordページに関するフォームを構築している間にWEBIFIERINSERTFILE列を含むフィールドに出会うときに、該フィールドに関するFile Upload制御が提示され得る(図62)。同様に、Edit-Cellsページ上のWEBIFIERINSERTFILE関数を含むセルを編集するときに、設計者は、式を編集する又は新しいファイルをアップロードする選択肢を有し得る。Add
-Onを有するスプレッドシートツールにおいてWEBIFIERINSERTFILEに出会うときに、これは、WEBIFIERFILEATTRIBUTES関数を用いてファイルについての情報を取得するのに用いることができるキーを表示し得る(図64)。
又は3つのパラメータを可能にし得る(図5)。第1のパラメータは、ファイルに関する文字列キーであり、随意的であり得る(図示していない)第2のパラメータは、その属性を得るべくキーの下に記憶されるファイルのインデックスであり、同じく随意的である最後のパラメータは、検索されるべき属性の名前又は数である。ファイルの名前に関する“Name”又は0、KBにおけるファイルのサイズに関する“Size”又は1、ファイルがアップロードされた日付に関する“DateUploaded”又は2、及びウェブサイト上のファイルを閲覧するためのURLに関する“Link”又は3。インデックスが指定されない又はインデックスがファイルの量よりも大きい場合、関数は、最新のアップロードされたファイルの属性を得てよい。属性が指定されない場合、関数は、デフォルトで、ファイルの名前を示すことに設定され得る。
署名は、イメージをアップロードする訪問者のために前述のファイルに基づく外部補足データを用いるのと概ね同じ方法論を用いてデスティネーションシステムにアップロードされ得る。しかしながら、この署名が外部データの形態であるケースでは、ファイルアップロードダイアログ及び制御は、ユーザが署名を入力することを可能にする制御と置き換えられ得る。例えば、レコードシートは、“=WEBIFIERINSERTSIGNATURE(A2,’thumbnail’)”に似ているすべての行レコード上の式をもつ列を有してよく、この場合、列“A”は、従業員の名前などの一意識別子として役立つことができるデータを有し、A2における“2”は、適切な行に変化し、“presence”は、セルが、署名が利用可能な場合に署名のサムネイル、又は署名がまだ利用可能でない場合にテキスト“n/a”を示すことを示す。設計時間中に、Add-Onは、それらをセル内に表示するために各レコードに関するこのようなサムネイルをフェッチし得る。ソースがレコードシート全体に設定されるReportページの訪問者に関して、署名サムネイルは、デスティネーションページ上に表示されるすべてのレコード行の傍に現れ得る。サムネイルは、署名が取り込まれた日付及び時間などのメタデータと一緒に取り込んだ署名の大きくポップアップするビューを開くべくクリック可能であり得る。Insert又はEditデスティネーションページ上で、大きいポップアップビューはまた、大きいキャンバス領域を有してよく、その場合、ユーザによるマウス、デジタルタブレット上のインクレスペン、又はタッチスクリーン上の指の動きが、キャンバス領域にその動きをペンとして取り扱わせ、対応するラインをキャンバス上に引かせることになる。それを行う及びフォームのサブミッション時にサーバにアップロードされることになるイメージデータと共にhtml入力フォームを提供するのに通例JavaScript(登録商標)コードを用いる、このようなキャンバスによるイメージファイルへの署名などの動きを取り込むための市販のモジュールが存在する。この例を続けると、デスティネーションシステムは、レポートページ上のレコードに関するその後の署名データの閲覧要求時に検索されるように、署名を表すイメージファイルをデータベースに記憶し得る。視覚署名の代替として、デジタル署名を表すデータが、PGP signed署名の多数の第三者型発行者のうちの1つからクライアント側のJavaScript(登録商標)により取得されてよく、このようなデジタル署名の手書きのようなフォントを用いるテキスト要約又はトークン人工署名が、署名イメージの位置に表示されてよい。訪問者は、第三者型発行者がデジタル署名を発行するために、このようなハードウェアのための市販のインテグレーションポイントを用いて、ユーザ名とパスワードのペア又はモバイルデバイスの親指スキャナ上の親指の指紋などの、認証情報の入力を必要とされ得る。
チャットオブジェクト特徴は、例示的な実施形態によれば、チャットディスカッションのストリームがスプレッドシートの1つ又は複数のセルに埋め込まれる又は関連付けられることを可能にする。チャットオブジェクトは、他の訪問者が閲覧することができるセルに訪問者がメッセージを追加すること及び該セル上に他者又は自分により残されたメッセージを閲覧することを可能にする(図58)。チャットオブジェクトは、メッセージオブジェクトのリストを表し、各メッセージオブジェクトは、典型的に、少なくとも3つの部分:メッセージテキスト、メッセージをサブミットした時を示すタイムスタンプ、及びメッセージをサブミットしたユーザのユーザ名からなる。各チャットオブジェクトはまた、一意識別子、すなわち、他のチャットオブジェクトとは別個の識別子を有し得る(例えば、図59の“6ea6cc…”。識別子は、ユーザに割り当てられたもの又はシステムに割り当てられたものであり得る。チャットオブジェクトの識別子は、チャットオブジェクトを指すため及びこれを他のチャットオブジェクトから区別するためにwebifierにより用いられ得る。
者は、デスティネーションページを通じて該チャットストリームと対話することができる。
式関数を入力することにより作成され得る。この機能をセルに入力するために、ユーザは、該セルに関する式を設定するためのパーミッションを有することを必要とされ得る。これは、これを可能にするwebifier API呼び出しを通じて、又はwebifier Add-Onがインストールされたスプレッドシートツールを通じて、を含む種々の方法で行うことができる。
以下に、1つの例示的なユースケースのシナリオでの、デスティネーションシステムに対する訪問者入力のプロセス及び影響を説明する。webifierシステムにより生成されたInsertページフォームが訪問者によりサブミットされるときに、デスティネーションシステムは、最初に、ページがパブリックであること又はそれを使用するのに適切なパーミッションがユーザに与えられていることを確認し得る。ユーザが許可される場合、デスティネーションシステムは、ページを含むAppに関連するスプレッドシート定義を検索し、挿入プロセスを開始することになる。ユーザがInsertページの使用を許可されない場合、それらのサブミッションが却下され、システムがユーザに通知し得る。
失敗する場合、ユーザは、通知され、それらのサブミッションを訂正する機会が与えられ得る。Webifier式を含む任意の行又は列が範囲内に存在する場合、それらは、それらがOverlay Sheetにより非表示にされている場合であっても、適切な式をオートフィルされ得る。
本明細書で説明されるように、同じレコードのために、及び同様の又は同じ目的のために、同時に、複数のテンプレート及び複数のページが存在することができる。目的は、読出し専用と訪問者入力ページの両方を含む任意の目的又はページタイプとすることができる。デスティネーションシステムは、例示的な実施形態によれば、どのテンプレートを表示するかの決定を助けるために、ブラウザ又はモバイルクライアントからの情報を使用し得る。例えば、情報は、画面サイズ、画面解像度、OSバージョン、ブラウザのブランド及びバージョン、テンプレートのどの組が好ましいかについての訪問者からの手動で指定される好み、及び主としてマウス、キーボード、又はタッチスクリーンデバイスのいずれであるかなどのあらゆる数のデバイスの属性又は能力を含み得る。web appの場合には、この情報の多くは、http“User Agent”ヘッダから、又は、ウェブサーバによりセッション情報として一時的に記憶されるこの情報をデスティネーションサーバにインバンド又はアウトオブバンドで伝送するブラウザ上で実行するJavaScript(登録商標)を有することにより得ることができる。モバイルappの場合には、appは、デスティネーションシステムへの最初のログイン認証時にこの情報を収集及び送信するように設計することができる。
本明細書で説明される場合のシートを用いる複雑なソフトウェアの構築は、他の手段よりも非技術系の人々にとってはるかに簡単である。それでもなお、webifierシステム及び/又はAdd-On(プラグイン)は、例示的な実施形態によれば、アチーブメントと考えることができる設計者側の種々のアクション又はアクションのグループを待ち得る。これらのアクションが種々の基準を満たす場合、それらがアチーブメントに至ったことを示すべく設計者に視覚ポップアップが手短に表示され得る(図15)。ポップアップは、“Your web-app is now ready to receive
new records”又は“You are done making your
first web-app report”などの設計者が今作成したものの値をリレーし得る。基準は、設計者がこれらのアクションをとった最初の2回のうちの1回だけ、過去数か月の間に設計者がそのようなアクションを完了していない、訪問者が設計者のアクションに関係したデスティネーションページも訪問した、そのようなステップが時間を測られた前回よりも短い時間でユーザがいくつかのアクションを完了した、又はユーザが何かを達成するための異なるワークフロー又は異なる方法を試したなどの複数の基準を含むことができる。アクションは、デスティネーションシステムの又はAdd-Onのユーザインターフェースとの対話、又は設計者が作成するデスティネーションページに関連する訪問者の対話を含み得るだけでなく、設計者のスプレッドシートの分析にも基づき得る。例えば、ゲーミフィケーションシステムは、設計者が伝統的なスプレッドシートテーブルを作成したかどうか、設計者がテンプレートシート上の伝統的な条件付き書式設定を用いたかどうか、又はさらには、設計者が“=SUM(A1:A10)”のような式における基本集計関数を用いたかどうかを見てよい。
例示的な実施形態によれば、デスティネーションシステムにおいて、通知ルールはファシリティを提供し、それにより、或るイベントの発生は、指定のアクションをトリガすることができる(図83)。レギュラーユーザは、自分用の通知を設定することができる。管理者又は設計者ユーザは、自分と自分の管理ドメイン内のユーザ用の通知を設定することができる。複数のイベントを取り扱う及び/又は複数のアクションを行うために、ユーザは、複数の通知を設定し得る。各通知ルールのセットアップは、通知をトリガするべきイベントについての詳細及び通知がトリガされるときに行われるべきアクションについての詳細をユーザが指定することを必要とする(図84)。通知ルールは、また有効にする必要があるときにまた設定を入力する必要がないようにすべてのその他の詳細を保った状態で無効にすることができる。
が、サーバに送信される通知要求をトリガすることもできるが、アクション自体がサーバに伝えられる又は持続されるまではできないかもしれない。イベントの例は、データがページに挿入されるとき、ページ上のデータが編集されるとき、ページの構成が変更されるとき、及びappの構成が変更されるときを含む。明確にするために、イベントの例は、訪問者が高レベルのイベントをトリガした(Insertページのサブミットボタンを押した)、設計者による高レベルのイベント(新しいページを作成した)、セルのイベントをトリガした(セルを変更した)、領域のイベントをトリガした(セルのグループ内の少なくとも1つのセルを変更した)、シートのイベントをトリガした、のカテゴリ内とすることができ、直接的(セルの式を変更した)又は間接的(セルの式自体は変更されていないにもかかわらずセルの式の結果が変更された)の両方とすることができる。このようなアクションが起こるとき、アクションは、該アクションに対応するドメインイベントを生じ得る。
いで、ルールにリストされた電子メール受信者にメッセージを送信する。
デスティネーションシステムは、例示的な実施形態によれば、好ましくはすべてのデバイスプラットフォームに応答性があり、十分に適合し、HTML及びファイル伝送などのいくつかの標準ブラウザ特徴と統合される。デスティネーションシステムはまた、デスティネーションシステム内に含まれるデータがネイティブなapp経験でユーザによりアクセスされるように、デスティネーションシステムへの標準web-service APIアクセス方法を通じてネイティブappへ直接統合され得る。このような方法でのデータの提示は、ネイティブSDK環境又は他の開発フレームワーク、例えば、Android Studio、Apple Xcode、Xamarin、又はCordovaでの付加的なコーディングを通じてデスティネーションシステムにより有効にされる。
いくつかの要求の多い使用シナリオでは、設計者は、レコードシートにおけるレコードの一次セット、並びに、各一次レコードに関する別のシートにおける1つ又は多くの“secondary records”を有することを望む場合があり、設計者は、例示的な実施形態によれば、レコードの一次セットの、伝統的なデータベースソフトウェアセンスのような“primary key”によって二次レコードを一次レコードに属するものとして識別することを意図する。手短に言えば、設計者は、一次レコードデータだけでなく二次レコードデータもポピュレートされるテンプレートシートを有するようにするために、レコードセット間で表される関係性を有することを意図し得る。例えば、1つのレコードシートは、列“company ID”及び“company name”を有してよく、1つの行は、値に関する“1”及び“Pleasant Solutions”を有する。第2のレコードシートは、列“company ID”及び“specialization”を有してよく、1つの行は、“1”及び“Software Development Consultants”を有する。例示的な実施形態によれば、設計者が、“Pleasant Solutions”と“Software Development Consultants”との両方の記載を作成するテンプレートシートに基づいて詳細ページを表示することを望む場合、webifierシステムは、このような使用をサポートする。
点で適用可能であり得る。設計者は、レコードシートのいずれかへのセルの式参照を用いてよく、該式参照をパーシングすることにより、それが設計者がそこからデータを取得することを意図していた一次又は二次レコードセットのいずれであったかが明らかとなるであろう。二次レコードセットから参照されるデータをポピュレートするデスティネーションシステムは、一次レコードセットからポピュレートするのと同じ様態で行われることになる。
例示的な実施形態によれば、ページのリスト及びそれらの共有パーミッションなどのデスティネーションシステムからの付加的な情報を有する又は有さない、あらかじめ設計された及び/又はあらかじめ構成されたスプレッドシート定義を含むApp Templates全体を、設計者の所有するweb-appの開始点としてコピーする及び使用するべく設計者のコミュニティから他の設計者ユーザへ利用可能であり得る(図22)。これらは、別々にリストすることもでき、app内のページタイプ、レコードシート上の列の名前、任意のセルの内容からのキーワード、存在する日付フィールドなどのセルフォーマット、並びに、どんな設計者が該App Template web-appを用いているか又はどんな産業に設計者の雇用主が属しているかの関連性に基づく、目的、カテゴリ、産業、又はスマートサーチによりサーチ可能である。
スプレッドシートツール内のプラグイン又はAdd-Onは、クライアント-サーバアプリケーションモデルに関するソフトウェア開発産業に典型的な多くの方法で、デスティネーションシステムサーバと通信し、そのユーザインターフェースを表示し得る。例えば、図のいくつかは、デスティネーションシステムが主としてHTMLインターフェース、伝統的なウェブページを取得するためにweb-service API呼び出しを用いるAdd-Onの結果を例示し、例示的には、埋め込みブラウザウィンドウのように動作するフレームにおけるウェブページを示す。これは、Add-Onのユーザインターフェース要素の多くが再使用され、インストールされたAdd-Onを有さない設計者に関するデスティネーションシステムの管理ページ上のそれらのそれぞれのカウンターパートと概ね一致することを可能にする。セルの範囲を選択するのにマウスを用いる能力などのAdd-On内のいくつかの機能は、設計者が範囲をタイピングすることに限定するために制限、除去、又は変更されてよく、又は代替的に、デスティネーションシステム管理ページを有する埋め込みスプレッドシートツール上で行われ得る。簡略のため、Add-Onユーザインターフェース又はデスティネーションシステム管理ページを表す添付図は、添付されていない場合であっても、それらのそれぞれのカウンターパートを有するとみなされるべきである。
https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel(v=office.15).aspxで公開されている)又はJavaScript(登録商標) API
for Office(開発者用ドキュメントがhttps://dev.office.com/docs/add-ins/develop/understanding-the-javascript(登録商標)-api-for-officeで公開されている)を用いて行われ得る。Google Sheetsなどのクラウドベースのスプレッドシートツールが、“spreadsheets.get(ranges, includeGridData)”を用いるシート範囲の検索などの容易にアクセス可能な理解できるweb-service API機能を有するGoogle Sheets API(開発者用ドキュメントがhttps://developers.google.com/sheets/で公開されている)などのウェブサービスを用いて統合され得る。
webifierは、スプレッドシートツールとは別個のアプリケーションである必要はなく、外部アプリケーションにアクセス可能にされた手段を介するスプレッドシートツールとの通信に限定される必要はない。webifierは、代わりに、タイトな関係性を有してよく、それにより、これは、スプレッドシートツールとのより深い及び/又はよりバックエンドベースのインテグレーション及び通信チャネルを有し得る。これはまた、本明細書で「タイト・インテグレーション」として言及され得る。
プレッドシートツールのDLLライブラリへの関数呼び出しを用い得る、又は逆に、スプレッドシートツールは、webifierのDLLライブラリへの共通の関数呼び出しを用い得る。これは、webifierの性能の利点を提供し得るとともに、共有メモリアクセス、ミューテックス及びセマフォなどの低レベルコーディネーションオブジェクト、共有ファイルへのアクセス、基礎をなすデータベースへの共有アクセス、及びDLLライブラリの共用などの当業者に公知のさらなるプログラミング技術を利用するためのインテグレーションを可能にする。このような融通性は、例えば、2つのコンポーネント間のリアルタイムの変更通知に有利であり、2つのコンポーネントは、webifierと、スプレッドシートツールを指す。
く知られたスプレッドシートとして設計者に提示されることになる又は設計者がスプレッドシートフォームにおいてデータと一時的に対話しているときなどの選択的状況で、ユニットが行及び列としてマップバックされることを可能にする別個の1つ又は複数のテーブルを有し得る。
post要求としてWebifier論理コントローラ453に転送され401b、その後、メモリ451に記憶される402。
ラウザ456に送信され得る405b。図3Bのように、訪問者が見る、テンプレートシートでのみ見受けられ、レコードシートでは見受けられないテキストラベル、RecordSheet!A1から生じるテキストラベル、RecordSheet!C2の評価からの“100”の値、及びRecordSheet、チェックボックスに関するRecordSheet!A2、及びテキストボックスに関するRecordSheet!B2からの値を有するテンプレートシートにより定義されるhtml入力制御を有するページを例示する。図3Bはさらに、訪問者がブラウザ456においてチェックボックスをチェックし、サブミットし、結果的にブラウザがhttp post要求406bをWebifier論理コントローラ454に送信できることを例示する。Webifier論理453は、post要求を処理し、メモリ451を新しいデータで更新し、随意的に効率的なフォーマット又はシステムが用いるどんなフォーマットも記憶する。設計者のブラウザ454が依然としてアクティブなセッションを有する場合、スプレッドシート論理コントローラ452は、メモリ451から又は代替的に統合された通信機構410を通じて、更新されたデータ408を取得し、データを、1つ又は複数のスプレッドシート定義、又は設計者ブラウザ454に提示されるスプレッドシート定義を更新するのに十分な変更イベントへ変換し、設計者のワークシートがセルA2に“true”を表示するように、それらを設計者のブラウザ409に送信する409。
システムは、“list item template”と同じテンプレートシートの方法を用いることができる。例えば、“List”のページタイプを作成することもでき、この場合、入力及び出力は、ユーザがその詳細を閲覧するのに行を選択することを必要とすること以外は、“details”ページタイプと同一となり、すべての行レコードは、リストフォームにおいて次々に表示されることになり、リスト上の各レコードは、アイテムテンプレートに従って表示される。レコードごとに情報のいくつかの行が必要とされるが、全詳細ページを保証するのに十分ではない場合、又は詳細ページへの繰返しのナビゲーティングは望ましくないため、これは、例えば、行レコードリストが訪問者に表示されることを可能にする。
例示的なユースケースによれば、設計者は、webifier Add-Onが既にインストールされている、Windowsデスクトップバージョンのスプレッドシートアプリケーション、例えば、MICROSOFT EXCELを開き得る。Add-Onは、スプレッドシートアプリケーションに埋め込まれたメインAdd-Onユーザインターフェースとして“Sidebar”を含み得る。設計者は、ログインすることを要求され得る(図13)。ログインの成功は、設計者を、以前に作成したweb-appのリストを有する図12へ連れていく。設計者は、スプレッドシートアプリケーションにより利用可能な普通の方法で新しいスプレッドシートファイルを作成し、次いで、図12で見られるようにアップロード矢印(サーバへのアップロード)をクリックし得る。設計者は、appの名前を設定し(図23)、ほぼ空のスプレッドシート(この例では)がサーバに送信され、ほぼ空のweb-appとなる。設計者は、次に、図18上のページの空リストを見て、図69のメニューを見るべくweb-appアクションメニュー上をクリックする
、又は図55のメニューを見るべくweb-app タブのアクションメニュー上をクリックする。ユーザは、該メニューからの追加ページをクリックし、図51のようなフォームへ進み、これは、ページ“Title”などのすべてのページタイプに共通のプロパティを表示してよく、また、所望のデスティネーションページタイプを選ぶべくドロップダウンを表示してよい。設計者は、次に、設計者のページタイプの選択に応じて、図26の(API)、27 (Calendar)、29 (Container)、33 (CSV Import)、35 (Details Report)、38 (Edit-Cells)、41 (Edit-Record)、43 (Insert)、45 (Link)、46 (PDF)、47 (Report)、49 (Tabs Container)に似ていてよい、ページタイプ設定及び構成を定義することを要求する主としてブランクのフォームを見ることになる。設計者は、それぞれ本明細書で説明される1つ又は複数の特徴を組み込んでいるページを必要なだけ作成するべくこのプロセスを繰り返し得る。
本出願は、2017年3月10日に出願された「Spreadsheet-Based
Software Application Development」という名称の米国特許出願第15/455,909号、及び2016年12月3日に出願された「Spreadsheet-Based Software Application Development」という名称の米国仮特許出願第62/429,749号に基づく優先権の利益を主張するものである。上記の出願のそれぞれの内容は、あらゆる目的のためにそれらの全体が参照により本明細書に組み込まれる。
Claims (25)
- スプレッドシートからのデータレコードの表示を含む対話型ウェブアプリケーションを作成するためコンピュータにより実施される方法であって、
それぞれゼロまたはそれ以上のデータレコードを有する、スプレッドシート内の1つまたは複数のデータソースを決定するステップであって、前記データソースは、前記スプレッドシートの第1の部分を備える、前記ステップと、
前記スプレッドシート内で少なくとも1つの第1のユーザインターフェース・テンプレートを決定するステップであって、前記第1のユーザインターフェース・テンプレートは、前記対話型ウェブアプリケーションの第1のウェブページに対応し、かつ前記第1のウェブページに含められるべきデータレコードのためのレイアウトまたはフォーマットを含み、前記第1のユーザインターフェース・テンプレートは、前記スプレッドシートの第2の部分の1つまたは複数のセルの少なくとも一部によって定義される、前記ステップと、
前記第1のユーザインターフェース・テンプレートに基づいて対話型ウェブアプリケーションの前記第1のウェブページを作成するステップであって、前記第1のウェブページは、前記第1のユーザインターフェース・テンプレートに基づいて識別される少なくとも1つの第1のデータソースを参照する、前記ステップと、
前記対話型ウェブアプリケーションの一部として、前記第1のユーザインターフェース・テンプレートで定義され、かつ前記第1のデータソースのデータレコードの内容の更新を含むユーザ入力を受信するように構成された1つまたは複数のルールに基づいて、入力制御を生成するステップであって、前記ルールは、前記スプレッドシートを生成したスプレッドシートアプリケーションにネイティブな少なくとも1つの式を使用して定義される、前記ステップと、
前記対話型ウェブアプリケーションの第1のウェブページのプレゼンテーションに関する第1の要求に応答して、前記第1のデータソースの1つまたは複数の第1のデータレコードを含む前記第1のウェブページのプレゼンテーションを作成するステップであって、前記1つまたは複数の第1のデータレコードは、前記第1のウェブページに対応する前記第1のユーザインターフェース・テンプレートに基づいて識別されおよびフォーマットされる、前記ステップと、
前記対話型ウェブアプリケーションの前記入力制御を介して、第1のウェブページのプレゼンテーションに含まれる少なくとも1つの第1のデータレコードの内容の更新を含むユーザ入力を受信することに応答して、前記少なくとも1つの第1のデータレコードの内容の更新が1つまたは複数のルールを満たすかどうかを判定するステップと、
前記少なくとも1つの第1のデータレコードの内容の更新が前記1つまたは複数のルールを満たすと判定することに応答して、スプレッドシートの少なくとも1つの対応するデータレコードを更新するステップとを含む、方法。 - 前記スプレッドシートの前記少なくとも第1の部分のデータレコードを含むウェブデータストアを作成するステップをさらに備え、
前記第1のウェブページのプレゼンテーションを作成するステップは、前記作成されたウェブデータストアから、前記1つまたは複数の第1のデータレコードを取得することを含む、請求項1に記載の方法。 - 前記作成されたウェブデータストアは、前記スプレッドシートを含む、請求項2に記載の方法。
- 前記ウェブデータストアは、前記スプレッドシートの前記少なくとも第1の部分のデータレコードを取得することによって作成される、請求項2に記載の方法。
- 前記スプレッドシートは複数のワークシートを含み、前記スプレッドシートの第1の部分は、前記スプレッドシートの第2の部分と違う他のワークシート上にある、請求項1に記載の方法。
- 前記1または複数のルールは、第1のユーザに関連するセキュリティパーミッションに基づいて、前記第1のユーザによる前記スプレッドシート内の第2のデータレコードの変更を禁止するか否かを判定するように構成されたセキュリティパーミッションルールを含む、請求項1に記載の方法。
- 前記1または複数のルールは入力検証ルールを含み、
前記入力検証ルールに照らして、前記ユーザ入力の内容を評価するステップをさらに備え、
前記スプレッドシートの少なくとも1つのデータレコードの更新は、前記評価に基づいて行われる、請求項1に記載の方法。 - 前記入力検証ルールは、特定のデータソースに関連する、請求項7に記載の方法。
- 前記入力検証ルールは、前記第1のウェブページに関連する、請求項7に記載の方法。
- 前記第1のユーザインターフェース・テンプレートは、データ制約ルールを含み、
前記第1のウェブページのプレゼンテーションの作成は、前記データ制約ルールを満たすデータレコードを選別することに基づいて行われる、請求項1に記載の方法。 - 前記対話型ウェブアプリケーションの入力制御は、前記第1のウェブページの一部である、請求項1に記載の方法。
- スプレッドシートからのデータレコードの表示を含む対話型ウェブアプリケーションを作成するための装置であって、
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行されるときに前記装置に以下の各ステップを実行させる命令を記憶したメモリとを備える、装置。
スプレッドシート内の1つまたは複数のデータソースを決定するステップであって、前記データソースは、それぞれゼロまたはそれ以上のデータレコードを有するとともに前記スプレッドシートの第1の部分を備える、前記ステップ、
前記スプレッドシート内からの少なくとも1つの第1のユーザインターフェース・テンプレートを決定するステップであって、前記ユーザインターフェース・テンプレートは、前記スプレッドシート内で、前記対話型ウェブアプリケーションの第1のウェブページに対応し、かつ前記第1のウェブページに含められるべきデータレコードのためのレイアウトまたはフォーマットを含み、前記第1のユーザインターフェース・テンプレートは、前記スプレッドシートの第2の部分の1つまたは複数のセルの少なくとも一部によって定義される、前記ステップ、
前記第1のユーザインターフェース・テンプレートに基づいて対話型ウェブアプリケーションの前記第1のウェブページを作成するステップであって、前記第1のウェブページは、前記第1のユーザインターフェース・テンプレートに基づいて識別される少なくとも1つの第1のデータソースを参照する、前記ステップ、
前記対話型ウェブアプリケーションの一部として、前記第1のユーザインターフェーステンプレートで定義され、かつ前記第1のデータソースのデータレコードの内容の更新を含むユーザ入力を受信するように構成された1つまたは複数のルールに基づいて、入力制御を生成するステップであって、前記ルールは、前記スプレッドシートを生成したスプレッドシートアプリケーションにネイティブな少なくとも1つの式を用いて定義される、前記ステップ、
前記対話型ウェブアプリケーションの第1のウェブページのプレゼンテーションに関する第1の要求に応答して、前記第1のデータソースの1つまたは複数の第1のデータレコードを含む前記第1のウェブページのプレゼンテーションを作成するステップであって、前記1つまたは複数の第1のデータレコードは、前記第1のウェブページに対応する前記第1のユーザインターフェース・テンプレートに基づいて識別されフォーマットされる、前記ステップ、
前記対話型ウェブアプリケーションの前記入力制御を介して、第1のウェブページのプレゼンテーションに含まれる少なくとも1つの第1のデータレコードの内容の更新を含むユーザ入力を受信することに応答して、前記少なくとも1つの第1のデータレコードの内容の更新が前記1つまたは複数のルールを満たすかどうかを判定するステップ、ならびに
前記少なくとも1つの第1のデータレコードの内容の更新が前記1つまたは複数のルールを満たすと判定することに応答して、スプレッドシートの少なくとも1つの対応するデータレコードを更新するステップ。 - 前記命令は前記装置に、前記スプレッドシートの前記少なくとも第1の部分のデータレコードを含むウェブデータストアを作成させ、
前記命令は、前記作成されたウェブデータストアから、前記1つまたは複数の第1のデータレコードを前記装置に取得させることによって、前記装置に前記第1のウェブページのプレゼンテーションを作成させる、請求項12に記載の装置。 - 前記スプレッドシートは複数のワークシートを含み、前記スプレッドシートの第1の部分は、前記スプレッドシートの第2の部分と違う他のワークシート上にある、請求項12に記載の装置。
- 前記1または複数のルールは、第1のユーザに関連するセキュリティパーミッションに基づいて、前記第1のユーザによる前記スプレッドシート内の第2のデータレコードの変更を禁止するか否かを判定するように構成されたセキュリティパーミッションルールを含む、請求項12に記載の装置。
- 前記1または複数のルールは入力検証ルールを含み、前記命令は、前記装置に対して、
前記入力検証ルールに照らして、前記ユーザ入力の内容を評価することを実行させ、
前記スプレッドシートの少なくとも1つのデータレコードの更新は、前記評価に基づいて行われる、請求項12に記載の装置。 - 前記第1のユーザインターフェース・テンプレートは、データ制約ルールを含み、前記命令は、前記装置に対して、前記データ制約ルールを満たすデータレコードを選別することに基づいて、前記第1のウェブページのプレゼンテーションを作成することをさらに実行させる、請求項12に記載の装置。
- コンピュータ装置によって読み取られる、非一時的な記憶媒体であって、複数の命令を記憶し、前記命令は、1つまたは複数のプロセッサによって実行されると、前記コンピュータ装置に次の各ステップを実行させる、記憶媒体。
それぞれゼロまたはそれ以上のデータレコードを有する、スプレッドシート内の1つまたは複数のデータソースを決定するステップであって、前記データソースは、前記スプレッドシートの第1の部分を備える、前記ステップ、
前記スプレッドシート内で、少なくとも1つの第1のユーザインターフェース・テンプレートを決定するステップであって、前記第1のユーザインターフェース・テンプレートは、対話型ウェブアプリケーションの第1のウェブページに対応し、かつ前記第1のウェブページに含められるべきデータレコードのためのレイアウトまたはフォーマットを含み、前記第1のユーザインターフェース・テンプレートは、前記スプレッドシートの第2の部分の1つまたは複数のセルの少なくとも一部によって定義される、前記ステップ、
前記第1のユーザインターフェース・テンプレートに基づいて前記対話型ウェブアプリケーションの前記第1のウェブページを作成するステップであって、前記第1のウェブページは、前記第1のユーザインターフェース・テンプレートに基づいて識別される少なくとも1つの第1のデータソースを参照する、前記ステップ、
前記対話型ウェブアプリケーションの一部として、前記第1のユーザインターフェーステンプレートで定義され、かつ前記第1のデータソースのデータレコードの内容の更新を含むユーザ入力を受信するように構成された1つまたは複数のルールに基づいて、入力制御を生成するステップであって、前記ルールは、前記スプレッドシートを生成したスプレッドシートアプリケーションにネイティブな少なくとも1つの式を使用して定義される、前記ステップ、
前記対話型ウェブアプリケーションの第1のウェブページのプレゼンテーションに関する第1の要求に応答して、前記第1のデータソースの1つまたは複数の第1のデータレコードを含む前記第1のウェブページのプレゼンテーションを作成するステップであって、前記1つまたは複数の第1のデータレコードは、前記第1のウェブページに対応する前記第1のユーザインターフェース・テンプレートに基づいて識別されおよびフォーマットされる、前記ステップ、
前記対話型ウェブアプリケーションの前記入力制御を介して、前記第1のウェブページのプレゼンテーションに含まれる少なくとも1つの第1のデータレコードの内容の更新を含むユーザ入力を受信することに応答して、前記少なくとも1つの第1のデータレコードの内容の更新が1つまたは複数のルールを満たすかどうかを判定するステップ、ならびに
前記少なくとも1つの第1のデータレコードの内容の更新が前記1つまたは複数のルールを満たすと判定することに応答して、スプレッドシートの少なくとも1つの対応するデータレコードを更新するステップ。 - 前記命令は、前記コンピュータ装置に次のステップをさらに実行させる、請求項18に記載の記憶媒体。
前記スプレッドシートの前記少なくとも第1の部分のデータレコードを含むウェブデータストアを作成するステップ、ここにおいて、前記第1のウェブページのプレゼンテーションを作成するステップは、前記作成されたウェブデータストアから、前記1つまたは複数の第1のデータレコードを取得することを含む。 - 前記1または複数のルールは入力検証ルールを含み、前記命令は、前記コンピュータ装置に、前記入力検証ルールに照らして、前記ユーザ入力の内容を評価するステップをさらに実行させ、ここにおいて前記スプレッドシートの少なくとも1つのデータレコードの更新は、前記評価に基づいて行われる、請求項18に記載の記憶媒体。
- スプレッドシートからのデータレコードの表示を含む対話型ウェブアプリケーションを作成するためコンピュータにより実施される方法であって、
それぞれゼロまたはそれ以上のデータレコードを有する、スプレッドシート内の1つまたは複数のデータソースを決定するステップであって、前記データソースは、前記スプレッドシートの第1のワークシートを備える、前記ステップと、
前記対話型ウェブアプリケーションの第1のウェブページに対応する少なくとも1つの第1のユーザインターフェース・テンプレートを決定するステップであって、前記第1のユーザインターフェース・テンプレートは、前記第1のウェブページに含められるべきデータレコードのためのレイアウトまたはフォーマットを含み、前記第1のユーザインターフェース・テンプレートは、前記スプレッドシートの第2のワークシートの1つまたは複数のセルの少なくとも一部によって定義される、前記ステップと、
前記第1のユーザインターフェース・テンプレートに基づいて対話型ウェブアプリケーションの前記第1のウェブページを作成するステップであって、前記第1のウェブページは、前記第1のユーザインターフェース・テンプレートに基づいて識別される少なくとも1つの第1のデータソースを参照する、前記ステップと、
前記対話型ウェブアプリケーションの一部として、前記第1のユーザインターフェーステンプレートで定義され、かつ前記第1のデータソースのデータレコードの内容の更新を含むユーザ入力を受信するように構成された1つまたは複数のルールに基づいて、入力制御を生成するステップであって、前記ルールは、前記スプレッドシートを生成したスプレッドシートアプリケーションにネイティブな少なくとも1つの式を使用して定義される、前記ステップと、
前記対話型ウェブアプリケーションの第1のウェブページのプレゼンテーションに関する第1の要求に応答して、前記第1のデータソースの1つまたは複数の第1のデータレコードを含む前記第1のウェブページのプレゼンテーションを作成するステップであって、前記1つまたは複数の第1のデータレコードは、前記第1のウェブページに対応する前記第1のユーザインターフェース・テンプレートに基づいて識別されおよびフォーマットされる、前記ステップと、
前記対話型ウェブアプリケーションの前記入力制御を介して、第1のウェブページのプレゼンテーションに含まれる少なくとも1つの第1のデータレコードの内容の更新を含むユーザ入力を受信することに応答して、前記少なくとも1つの第1のデータレコードの内容の更新が1つまたは複数のルールを満たすかどうかを判定するステップと、
前記少なくとも1つの第1のデータレコードの内容の更新が前記1つまたは複数のルールを満たすと判定することに応答して、スプレッドシートの少なくとも1つの対応するデータレコードを更新するステップとを含む、方法。 - 前記スプレッドシートは前記第1のワークシートおよび第2のワークシートを備える、請求項21に記載の方法。
- 前記1または複数のルールは、第1のユーザに関連するセキュリティパーミッションに基づいて、前記第1のユーザによる前記スプレッドシート内の第2のデータレコードの変更を禁止するか否かを判定するように構成されたセキュリティパーミッションルールを含む、請求項21に記載の方法。
- 前記1または複数のルールは、入力検証ルールを含み、
前記入力検証ルールに照らした前記ユーザ入力の内容を評価するステップをさらに含み、
前記スプレッドシートの前記少なくとも1つのデータレコードの更新は、前記評価に基づく、請求項21に記載の方法。 - 1つの前記ユーザインターフェース・テンプレートは、データ制約ルールをさらに含み、
前記第1のウェブページのプレゼンテーションを作成することは、前記データ制約ルールを満たすデータレコードの選定に基づいて行われる、請求項21に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662429749P | 2016-12-03 | 2016-12-03 | |
US62/429,749 | 2016-12-03 | ||
US15/455,909 US10216494B2 (en) | 2016-12-03 | 2017-03-10 | Spreadsheet-based software application development |
US15/455,909 | 2017-03-10 | ||
JP2020160370A JP7093387B2 (ja) | 2016-12-03 | 2020-09-25 | スプレッドシートに基づくソフトウェアアプリケーション開発 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020160370A Division JP7093387B2 (ja) | 2016-12-03 | 2020-09-25 | スプレッドシートに基づくソフトウェアアプリケーション開発 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022130503A JP2022130503A (ja) | 2022-09-06 |
JP7460689B2 true JP7460689B2 (ja) | 2024-04-02 |
Family
ID=62241146
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019549616A Active JP6770653B2 (ja) | 2016-12-03 | 2017-12-01 | スプレッドシートに基づくソフトウェアアプリケーション開発 |
JP2020160370A Active JP7093387B2 (ja) | 2016-12-03 | 2020-09-25 | スプレッドシートに基づくソフトウェアアプリケーション開発 |
JP2022098439A Active JP7460689B2 (ja) | 2016-12-03 | 2022-06-17 | スプレッドシートに基づくソフトウェアアプリケーション開発 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019549616A Active JP6770653B2 (ja) | 2016-12-03 | 2017-12-01 | スプレッドシートに基づくソフトウェアアプリケーション開発 |
JP2020160370A Active JP7093387B2 (ja) | 2016-12-03 | 2020-09-25 | スプレッドシートに基づくソフトウェアアプリケーション開発 |
Country Status (6)
Country | Link |
---|---|
US (4) | US10216494B2 (ja) |
EP (2) | EP4343613A2 (ja) |
JP (3) | JP6770653B2 (ja) |
CN (2) | CN116225399A (ja) |
CA (1) | CA3045735A1 (ja) |
WO (1) | WO2018098596A1 (ja) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021099839A1 (en) | 2019-11-18 | 2021-05-27 | Roy Mann | Collaborative networking systems, methods, and devices |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
US11410129B2 (en) | 2010-05-01 | 2022-08-09 | Monday.com Ltd. | Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems |
US9696967B2 (en) * | 2015-11-09 | 2017-07-04 | Microsoft Technology Licensing, Llc | Generation of an application from data |
US11210459B1 (en) | 2016-09-23 | 2021-12-28 | Massachusetts Mutual Life Insurance Company | Systems, devices, and methods for software coding |
US10540152B1 (en) | 2016-09-23 | 2020-01-21 | Massachusetts Mutual Life Insurance Company | Systems, devices, and methods for software coding |
US11138370B1 (en) | 2016-09-23 | 2021-10-05 | Massachusetts Mututal Life Insurance Company | Modifying and using spreadsheets to create a GUI on another device |
US10496737B1 (en) * | 2017-01-05 | 2019-12-03 | Massachusetts Mutual Life Insurance Company | Systems, devices, and methods for software coding |
US20180260461A1 (en) * | 2017-03-10 | 2018-09-13 | David Stephens | Multi-platform data mining software |
CN108804483B (zh) * | 2017-05-05 | 2020-01-07 | 平安科技(深圳)有限公司 | 单元格页面的渲染方法、服务器和计算机可读存储介质 |
US10713370B2 (en) * | 2017-06-24 | 2020-07-14 | Seclore Technology Private Limited | Information rights management through editors implemented in a browser |
US10510438B2 (en) * | 2017-07-07 | 2019-12-17 | Definitive Media Corp. | System and method for building intuitive clinical trial applications |
US11048695B2 (en) * | 2017-09-12 | 2021-06-29 | Sap Se | Context-aware data commenting system |
US11138371B2 (en) * | 2017-09-28 | 2021-10-05 | Oracle International Corporation | Editable table in a spreadsheet integrated with a web service |
US11087080B1 (en) * | 2017-12-06 | 2021-08-10 | Palantir Technologies Inc. | Systems and methods for collaborative data entry and integration |
US10705805B1 (en) | 2017-12-12 | 2020-07-07 | Amazon Technologies, Inc. | Application authoring using web-of-sheets data model |
US10592225B2 (en) * | 2018-05-11 | 2020-03-17 | Slack Technologies, Inc. | Method, apparatus, and computer program product for installing third party applications requiring variable host address identification in a group-based communication system |
US11586603B1 (en) | 2018-05-23 | 2023-02-21 | Amazon Technologies, Inc. | Index sheets for robust spreadsheet-based applications |
US11436359B2 (en) | 2018-07-04 | 2022-09-06 | Monday.com Ltd. | System and method for managing permissions of users for a single data type column-oriented data structure |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
US11388171B2 (en) | 2018-07-25 | 2022-07-12 | SlackTechnologies, LLC | Method, apparatus, and computer program product for installing and updating third party applications requiring variable host address identification in a group-based communication system |
US11295073B2 (en) * | 2018-08-01 | 2022-04-05 | Microsoft Technology Licensing, Llc | Cross-application ingestion and restructuring of spreadsheet content |
US11113447B2 (en) | 2018-08-01 | 2021-09-07 | Microsoft Technology Licensing, Llc | Cross-application ingestion and restructuring of slide presentation content |
US11681760B2 (en) | 2018-08-01 | 2023-06-20 | Microsoft Technology Licensing, Llc | Cross-application ingestion and restructuring of content |
US11182538B2 (en) | 2018-08-01 | 2021-11-23 | Microsoft Technology Licensing, Llc | Conversational user interface logic for cross-application ingestion and restructuring of content |
US10657321B2 (en) * | 2018-09-11 | 2020-05-19 | Apple Inc. | Exploded-range references |
US11429558B2 (en) | 2018-10-11 | 2022-08-30 | Dealvector, Inc. | Mapping tests of spreadsheets in server-browser environments |
EP3864557A4 (en) | 2018-10-11 | 2022-07-27 | Dealvector, Inc. | EFFECTIVE USE OF SPREADSHEET IN BROWSER ENVIRONMENTS |
US11429557B2 (en) | 2018-10-11 | 2022-08-30 | Dealvector, Inc. | Templatization of spreadsheets in browser environments |
US10917233B2 (en) * | 2018-10-16 | 2021-02-09 | International Business Machines Corporation | Selective exchange of transaction data |
US11270017B2 (en) | 2018-10-16 | 2022-03-08 | International Business Machines Corporation | Selective exchange of transaction data |
US11010536B2 (en) * | 2018-12-20 | 2021-05-18 | AINS, Inc. | Systems and methods for dynamic web user interface generation |
CN109871254A (zh) * | 2019-01-31 | 2019-06-11 | 成都摹客科技有限公司 | 一种可分离的原型工具的单元格子的创建方法及系统 |
CN109871523A (zh) * | 2019-01-31 | 2019-06-11 | 成都摹客科技有限公司 | 一种基于原型设计工具的单元格子的快速创建方法及系统 |
US20200287947A1 (en) * | 2019-03-04 | 2020-09-10 | Metatellus Oü | System and method for selective communication |
WO2020190931A1 (en) * | 2019-03-19 | 2020-09-24 | Sigma Computing, Inc. | Cross-organization worksheet sharing |
US10902146B2 (en) | 2019-03-19 | 2021-01-26 | Workiva Inc. | Method and computing device for gating data between workspaces |
US11120211B2 (en) * | 2019-04-23 | 2021-09-14 | Microsoft Technology Licensing, Llc | Combining spreadsheet recorded operations |
US11681504B1 (en) | 2019-04-26 | 2023-06-20 | Opturo, Inc. | Automated application builder using configuration files |
US11636088B2 (en) * | 2019-06-24 | 2023-04-25 | Jnd Holdings Llc | Systems and methods to facilitate rapid data entry for document review |
US11194793B1 (en) | 2019-06-25 | 2021-12-07 | Amazon Technologies, Inc. | Dynamically materialized views for sheets based data |
US11086894B1 (en) * | 2019-06-25 | 2021-08-10 | Amazon Technologies, Inc. | Dynamically updated data sheets using row links |
US10942709B2 (en) * | 2019-07-02 | 2021-03-09 | Holtworks, LLC | Hyperpiler |
CN110516028B (zh) * | 2019-07-29 | 2022-04-29 | 贝壳技术有限公司 | 一种基于react实现复杂编辑器的方法及装置 |
CN110705243A (zh) * | 2019-10-10 | 2020-01-17 | 深圳前海微众银行股份有限公司 | web页面表格设置方法、装置、设备及计算机存储介质 |
US20210112130A1 (en) * | 2019-10-15 | 2021-04-15 | UiPath, Inc. | Mobile push notification for robotic process automation (rpa) |
CN110782234B (zh) * | 2019-11-07 | 2020-10-02 | 殷步九 | 一种基于事务逻辑的信息管理方法及系统 |
CN114730256A (zh) * | 2019-11-11 | 2022-07-08 | 阿韦瓦软件有限责任公司 | 用于分布式低代码/无代码计算环境的计算机化的系统和方法 |
US11727323B2 (en) | 2019-11-18 | 2023-08-15 | Monday.Com | Digital processing systems and methods for dual permission access in tables of collaborative work systems |
US11397519B2 (en) * | 2019-11-27 | 2022-07-26 | Sap Se | Interface controller and overlay |
CN111124385B (zh) * | 2019-12-02 | 2022-05-20 | 深圳航天科技创新研究院 | 一种基于数据库的电源设计软件的自动生成方法及系统 |
US11290531B2 (en) * | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
CN111142735B (zh) * | 2019-12-10 | 2021-06-29 | 深圳市优必选科技股份有限公司 | 一种软件页面的创建方法、装置、终端设备和存储介质 |
CN111090975B (zh) * | 2019-12-10 | 2024-04-19 | 金蝶软件(中国)有限公司 | 数据打印方法、数据处理系统及计算机存储介质 |
CN113010588B (zh) * | 2019-12-20 | 2023-07-04 | 北京国基科技股份有限公司 | 一种数据表格的处理方法 |
CN111222310A (zh) * | 2019-12-23 | 2020-06-02 | 福建亿能达信息技术股份有限公司 | 一种不规则表单的录入和展示的方法及系统 |
CN111178022A (zh) * | 2019-12-23 | 2020-05-19 | 北京航天云路有限公司 | 一种二维图表数据标准化格式定义与实现方法 |
CN111353272B (zh) * | 2019-12-24 | 2023-10-20 | 明度智云(浙江)科技有限公司 | 一种web表格的信息显示方法和装置 |
CN111159988B (zh) * | 2019-12-31 | 2023-09-08 | 软通动力信息技术(集团)股份有限公司 | 一种模型处理方法、装置、计算机设备及存储介质 |
US11150955B2 (en) | 2020-01-16 | 2021-10-19 | Fujitsu Limited | Generation and usage of a task-based programming platform |
CN111338625B (zh) * | 2020-02-20 | 2023-04-18 | 广东小天才科技有限公司 | 一种数据处理方法、系统、终端设备以及存储介质 |
CN111596607B (zh) * | 2020-04-14 | 2021-07-13 | 宝鸡石油机械有限责任公司 | 一种可配置文本和操作命令的上位机通用hmi界面设计方法 |
US11829953B1 (en) | 2020-05-01 | 2023-11-28 | Monday.com Ltd. | Digital processing systems and methods for managing sprints using linked electronic boards |
IL297858A (en) | 2020-05-01 | 2023-01-01 | Monday Com Ltd | Digital processing systems and methods for improved networking and collaborative work management systems, methods and devices |
US11277361B2 (en) | 2020-05-03 | 2022-03-15 | Monday.com Ltd. | Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems |
CN111813282B (zh) * | 2020-05-29 | 2021-12-10 | 北京金山云网络技术有限公司 | 一种数据表单的展示方法和装置 |
CN111723138B (zh) * | 2020-06-10 | 2023-12-19 | 山东浪潮新世纪科技有限公司 | 一种模拟人工方式自动获取数据的系统及方法 |
CN112015408A (zh) * | 2020-07-08 | 2020-12-01 | 广州乐摇摇信息科技有限公司 | 组件渲染方法、装置、存储介质及电子装置 |
CN111984170B (zh) * | 2020-07-14 | 2022-06-10 | 维沃移动通信有限公司 | 表格输出方法、装置及电子设备 |
US11556702B2 (en) * | 2020-08-31 | 2023-01-17 | Oracle International Corporation | Orchestration of crud operations for a hierarchical web service data model in a spreadsheet |
CN111984238A (zh) * | 2020-09-22 | 2020-11-24 | 吴政静 | 一种跨平台桥接数据信息处理的软件 |
CN112527387B (zh) * | 2020-11-20 | 2024-03-01 | 杭州大搜车汽车服务有限公司 | 应用处理方法和装置 |
USD993277S1 (en) * | 2020-12-10 | 2023-07-25 | Yokogawa Electric Corporation | Display screen or portion thereof with graphical user interface |
CN112785249A (zh) * | 2020-12-31 | 2021-05-11 | 山东师范大学 | 一种基于vba的日程管理方法及系统 |
US11531452B2 (en) | 2021-01-14 | 2022-12-20 | Monday.com Ltd. | Digital processing systems and methods for group-based document edit tracking in collaborative work systems |
CN112800736B (zh) * | 2021-02-04 | 2022-04-08 | 杉数科技(北京)有限公司 | 生成单元格编辑组件的方法、装置、介质及计算机设备 |
CN113011128A (zh) * | 2021-03-05 | 2021-06-22 | 北京百度网讯科技有限公司 | 文档在线预览方法、装置、电子设备及存储介质 |
US11716381B2 (en) | 2021-04-13 | 2023-08-01 | Capital One Services, Llc | Exporting data to a cloud-based service |
CN113362018A (zh) * | 2021-05-25 | 2021-09-07 | 北京明略软件系统有限公司 | 一种会议时长的处理方法及系统 |
CN113297311B (zh) * | 2021-06-16 | 2023-12-19 | 北京有竹居网络技术有限公司 | 一种数据转换方法及装置 |
CN113721901A (zh) * | 2021-06-25 | 2021-11-30 | 国网安徽省电力有限公司 | 一种低代码的财务数据分析可视化引擎 |
CN113468400B (zh) * | 2021-07-23 | 2023-11-28 | 平安国际智慧城市科技股份有限公司 | 可视化网页的列表渲染方法、装置、设备及存储介质 |
US11868711B2 (en) * | 2021-08-16 | 2024-01-09 | Google Llc | Creating dynamic data-bound container hosted views and editable forms |
CN114385150B (zh) * | 2021-09-18 | 2022-09-02 | 北京能科瑞元数字技术有限公司 | 基于智能引擎的低代码开发方法 |
US11960864B2 (en) * | 2021-09-27 | 2024-04-16 | Microsoft Technology Licensing, Llc. | Creating applications and templates based on different types of input content |
KR102397494B1 (ko) * | 2021-11-17 | 2022-05-13 | (주)에스엠시스템 | 로우(Low) 코드 웹 개발 및 운영 시스템 및 이를 이용한 서비스 방법 |
WO2024010567A1 (en) * | 2022-07-05 | 2024-01-11 | Rakuten Symphony Singapore Pte. Ltd. | Method and apparatus for management and validation of data |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
CN116382659B (zh) * | 2023-05-29 | 2023-09-01 | 珠海乐图软件有限公司 | 一种无代码开发平台的数据定义方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006024021A (ja) | 2004-07-08 | 2006-01-26 | Nec Corp | 帳票自動作成システム、帳票自動作成方法、帳票自動作成サーバ、および帳票自動作成装置 |
JP2014164548A (ja) | 2013-02-26 | 2014-09-08 | Mitsubishi Electric Corp | 情報処理システム |
US20150106782A1 (en) | 2013-10-16 | 2015-04-16 | Microsoft Corporation | Using spreadsheets as a basis for enhanced application development |
JP2016091244A (ja) | 2014-10-31 | 2016-05-23 | 富士通エフ・アイ・ピー株式会社 | 情報処理装置、プログラム |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4989141A (en) | 1987-06-01 | 1991-01-29 | Corporate Class Software | Computer system for financial analyses and reporting |
GB9800427D0 (en) | 1998-01-10 | 1998-03-04 | Ibm | Probabilistic data clustering |
US7650355B1 (en) | 1999-05-21 | 2010-01-19 | E-Numerate Solutions, Inc. | Reusable macro markup language |
AU2001277868A1 (en) | 2000-07-11 | 2002-01-21 | Juice Software, Inc. | A method and system for integrating network-based functionality into productivity applications and documents |
GB0028434D0 (en) * | 2000-11-22 | 2001-01-10 | Decision Curve Ltd | Methods and apparatus for automatically producing spreadsheet-based models |
US7251776B2 (en) | 2001-07-13 | 2007-07-31 | Netview Technologies, Inc. | System and method for efficiently and flexibly utilizing spreadsheet information |
WO2003098500A1 (en) | 2002-05-16 | 2003-11-27 | Decision Curve Limited | Method and apparatus for automatically producing spreadsheet-based models |
US20040205468A1 (en) * | 2002-05-17 | 2004-10-14 | Thomas Lightner | Web page author |
US7702636B1 (en) | 2002-07-31 | 2010-04-20 | Cadence Design Systems, Inc. | Federated system and methods and mechanisms of implementing and using such a system |
US20040103365A1 (en) | 2002-11-27 | 2004-05-27 | Alan Cox | System, method, and computer program product for an integrated spreadsheet and database |
US20040111666A1 (en) | 2002-12-05 | 2004-06-10 | Hollcraft James G. | Software replicator functions for generating reports |
AU2002953555A0 (en) | 2002-12-23 | 2003-01-16 | Canon Kabushiki Kaisha | Method for presenting hierarchical data |
US20040221233A1 (en) | 2003-04-29 | 2004-11-04 | David Thielen | Systems and methods for report design and generation |
US7523395B1 (en) | 2003-05-30 | 2009-04-21 | Oracle International Corporation | Web application generator for spreadsheet calculators |
US20090132347A1 (en) | 2003-08-12 | 2009-05-21 | Russell Wayne Anderson | Systems And Methods For Aggregating And Utilizing Retail Transaction Records At The Customer Level |
US7225189B1 (en) | 2004-02-19 | 2007-05-29 | Microsoft Corporation | Data source write back and offline data editing and storage in a spreadsheet |
US20050268215A1 (en) | 2004-06-01 | 2005-12-01 | Microsoft Corporation | Method and apparatus for viewing and interacting with a spreadsheet from within a web browser |
JP2005352634A (ja) | 2004-06-09 | 2005-12-22 | Hidenori So | Xmlを用いた分散データ処理システム |
NZ552724A (en) * | 2004-06-24 | 2009-12-24 | Geoffrey David Bird | Security for computer software |
US7213199B2 (en) | 2004-07-16 | 2007-05-01 | Cognos Incorporated | Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store |
US7779431B2 (en) | 2004-07-16 | 2010-08-17 | Wallace Robert G | Networked spreadsheet template designer |
US9009582B2 (en) | 2004-11-19 | 2015-04-14 | Google Inc. | Converting spreadsheet applications to web-based applications |
US7533420B2 (en) * | 2004-12-09 | 2009-05-12 | Microsoft Corporation | System and method for restricting user access to a network document |
GB0506508D0 (en) * | 2005-03-31 | 2005-05-04 | Ibm | Method, system and software tool for processing an electronic form |
US7752536B2 (en) * | 2005-09-09 | 2010-07-06 | Microsoft Corporation | Designating, setting and discovering parameters for spreadsheet documents |
JP4140919B2 (ja) | 2006-03-14 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表計算などの処理を行うシステムおよびその方法 |
US20080104542A1 (en) | 2006-10-27 | 2008-05-01 | Information Builders, Inc. | Apparatus and Method for Conducting Searches with a Search Engine for Unstructured Data to Retrieve Records Enriched with Structured Data and Generate Reports Based Thereon |
JP4767828B2 (ja) | 2006-12-01 | 2011-09-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ用アプリケーション・プログラムの作成システム、方法、及びプログラム |
US8190987B2 (en) | 2007-10-25 | 2012-05-29 | Microsoft Corporation | Private views of data and local calculations during real time collaboration |
US8145725B2 (en) * | 2007-10-31 | 2012-03-27 | International Business Machines Corporation | Updating data stores of virtual worlds based on data stores external to the virtual worlds |
US20140006913A1 (en) | 2007-12-21 | 2014-01-02 | Adobe Systems Incorporated | Visual template extraction |
US7406200B1 (en) | 2008-01-08 | 2008-07-29 | International Business Machines Corporation | Method and system for finding structures in multi-dimensional spaces using image-guided clustering |
US20090327339A1 (en) | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Partition templates for multidimensional databases |
US9389840B2 (en) * | 2009-02-11 | 2016-07-12 | Johnathan Mun | Compiled and executable method |
US20100211862A1 (en) | 2009-02-18 | 2010-08-19 | Microsoft Corporation | Facilitating spreadsheet and database views on common data store |
US20110066933A1 (en) * | 2009-09-02 | 2011-03-17 | Ludwig Lester F | Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization |
US9052908B2 (en) * | 2010-01-22 | 2015-06-09 | The Regents Of The University Of California | Web application development framework |
US8843814B2 (en) | 2010-05-26 | 2014-09-23 | Content Catalyst Limited | Automated report service tracking system and method |
US9952893B2 (en) | 2010-11-03 | 2018-04-24 | Microsoft Technology Licensing, Llc | Spreadsheet model for distributed computations |
US9721030B2 (en) * | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
US8510266B1 (en) * | 2011-03-03 | 2013-08-13 | Google Inc. | System and method for providing online data management services |
US9053083B2 (en) | 2011-11-04 | 2015-06-09 | Microsoft Technology Licensing, Llc | Interaction between web gadgets and spreadsheets |
US20130145244A1 (en) | 2011-12-05 | 2013-06-06 | Microsoft Corporation | Quick analysis tool for spreadsheet application programs |
US20130166498A1 (en) | 2011-12-25 | 2013-06-27 | Microsoft Corporation | Model Based OLAP Cube Framework |
KR101977972B1 (ko) * | 2011-12-29 | 2019-05-14 | 바이보 랩스, 인크. | 보고서 작성용으로 적응된 스프레드시트 기반 프로그래밍 언어 |
US9361656B2 (en) | 2012-01-09 | 2016-06-07 | W. C. Taylor, III | Data mining and logic checking tools |
US20140108971A1 (en) * | 2012-08-31 | 2014-04-17 | Salesforce.Com.Inc. | Application builder |
US20140136936A1 (en) | 2012-11-09 | 2014-05-15 | Microsoft Corporation | Spreadsheet functions to call rest api sources |
US9575950B2 (en) * | 2012-12-11 | 2017-02-21 | Smartorg, Inc. | Systems and methods for managing spreadsheet models |
US10210151B2 (en) * | 2012-12-17 | 2019-02-19 | Thomson Reuters (Grc) Llc | Dynamic function builder |
JP2014153751A (ja) | 2013-02-05 | 2014-08-25 | Shuichi Kuroki | データの抽出・編集・出力装置及びそのプログラム |
US20140236860A1 (en) | 2013-02-19 | 2014-08-21 | Ray Camrass | system allowing banks to diversify their loan portfolios via exchanging loans |
CN105122238B (zh) | 2013-05-22 | 2018-11-27 | 谷歌有限责任公司 | 协作文档中的非协作过滤器 |
US9367597B2 (en) | 2013-11-18 | 2016-06-14 | International Business Machines Corporation | Automatically managing mapping and transform rules when synchronizing systems |
US9348561B2 (en) | 2014-05-21 | 2016-05-24 | InvestCloud, Inc | Tabular format transaction editor |
US20160026616A1 (en) * | 2014-07-28 | 2016-01-28 | Microsoft Corporation | Presenting dataset of spreadsheet in form based view |
US20160092424A1 (en) * | 2014-09-25 | 2016-03-31 | Oracle International Corporation | Client side calculations |
US20160173541A1 (en) * | 2014-12-12 | 2016-06-16 | Microsoft Technology Licensing, Llc | Presentation of content from within spreadsheet application |
US9910843B2 (en) * | 2015-02-03 | 2018-03-06 | Intuit Inc. | Systems, methods and articles for a web-based spreadsheet application |
US10509858B1 (en) | 2015-03-15 | 2019-12-17 | Sigma Sciences Limited | Data processing in spreadsheet worksheets |
US20170098008A1 (en) | 2015-10-06 | 2017-04-06 | Squawqr LLC | Mobile application manager system and method |
US10713428B2 (en) * | 2015-11-02 | 2020-07-14 | Microsoft Technology Licensing, Llc | Images associated with cells in spreadsheets |
KR101769857B1 (ko) | 2015-12-28 | 2017-08-22 | (주)비아이매트릭스 | 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템 |
US20190303434A1 (en) | 2016-06-07 | 2019-10-03 | Open As App Gmbh | Method And Device For Generating An Electronic Document Specification |
US10929339B2 (en) | 2016-10-17 | 2021-02-23 | Yokogawa Electric Corporation | Generation of multiple worksheet exportation |
-
2017
- 2017-03-10 US US15/455,909 patent/US10216494B2/en active Active
- 2017-12-01 JP JP2019549616A patent/JP6770653B2/ja active Active
- 2017-12-01 EP EP24156891.4A patent/EP4343613A2/en active Pending
- 2017-12-01 CA CA3045735A patent/CA3045735A1/en active Pending
- 2017-12-01 WO PCT/CA2017/051457 patent/WO2018098596A1/en unknown
- 2017-12-01 CN CN202310128491.7A patent/CN116225399A/zh active Pending
- 2017-12-01 CN CN201780082312.3A patent/CN110325961B/zh active Active
- 2017-12-01 EP EP17876834.7A patent/EP3549013B1/en active Active
-
2019
- 2019-01-22 US US16/254,155 patent/US10877736B2/en active Active
-
2020
- 2020-09-25 JP JP2020160370A patent/JP7093387B2/ja active Active
- 2020-11-24 US US17/102,993 patent/US11442707B2/en active Active
-
2022
- 2022-06-17 JP JP2022098439A patent/JP7460689B2/ja active Active
- 2022-08-05 US US17/881,790 patent/US11893366B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006024021A (ja) | 2004-07-08 | 2006-01-26 | Nec Corp | 帳票自動作成システム、帳票自動作成方法、帳票自動作成サーバ、および帳票自動作成装置 |
JP2014164548A (ja) | 2013-02-26 | 2014-09-08 | Mitsubishi Electric Corp | 情報処理システム |
US20150106782A1 (en) | 2013-10-16 | 2015-04-16 | Microsoft Corporation | Using spreadsheets as a basis for enhanced application development |
JP2016091244A (ja) | 2014-10-31 | 2016-05-23 | 富士通エフ・アイ・ピー株式会社 | 情報処理装置、プログラム |
Non-Patent Citations (4)
Title |
---|
Edward Benson et al.,Spreadsheet-Driven Web Applications,UIST'14, Proceedings of the 27th annual ACM symposium on User interface software and technology,2014年10月08日,P.97-106,<URL> https://dl.acm.org/doi/10.1145/2642918.2647387 |
中野 修一,intra-martソースコードジェネレータ NTTデータイントラマート,JAVA Developer No.16 ,日本,ソフトバンクパブリッシング株式会社,2003年11月,P.28-29 |
井上 英明,レポート Report,日経コンピュータ no.793 NIKKEI COMPUTER,日本,日経BP社 Nikkei Business Publications,Inc.,2011年10月13日,P.18 |
特定のセルを編集できるユーザを指定したい,ワニchanのぱそこんわーるど,2012年06月30日,<URL> https://web.archive.org/web/20120630032122/https://www.wanichan.com/pc/excel/2003/09/383.html |
Also Published As
Publication number | Publication date |
---|---|
US20190187962A1 (en) | 2019-06-20 |
CN110325961A (zh) | 2019-10-11 |
US11893366B2 (en) | 2024-02-06 |
JP2022130503A (ja) | 2022-09-06 |
JP2021028828A (ja) | 2021-02-25 |
JP7093387B2 (ja) | 2022-06-29 |
US10877736B2 (en) | 2020-12-29 |
WO2018098596A1 (en) | 2018-06-07 |
JP6770653B2 (ja) | 2020-10-14 |
US20180157467A1 (en) | 2018-06-07 |
EP3549013B1 (en) | 2024-03-20 |
CN110325961B (zh) | 2023-02-28 |
CN116225399A (zh) | 2023-06-06 |
US20210081183A1 (en) | 2021-03-18 |
JP2020504889A (ja) | 2020-02-13 |
EP3549013A1 (en) | 2019-10-09 |
CA3045735A1 (en) | 2018-06-07 |
US11442707B2 (en) | 2022-09-13 |
US10216494B2 (en) | 2019-02-26 |
US20220374213A1 (en) | 2022-11-24 |
EP3549013A4 (en) | 2020-08-05 |
EP4343613A2 (en) | 2024-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7460689B2 (ja) | スプレッドシートに基づくソフトウェアアプリケーション開発 | |
US11113041B2 (en) | Spreadsheet-based software application development | |
JP2021028828A6 (ja) | スプレッドシートに基づくソフトウェアアプリケーション開発 | |
JP7153725B2 (ja) | スプレッドシートに基づくソフトウェアアプリケーションの開発 | |
US11726753B2 (en) | Spreadsheet-based software application development | |
US10657313B2 (en) | Method and system for editing virtual documents | |
WO2014153010A2 (en) | Systems and methods for concurrent online and offline document processing | |
AU2021201489A1 (en) | System and Process for generating an internet application | |
US11783120B2 (en) | System and process for generating an internet application | |
Barresse et al. | Excel Tables: A Complete Guide for Creating, Using and Automating Lists and Tables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220715 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230608 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230905 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20231101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231208 |
|
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: 20240222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240321 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7460689 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |