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

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

▶ ウィックス.コム リミテッド.の特許一覧

特表2022-508086ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-19
(54)【発明の名称】ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法
(51)【国際特許分類】
   G06F 8/60 20180101AFI20220112BHJP
   G06F 21/12 20130101ALI20220112BHJP
   G06F 8/36 20180101ALI20220112BHJP
【FI】
G06F8/60
G06F21/12 310
G06F8/36
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021525260
(86)(22)【出願日】2019-11-14
(85)【翻訳文提出日】2021-07-09
(86)【国際出願番号】 IB2019059789
(87)【国際公開番号】W WO2020100081
(87)【国際公開日】2020-05-22
(31)【優先権主張番号】62/760,965
(32)【優先日】2018-11-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/927,703
(32)【優先日】2019-10-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】515217409
【氏名又は名称】ウィックス.コム リミテッド.
(74)【代理人】
【識別番号】110002952
【氏名又は名称】特許業務法人鷲田国際特許事務所
(72)【発明者】
【氏名】ブルメンフェルド ウヴァル アリー
(72)【発明者】
【氏名】ファッタル オル
(72)【発明者】
【氏名】マーカス アヴィ
(72)【発明者】
【氏名】ワックスマン ハンナ
(72)【発明者】
【氏名】アガン カリン
(72)【発明者】
【氏名】ヨセフ マオル
(72)【発明者】
【氏名】カフマン アミット
(72)【発明者】
【氏名】チェジャノフスキー イタイ
(72)【発明者】
【氏名】ガニム オメール
(72)【発明者】
【氏名】シェファー リオール
(72)【発明者】
【氏名】ベン-アリ オル-アヴラハム
(72)【発明者】
【氏名】アハロン ナタリー
(72)【発明者】
【氏名】シャレヴ インバル ノアム
(72)【発明者】
【氏名】シュテケル イテイ
(72)【発明者】
【氏名】バルジレイ ツフィット
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC08
5B376BC19
5B376BC24
5B376BC43
5B376CA09
(57)【要約】
ウェブサイト構築システム(WBS)は、ウェブサイトコンポーネントとシステム構成可能アプリケーション(WCA)のインスタンスのデータベースであって、WCAは、カスタマイズ可能な要素のセットとしてもアクセス可能な単一のパッケージ化されたエンティティである、データベースと、開発者が初期バージョンのWCAを開発できるようにするWCAアプリビルダと、ユーザが初期バージョンWCAの定義またはインスタンスの少なくとも1つを編集するための特定の編集機能を提供するインサイトエディタと、ユーザから初期バージョンのWCAに対する修正を受信して、開発者からの初期バージョンWCAへの更新と、変更と更新の間をマージして変更されたWCAを作成するためのWCAハンドラとを含む。WCAハンドラは、機能のコンフリクトまたは損失を解決し、変更と更新の間のパーミッションを処理する。
【特許請求の範囲】
【請求項1】
ウェブサイト構築システムであって、
ウェブサイトコンポーネントならびにウェブサイト構築システム構成可能アプリケーション(WCA)の定義およびインスタンスを記憶する少なくとも1つのデータベースであって、前記WCAが、カスタマイズ可能な要素のセットとしてもアクセス可能な単一のパッケージ化されたエンティティである、データベースと、
開発者が初期バージョンのWCAを構築および編集できるようにするWCAアプリビルダと、
ユーザが、前記初期バージョンのWCAの定義またはインスタンスの少なくとも1つを編集するための特定の編集機能を提供するインサイトエディタと、
前記ユーザから前記初期バージョンのWCAに対する少なくとも1つの修正、および、前記開発者からの前記初期バージョンのWCAに対する少なくとも1つの更新を受信するWCAハンドラであって、変更されたWCAを作成するために、少なくとも前記少なくとも1つの修正と、前記少なくとも1つの更新との間でマージし、かつ、機能性のコンフリクトまたは損失をも解決して前記少なくとも1つの修正と、前記少なくとも1つの更新との間でパーミッションを処理するWCAハンドラと、
前記ウェブサイト構築システムの実行中に、前記初期バージョンのWCAおよび前記変更されたWCAの閲覧をサポートするWCAサイトビューアと、
を備えるウェブサイト構築システム。
【請求項2】
前記少なくとも1つのデータベースは、前記ウェブサイト構築システムにより構築されるウェブサイトのウェブサイトパラメータ、および、前記ウェブサイト構築システムのユーザのユーザ収集情報をも記憶し、
前記ユーザ収集情報は、地理的位置、言語、編集履歴および収集されたビジネスインテリジェンスのうちの少なくとも1つである、
請求項1に記載のウェブサイト構築システム。
【請求項3】
前記WCAハンドラは、
前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせの少なくとも1つにより、前記初期バージョンのWCAから削除された要素の結果として、前記変更されたWCAの動作を保証するゴーストモジュールと、
前記変更されたWCAの動作を保証するための前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせのうちの少なくとも1つの結果として、前記変更されたWCAの被置換要素と置換要素との間の互換性を保護するマスカレーダと、
の少なくとも1つを有する、
請求項1に記載のウェブサイト構築システム。
【請求項4】
前記ゴーストモジュールは、
前記削除されたコンポーネントの、元の定義、構造、および属性を取得すること、
前記ユーザ収集情報に基づいて削除されたコンポーネントの挙動の一部または全てを提供すること、および、
前記削除されたコンポーネントのアプリケーションプログラミングインターフェース(API)をシミュレートすること、
の少なくとも1つを実行する、
請求項3に記載のウェブサイト構築システム。
【請求項5】
前記マスカレーダは、ウェブサイトパラメータおよび前記ユーザ収集情報に基づく特定の変換ドライバを用いて、前記変更されたWCAの要素と、前記置換要素との間のインタラクションにおける変換機能を提供する、
請求項3に記載のウェブサイト構築システム。
【請求項6】
前記初期バージョンのWCAと、前記ウェブサイト構築システム内の前記変更されたWCAとにおける管理サービスを提供するWCAマネージャと、
前記少なくとも1つのデータベースからの前記ウェブサイトコンポーネントと、前記ユーザ収集情報とに少なくともアクセスするWCA CMSコーディネータと、
をさらに備え、
前記WCAハンドラは、前記WCAアプリビルダ、前記WCAマネージャ、前記WCAサイトビューア、前記WCAインサイトエディタ、および、前記WCA CMSコーディネータの間のアクティビティを調整する、
請求項1に記載のウェブサイト構築システム。
【請求項7】
前記WCAアプリビルダは、
WCAに関連する特定のカスタマイズパネルを構成して生成するカスタマイズパネルクリエータと、
WCAにおけるカスタマイズ可能な要素の定義の生成および編集を可能にするダイアログエディタと、
WCAの構造における繰り返し要素または階層要素を認識すること、前記カスタマイズパネルクリエータに対してWCAの静的ソース分析を実行すること、WCAにおけるランタイムパーミッションを決定するための静的ソース分析を実行すること、および、テンプレートコードを生成すること、
の少なくとも1つを実行するWCAアナライザと、
を有する、
請求項1に記載のウェブサイト構築システム。
【請求項8】
前記初期バージョンのWCAにおける前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを受信し、解決するWCA修正ハンドラと、
前記ゴーストモジュールおよび前記マスカレーダにおける機能性のコンフリクトおよび損失の解決のサポートを提供し、かつ、前記WCA修正ハンドラにおけるマージサポートを提供するために機械学習および人工知能技術を使用する機械学習(ML)/人工知能(AI)モジュールと、
アプリケーションプログラミングインターフェース(API)ハンドラであって、前記初期バージョンのWCAを、同一または類似のAPIを有する少なくとも1つの他のWCAに置き換えるAPIハンドラと、
前記WCAハンドラの実装および使用に関して警告を提供する警告プロバイダと、
情報を収集し、一般的なWCAのインスタンス変更に関する分析を提供するフィードバックプロバイダと、
少なくとも1つの前記WCAのユーザまたは他のユーザによって行われたフィールドタイプおよび以前の接続をチェックするデータベースコネクタと、
の少なくとも1つをさらに備える、
請求項3に記載のウェブサイト構築システム。
【請求項9】
前記WCA修正ハンドラは、
前記初期バージョンのWCAに対する、前記少なくとも1つの修正および前記少なくとも1つの更新を受信する更新受信器と、
APIプロパティおよびインタフェースを検出するために既存のWCAに予めパッケージされたAPIを分析し、かつ、前記WCAの変更されたバージョンにおけるマッチング設定パネルを生成するAPIアナライザと、
前記初期バージョンのWCAから前記変更されたWCAを生成するために前記少なくとも1つの修正および前記少なくとも1つの更新をマージするWCAマージャと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決する変更リゾルバと、
前記少なくとも1つの修正および前記少なくとも1つの更新にパーミッションの制限を決定し、かつ、適用し、前記変更されたWCAの実行時に必要となるパーミッションを決定するパーミッション決定器と、
前記WCAマージャ、前記変更リゾルバおよび前記パーミッション決定器に従って前記初期バージョンのWCAに対して前記少なくとも1つの修正および前記少なくとも1つの更新を適用して前記変更されたWCAを作成する変更適用器と、
を有する、
請求項8に記載のウェブサイト構築システム。
【請求項10】
前記WCAマージャは、
前記少なくとも1つの修正と前記少なくとも1つの更新との間の変更セットを収集し、分析する差分アナライザと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決するコンフリクトリゾルバと、
を有する、
請求項9に記載のウェブサイト構築システム。
【請求項11】
前記少なくとも1つの更新は、WCAコンポーネントおよびそれらの属性に関するユーザ変更受諾規則に従う、
請求項1に記載のウェブサイト構築システム。
【請求項12】
前記WCAマージャは、開発者ヒントまたはユーザヒントと、セマンティックタグと、決定エンジンの出力と、の少なくとも1つに従ってマージする、
請求項9に記載のウェブサイト構築システム。
【請求項13】
ウェブサイト構築システムのための方法であって、
ウェブサイトコンポーネントならびにウェブサイト構築システム構成可能アプリケーション(WCA)の定義およびインスタンスを少なくとも1つのデータベースに記憶するステップであって、前記WCAが、カスタマイズ可能な要素のセットとしてもアクセス可能な単一のパッケージ化されたエンティティである、ステップと、
初期バージョンのWCAを構築および編集を、開発者に可能にするステップと、
ユーザが、前記初期バージョンのWCAの定義またはインスタンスの少なくとも1つを編集するための特定の編集機能を提供するステップと、
前記ユーザから前記初期バージョンのWCAに対する少なくとも1つの修正、および、前記開発者からの前記初期バージョンのWCAに対する少なくとも1つの更新を受信するステップと、
前記少なくとも1つの修正と、前記少なくとも1つの更新との間で少なくともマージするステップと、
機能性のコンフリクトまたは損失を解決し、前記少なくとも1つの修正と、前記少なくとも1つの更新との間でパーミッションを処理するステップと、
前記マージするステップ、前記解決するステップおよび前記パーミッションを処理するステップから、変更されたWCAを作成するステップと、
前記ウェブサイト構築システムの実行中に、前記初期バージョンのWCAおよび前記変更されたWCAの閲覧をサポートするステップと、
を有する方法。
【請求項14】
前記記憶するステップは、前記ウェブサイト構築システムにより構築されるウェブサイトのウェブサイトパラメータ、および、前記ウェブサイト構築システムのユーザのユーザ収集情報をも記憶するステップを含み、
前記ユーザ収集情報は、地理的位置、言語、編集履歴および収集されたビジネスインテリジェンスのうちの少なくとも1つである、
請求項13に記載の方法。
【請求項15】
前記受信するステップ、前記マージするステップ、前記コンフリクトを解決するステップおよび前記パーミッションを処理するステップは、
前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせの少なくとも1つにより、前記初期バージョンのWCAから削除された要素の結果として、前記変更されたWCAの動作を保証するステップと、
前記変更されたWCAの動作を保証するための前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせのうちの少なくとも1つの結果として、前記変更されたWCAの被置換要素と置換要素との間の互換性を保護するステップと、
の少なくとも1つを有する、
請求項13に記載の方法。
【請求項16】
前記削除された要素の結果として、前記変更されたWCAの動作を保証するステップは、
前記削除されたコンポーネントの、元の定義、構造、および属性を取得すること、
前記ユーザ収集情報に基づいて前記削除されたコンポーネントの挙動の一部または全てを提供すること、および、
前記削除されたコンポーネントのアプリケーションプログラミングインターフェース(API)をシミュレートすること、
の少なくとも1つを実行するステップを含む、
請求項15に記載の方法。
【請求項17】
前記互換性を保護するステップは、ウェブサイトパラメータおよび前記ユーザ収集情報に基づく特定の変換ドライバを用いて、前記変更されたWCAの要素と、前記置換要素との間のインタラクションにおける変換機能を提供するステップを含む、
請求項15に記載の方法。
【請求項18】
前記初期バージョンのWCAと、前記ウェブサイト構築システム内の前記変更されたWCAとにおける管理サービスを提供するステップと、
前記少なくとも1つのデータベースからの前記ウェブサイトコンポーネントと、前記ユーザ収集情報とに少なくともアクセスするステップと、
前記開発者に可能にするステップ、前記受信するステップ、前記マージするステップ、前記コンフリクトを解決するステップ、前記パーミッションを処理するステップ、前記管理サービスを提供するステップ、前記特定の編集機能を提供するステップ、前記閲覧をサポートするステップおよび前記アクセスするステップの間のアクティビティを調整するステップと、
をさらに有する、
請求項13に記載の方法。
【請求項19】
前記初期バージョンのWCAを構築および編集を、開発者に可能にするステップは、
WCAに関連する特定のカスタマイズパネルを構成して生成するステップと、
WCAにおけるカスタマイズ可能な要素の定義の生成および編集を可能にするステップと、
WCAの構造における繰り返し要素または階層要素を認識すること、前記特定のカスタマイズパネルを構成して生成するステップに対してWCAの静的ソース分析を実行すること、WCAにおけるランタイムパーミッションを決定するための静的ソース分析を実行すること、および、テンプレートコードを生成すること、
の少なくとも1つを実行するステップと、
を含む、
請求項13に記載の方法。
【請求項20】
前記初期バージョンのWCAにおける前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを受信し、解決するステップと、
前記削除された要素の結果として、前記変更されたWCAの動作を保証するステップにおいて、機能性のコンフリクトおよび損失の解決のサポートを提供するために機械学習および人工知能技術を使用し、かつ、前記コンフリクトを受信し、解決するステップにおいて、マージサポートを提供するステップと、
前記初期バージョンのWCAを、同一または類似のアプリケーションプログラミングインターフェース(API)を有する少なくとも1つの他のWCAに置き換えるステップと、
前記受信するステップ、前記マージするステップ、前記コンフリクトを解決するステップおよび前記パーミッションを処理するステップの実装に関する警告を提供するステップと、
情報を収集し、一般的なWCAのインスタンス変更に関する分析を提供するステップと、
少なくとも1つの前記WCAのユーザまたは他のユーザによって行われたフィールドタイプおよび以前の接続をチェックするステップと、
の少なくとも1つをさらに有する、
請求項15に記載の方法。
【請求項21】
前記コンフリクトを受信し、解決するステップは、
前記初期バージョンのWCAに対する、前記少なくとも1つの修正および前記少なくとも1つの更新を受信するステップと、
既存のWCAの予めパッケージされたAPIを分析し、APIプロパティおよびインタフェースを検出し、前記WCAの変更されたバージョンにおけるマッチング設定パネルを生成するステップと、
前記初期バージョンのWCAから前記変更されたWCAを生成するために前記少なくとも1つの修正および前記少なくとも1つの更新をマージするステップと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決するステップと、
前記少なくとも1つの修正および前記少なくとも1つの更新に対するパーミッションの制限を決定し、かつ、適用し、前記変更されたWCAの実行時に必要となるパーミッションを決定するステップと、
前記マージするステップ、前記コンフリクトを解決するステップおよび前記パーミッションの制限を決定し、かつ、適用するステップ、および、前記変更されたWCAを作成するステップに従って前記初期バージョンのWCAに対して前記少なくとも1つの修正および前記少なくとも1つの更新を適用するステップと、
を有する、
請求項20に記載の方法。
【請求項22】
前記少なくとも1つの修正と前記少なくとも1つの更新との間の変更セットを収集し、分析するステップと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決するステップと、
を有する、
請求項21に記載の方法。
【請求項23】
前記少なくとも1つの更新は、WCAコンポーネントおよびそれらの属性に関するユーザ変更受諾規則に従う、
請求項1に記載の方法。
【請求項24】
前記マージするステップは、開発者ヒントまたはユーザヒントと、セマンティックタグと、決定エンジンの出力と、の少なくとも1つに従ってマージする、
請求項21に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年11月14日に出願された米国仮特許出願第62/760,965号および2019年10月30日に出願された米国仮特許出願第62/927,703号からの優先権を主張し、これらの両方は、参照により本明細書に組み込まれる。
【0002】
本発明は、一般にウェブサイト構築システムに関し、特に構成可能なアプリケーションに関する。
【背景技術】
【0003】
通常、ウェブサイト構築システムで使用される視覚編集システムは、初心者および専門家の両方によって、対話型ウェブサイトを作成するために使用される。既存のウェブサイト構築システムは、ビジュアル編集モデルに基づいており、ほとんどのウェブサイト構築システムは、通常、完全なサンプルウェブサイト、ウェブサイトセクション、単一ページまたはページのセクションを含むテンプレートを備えた複数のテンプレートを提供する。
【0004】
ウェブサイト構築システムのユーザ(設計者、加入者、加入者ユーザまたはサイト編集者とも呼ばれる)は、ウェブサイトを設計する可能性があり、そのウェブサイトのエンドユーザ(「ユーザのユーザ」)は、上記のユーザが作成したウェブサイトにアクセスする可能性がある。エンドユーザは、通常、読み取り専用モードでシステムにアクセスするが、ウェブサイト構築システム(およびウェブサイト)は、データ記録の追加または編集、ニュース記事へのトークバックの追加、ブログへのブログエントリの追加などのウェブサイトへの変更を、エンドユーザが実行することを可能にすることができる。ウェブサイト構築システムは、実際には、複数のレベルのユーザ(すなわち、3つ以上のレベル)を許可し、各レベルに異なるパーミッションと能力を割り当てる可能性がある。ウェブサイト構築システムのユーザ(特に、以下に述べる完全または部分的なオンライン構成)は、ユーザ、彼らのウェブサイト、およびエンドユーザによるアクセスを管理するウェブサイト構築システムサーバに登録することができる。
【0005】
ウェブサイト構築システムは、スタンドアロンシステムであってもよいし、より大きな編集システム内に組み込まれていてもよい。また、それはオンライン(すなわち、アプリケーションは、編集され、サーバ上に記憶される)、オフラインまたは部分的にオンライン(ウェブサイトは、ローカルで編集されるが、公開のために中央サーバにアップロードされる)であってもよい。ウェブサイト構築システムは、ウェブサイト構築システムベースのサイトを格納するために内部データアーキテクチャを使用することができ、このアーキテクチャは、取り扱われるサイトの内部データおよびシステム内部の要素を編成することができる。このアーキテクチャは、サイトの外部ビューとは異なる場合(エンドユーザーなどから見た場合)があり、また、通常は、ブラウザに送信されるHTMLページの編成方法とは異なる。
【0006】
例えば、内部データアーキテクチャは、ウェブサイト構築システムにおけるサイトの編集及びメンテナンスに関連するが、エンドユーザ(又は一部の編集ユーザ)にさえも外部から見えない、ページ内の各要素(クリエータ、作成時間、アクセスのパーミッション、テンプレートへのリンク、SEО(Search Engine Optimization:サーチエンジン最適化)関連情報など)のための追加プロパティを含むことができる。ウェブサイト構築システムは、その機能の一部(編集とランタイム機能の両方を含む)をサーバまたはサーバセット上に実装し、その機能の一部をクライアントの要素上に実装することがある。ウェブサイト構築システムは、サーバ上で何らかの機能を実行するか、クライアントのプラットフォーム上で実行するかを動的に決定することもできる。
【0007】
ウェブサイト構築システムは、通常、ページ、コンテナ、およびコンポーネントからなる視覚的に設計されたアプリケーション(ウェブサイトなど)の作成および編集を処理する。ページは別々に表示され、コンポーネントを含む場合がある。コンポーネントは、アトミックコンポーネントだけでなくコンテナも含むことができる。
【0008】
ウェブサイト構築システムは、アトミックコンポーネント(テキスト、画像、形状、ビデオなど)、ならびに他のコンポーネントを含む様々なタイプのコンテナコンポーネント(例えば、通常のコンテナ、単一ページコンテナ、マルチページコンテナ、ギャラリコンテナなど)を使用するコンポーネントの階層的配置をサポートすることができる。コンテナコンポーネント内に含まれるサブページは、ミニページと呼ばれ、その各々は、複数のコンポーネントを含むことができる。コンテナコンポーネントによっては、ミニページを一度に1つだけ表示するものもあれば、複数のミニページを同時に表示するものもある。
【0009】
これらのコンポーネントは、コンテンツが少なくてもよいし、内部コンテンツを有していてもよい。第1のカテゴリの例は、(色、サイズ、位置、および他のいくつかのパラメータを有するが)いかなる内部コンテンツも有さない星形コンポーネントである。2番目のカテゴリの例として、テキスト段落コンポーネントがある。その内部コンテンツには、フォント、書式設定、およびレイアウト情報だけでなく、内部テキストも含まれる。もちろん、このコンテンツは、テキストパラグラフコンポーネントのあるインスタンスから別のインスタンスに変わり得る。コンテンツを含むコンポーネントは、しばしばフィールド(例えば、「テキストフィールド」)と呼ばれる。
【0010】
ページでは、テンプレート、一般的なページテンプレート、またはコンポーネントテンプレートを使用できる。テンプレートの特別の場合には、他のすべての通常のページで複製されたコンポーネントを含むアプリケーションマスタページの使用や、アプリケーションヘッダまたはフッタ(すべてのページで繰り返される)の使用などがある。テンプレートは、ページ全体またはページセクションに使用できる。ウェブサイト構築システムは、テンプレート、ページ、またはコンポーネント間の継承を提供することができ、多重レベル継承、多重継承、およびダイヤモンド型の継承(すなわち、AがBおよびCから継承し、BおよびCの両方がDから継承する)を含む可能性がある。
【0011】
ページ内のコンポーネントの視覚的な配置は、レイアウトと呼ばれる。ウェブサイト構築システムはまた、動的レイアウト処理、すなわち、所与のコンポーネントの編集(または外部駆動コンテンツ変更など、それに影響を及ぼす他の変更)が、他のコンポーネントに影響を及ぼすことができるプロセスをサポートすることができ、これは、2019年1月22日に付与され、本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる「Website Design System Integrating Dynamic Layout and Dynamic Content」という名称の米国特許第10,185,703号にさらに記載されている。
【0012】
ウェブサイト構築システムは、サードパーティアプリケーションおよびそのコンポーネントならびにリストアプリケーション(2014年9月18日に公開され、本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる、「Website Building System Integrating Data Lists with Dynamic Customization and Adaptation」という名称の米国特許出願公開第2014/0282218号に記載されているものなど)を使用して拡張することができる。これらのサードパーティアプリケーションおよびリストアプリケーションは、設計されたウェブサイトに追加および統合することができる。
【0013】
そのようなサードパーティアプリケーションおよびリストアプリケーションは、アプリケーションストア(ウェブサイト構築システムに統合されるか、またはそれの外部にある)から、または、直接、サードパーティアプリケーションベンダから、ウェブサイト構築システム設計環境に事前に含まれるような、いくつかの配布メカニズムを介して購入(または取得)され得る。
【0014】
サードパーティアプリケーションは、ウェブサイト構築システムのベンダ独自のサーバ、サードパーティアプリケーションベンダのサーバ、またはフォースパーティのサーバインフラストラクチャでホストされる場合がある。
【0015】
ウェブサイト構築システムはまた、手続き型コードをシステムのエンティティの一部又は全部に追加することを可能にしてもよい。このようなコードは、標準言語(JavaScriptなど)、標準言語の拡張バージョン、または特定のウェブサイト構築システム専用の言語で記述することができる。実行されたコードは、ウェブサイト構築システム自体または外部プロバイダによって提供されるアプリケーションプログラミングインタフェース(API:Application Programming Interfaces)を参照できる。コードは、ページ、コンポーネント、およびそれらの属性など、ウェブサイト構築システムの内部構造およびオブジェクトを参照することもできる。
【0016】
手続き型コード要素は、ユーザアクティビティ(マウスの移動やクリック、ページ遷移など)、他のユーザに関連するアクティビティ(基盤となるデータベースや特定のデータベースレコードが別のユーザによって変更されるなど)、システムイベント、または他のタイプの条件に関連付けることができるイベントトリガを介してアクティブ化することができる。
【0017】
アクティブ化されたコードは、ウェブサイト構築システムのクライアントの要素内、サーバプラットフォーム上、または、2つまたは動的に決定された実行プラットフォームの組み合わせを使用することにより、実行することができる。このようなシステムは、米国特許出願公開第2018/0293323号、名称「System and Method for Smart Interaction Between Website Components」(2018年10月11日公開)に記載されており、本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる。
【0018】
典型的なサイト作成は、図1に示されるような視覚編集モデル(ユーザが以前に作成されたサイトを編集する)および自動サイト生成モデルまたはそれらの組み合わせを含む、いくつかのモデルに基づくことができる。また、参照される図1は、2018年9月11日に付与され、本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる「System and Method for the Creation and Update of Hierarchical Websites Based on Collected Business Knowledge」という名称の米国特許第10,073,923号に記載されている。
【0019】
本明細書全体を通して、頭字語WBSは、ウェブサイト構築システムを表すために使用されてもよいことが理解される。図1は、WBSベンダスタッフ61、サイト設計者62(すなわち、ユーザ)、サイトユーザ63(すなわち、ユーザのユーザ)、および外部システム70によって操作されるクライアントシステムと通信する典型的なウェブサイト構築システム5を備えるシステム100を示す。ウェブサイト構築システム5は、WBS(Website Building System:ウェブサイト構築システム)サイトマネージャ10と、オブジェクトマーケットプレイス15と、WBS RT(Runtime:ランタイム)サーバ20と、WBS(ウェブサイト構築システム)エディタ30と、サイト生成システム40と、WBSコンテンツ管理システム(CMS:Content Management System)50とをさらに備えることができる。図1の要素は、米国特許第10,073,923号に記載されているように機能し得ることが理解される。
【0020】
ビジュアル編集モデルでは、ユーザ(設計者)は1つ以上のウェブサイトテンプレートに基づいてサイトを編集する。ウェブサイト構築システムプロバイダは、複数のサイト(または他の)テンプレートを提供することができ、各テンプレートは、完全なサンプルウェブサイト、ウェブサイトセクション、単一ページまたはページのセクションを含む可能性がある。ユーザは、空のサイト(基本的には「空白ページ」テンプレート)から開始するオプションを持つことができるが、通常は実際のサイトテンプレートから開始する。
【0021】
WBSプロバイダは、非常に一般的なもの(例えば、モバイルサイト、eストア)から、より具体的なもの(例えば、法律事務所、レストラン、花屋)から、非常に具体的なもの(例えば、商業用不動産法律事務所またはスペインのタパスレストラン)までの範囲のサイトテンプレートを提供することができる。そのようなテンプレートは、典型的には、ウェブサイト構築システムのユーザがアクセス可能なリポジトリに格納され、典型的には、ビジネスタイプ、サブタイプ、または業界に従って分類される。テンプレートは、ビジネスタイプだけでなく、スタイル、色範囲、または他のパラメータに従って作成(および分類)することもできる。サイトテンプレートは、ウェブサイト構築システムと統合された本格的な垂直ソリューションになるために、追加の(典型的にはバックエンド)機能、サービス、およびコードで拡張することができる。
【0022】
したがって、ウェブサイト構築システムのビジュアルエディタを使用してサイトを作成するときのユーザの最初の経験は、典型的には、ユーザがテンプレート(例えば、スタイルまたは産業タイプ/サブタイプに従って)を選択し、場合によっては空白のテンプレートを選択し、コンテンツ、ロジック、レイアウト、属性の編集を含むビジュアルエディタでテンプレートを編集することである。そのような編集は、(特に)テンプレートおよびその要素をユーザのビジネスの詳細に適合させることを含むことができる。その後、ユーザは変更されたサイトを公開することができる。
【0023】
サイト生成モデルの下で、ウェブサイト構築システムは、選択されたテンプレートに基づいて、ユーザのための初期サイトを生成し、このテンプレートは、場合によっては、情報の共通要素を記入することによって修正され、場合によっては、生成されたサイトのフォローアップ編集を可能にする。この記入は、テンプレートのページ内の複数の場所に、さまざまな情報(ビジネス名や管理チームの説明など)が含まれているために必要である。したがって、ユーザは、テンプレート全体の複数の場所でビジネス名(たとえば)を変更しなければならない場合がある。
【0024】
さらに、いくつかのテンプレート要素(例えば、一般的な製品ページ)が複数回現れてもよく、各インスタンスは、基盤となるエンティティ(例えば、サイトで提供される異なる製品)の異なるインスタンスの詳細を表示する。そのような複数のインスタンスは、手動で指定されてもよいし(例えば、会社の管理チームにおける異なる人物の詳細)、または外部データベース(例えば、「販売中の製品」データベースからの製品詳細)から動的に導出されてもよい。このような構成は、しばしば「中継器」として知られている。
【0025】
テンプレートにはフィールドを含めることもできる。例えば、ウェブサイト構築システムは、テンプレート設計者が、{CompanyName}、{ProductName}、{ProductPrice}などのテンプレート内に値を挿入するためのフィールド(「プレースホルダ」とも呼ばれる)を指定することを可能にしてもよい。ユーザは、ウェブサイト用に選択されたテンプレートで定義されたフィールドの値を指定することもできる。
【0026】
ウェブサイト構築システムは、ユーザが単純な値又は複雑な値(例えば、テキスト及び画像)、並びに含まれるページ又はウェブサイト領域の選択、色、スタイル情報、リンク、書式設定オプション、ウェブサイト表示オプション、装飾要素(境界線及び背景等)等の追加(非フィールド)情報を入力することを可能にしてもよい。
【0027】
ウェブサイト構築システムは、テンプレートを選択する前に、ユーザがこの追加情報のいくつかを入力し、この情報を使用して、(例えば、提案されたテンプレートのセットを絞り込むことによって)テンプレートの選択に役立てることもできる。例えば、ユーザは、ある汎用カラースキーム(例えば、パステルカラー)またはスタイル(例えば、ビジネス/フォーマル)を選択することができ、次いで、システムは、この選択を使用して、提案されたテンプレートのセットを絞り込むことができる。
【0028】
システムはまた、一連のビューまたはアンケートを表示して、ユーザが(定義されたフィールドおよび上記の追加情報の両方について)値または選択を入力できるようにしてもよい。システムは、さらに、テンプレートの複数インスタンス要素(本明細書で先に説明した)と、表示されたインスタンスを生成するために使用されるデータインスタンスを提供する内部または外部データベースとの間の接続(またはバインディング)を作成してもよい。
【0029】
テンプレートが選択され、その領域および追加情報が(例えば、アンケートを通じて、またはデータソースへのバインディングを通じて)指定されると、ウェブサイト構築システムは、組み合わされた情報を含むウェブサイトを生成することができる。次いで、ユーザは、(ウェブサイト構築システムまたは他の方法を介して)サイトを公開することができる。
【0030】
ウェブサイト構築システムは、米国特許第10,073,923号に記載されているように、異なるモデルを使用して半自動サイト作成を実行することができる。このモデルの下で、システムは、例えば、ユーザ記入アンケート、既存のユーザプレゼンス(既存のウェブサイトまたはソーシャルメディアプレゼンスなど)、業界ソース(一般取引ウェブサイトなど)、オフライン情報、および特定の業種(弁護士、レストラン、配管工、グラフィックデザイナなど)の基本テンプレート情報などの特定の業種に関する情報を提供する内部システムリポジトリ(例えば、不動産弁護士と人身傷害弁護士とを区別する)を含むことができる複数のソースから、ユーザおよびユーザのウェブサイト要件に関する情報を収集する。
【0031】
システムはまた、システムの内部および外部の両方で、他のサイトから外部情報を収集してもよい。そのような情報は、例えば、提供されたアンケートおよびレイアウト要素の選択、提案されたデフォルトなどに影響を及ぼし得る。そのような情報はまた、典型的には、任意の単一のユーザに属する情報を公開せず、ユーザのプライバシー、匿名性、および法的権利(著作権など)を保護するために、統計的または要約的に収集されてもよい。そのような情報は、直接的(例えば、既存のウェブサイトアドレス)または間接的(ビジネスに関する情報を見つけるために使用され得るビジネス名および地理的アドレス)であり得る、ユーザによって提供される情報に基づいて見つけられ得る。
【0032】
収集された情報は、分析され、コンテンツ要素のリポジトリに配置される。コンテンツ要素は、レイアウト要素にマッピングされる。レイアウト要素は、コンテンツ要素からコンテンツを提示し、レイアウト要素を組み合わせてサイトを形成する。レイアウト要素マッピング、選択、および組み合わせプロセスは、完全自動または半自動(すなわち、ユーザ対話を含む)とすることができる。
【0033】
上記の機能をサポートするために、ウェブサイト構築システムは、典型的には、1つ以上のサーバまたはサーバファーム上に格納された一連のリポジトリを維持する。このようなリポジトリは、典型的には、ユーザ情報/プロファイルリポジトリ、WBS(ウェブサイト構築システム)コンポーネントリポジトリ、WBSサイトリポジトリ、ビジネスインテリジェンス(BI:Business Intelligence)リポジトリ、編集履歴リポジトリ、サードパーティアプリケーションストアリポジトリなどの様々な関連リポジトリを含むことができる。システムはまた、アンケートタイプリポジトリ、コンテンツ要素タイプリポジトリ、レイアウト要素タイプリポジトリ、設計キットリポジトリ、記入済みアンケートリポジトリ、コンテンツ要素リポジトリ、レイアウト要素リポジトリ、ルールリポジトリ、ファミリ/産業リポジトリなどのサイト/コンテンツ作成関連リポジトリを含むことができる。これらのリポジトリの説明は、米国特許第10,073,923号に見出すことができる。
【発明の概要】
【0034】
本発明の好ましい実施形態によれば、ウェブサイト構築システムが提供される。このシステムは、ウェブサイトのコンポーネントと共に、ウェブサイト構築システム構成可能アプリケーション(WCA:Website building system Configurable Application)の定義およびインスタンスを記憶する少なくとも1つのデータベースであって、WCAは、カスタマイズ可能な要素のセットとしてもアクセス可能な単一のパッケージ化されたエンティティである、データベースと、開発者が初期バージョンのWCAを構築および編集できるようにするWCAアプリビルダと、初期バージョンのWCAの定義またはインスタンスの少なくとも1つを編集するために特定の編集機能をユーザに提供するインサイトエディタと、ユーザから初期バージョンのWCAに対する少なくとも1つの修正と、開発者から初期バージョンのWCAに対する少なくとも1つの更新を受信するWCAハンドラであって、変更されたWCAを作成するために、少なくとも1つの修正と少なくとも1つの更新との間でマージし、かつ、機能性のコンフリクトまたは損失を解決して少なくとも1つの修正と少なくとも1つの更新との間のパーミッションを処理するWCAハンドラと、ウェブサイト構築システムの実行時に初期バージョンのWCAおよび変更されたWCAの閲覧をサポートするWCAビューアとを備える。
【0035】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのデータベースはまた、ウェブサイト構築システムによって構築されたウェブサイトのウェブサイトパラメータと、ウェブサイト構築システムのユーザのユーザ収集情報とを記憶し、ユーザ収集情報は、地理的位置、言語、編集履歴、および収集されたビジネスインテリジェンスのうちの少なくとも1つである。
【0036】
さらに、本発明の好ましい実施形態によれば、WCAハンドラは、少なくとも1つの修正、少なくとも1つの更新、およびそれらの組合せ、の少なくとも1つによって、初期バージョンのWCAから削除された要素の結果として、変更されたWCAの動作を保証するゴーストモジュールと、変更されたWCAの動作を保証するために、少なくとも1つの修正、少なくとも1つの更新、およびそれらの組合せのうちの少なくとも1つの結果として、被置換要素と、変更されたWCAの置換要素との間の互換性を保護するマスカレーダと、のうちの少なくとも1つを含む。
【0037】
さらに、本発明の好ましい実施形態によれば、ゴーストモジュールは、削除されたコンポーネントの元の定義、構造、および属性を取得すること、ユーザ収集情報に基づいて削除されたコンポーネントの挙動の一部またはすべてを提供すること、および削除されたコンポーネントのAPIをシミュレートすることのうちの少なくとも1つを実行する。
【0038】
さらに、本発明の好ましい実施形態によれば、マスカレーダは、ウェブサイトパラメータおよびユーザ収集情報に基づいて、特定の変換ドライバを使用して、変更されたWCAの要素と置換要素との間のインタラクションのための変換機能を提供する。
【0039】
さらに、本発明の好ましい実施形態に従って、システムは、ウェブサイト構築システム内の初期バージョンのWCAおよび変更されたWCAのための管理サービスを提供するWCAマネージャと、ウェブサイトコンポーネント、および、少なくとも1つのデータベースからのユーザ収集情報に少なくともアクセスするWCA CMSコーディネータと、WCAアプリビルダ、WCAマネージャ、WCAサイトビューア、WCAインサイトエディタおよびWCA CMSコーディネータの間でアクティビティを調整するWCAハンドラとを含む。
【0040】
さらに、本発明の好ましい実施形態によれば、システムは、ウェブサイト構築システムで使用するためのWCAの購入を可能にするためのWCAアプリケーションストアマネージャと、初期バージョンのWCAおよび変更されたWCAを含むサイトを生成するためのWCAサイト生成システム(SGS:Site Generation System)とのうちの少なくとも1つを含む。
【0041】
さらに、本発明の好ましい実施形態によれば、WCAアプリビルダは、WCAのための関連する特定のカスタマイズパネルを構成および生成するカスタマイズパネルクリエータと、WCAおよびWCAアナライザのためのカスタマイズ可能な要素のための定義の作成および編集を可能にするダイアログエディタとを含む。WCAアナライザは、WCAの構造内の繰り返し要素または階層要素の認識と、カスタマイズパネルクリエータのためのWCA上で静的ソース分析の実行と、WCAのためのランタイムパーミッションを決定してテンプレートコードを生成するための静的ソース分析の実行と、の少なくとも1つを実行する。
【0042】
さらに、本発明の好ましい実施形態によれば、システムは、初期バージョンのWCAのための少なくとも1つの修正と少なくとも1つの更新との間のコンフリクトを受信し解決するWCA修正ハンドラと、コンフリクトの解決およびゴーストモジュールおよびマスカレーダのための機能の損失のサポートを提供し、かつ、WCA修正ハンドラのためのマージサポートを提供するために、機械学習(ML:Machine Learning)および人工知能(AI:Artificial Intelligence)技術を使用する機械学習/人工知能モジュールと、少なくとも初期バージョンのWCAを、同一または類似のAPIを有する少なくとも1つの他のWCAと置き換えるためのアプリケーションプログラミングインタフェース(API)ハンドラと、WCAハンドラの実装および使用に関する警告を提供する警告プロバイダと、情報を収集し、一般的なWCAインスタンス変更に関する分析を提供するフィードバックプロバイダと、少なくとも1つのWCAのユーザまたは他のユーザによって行われたフィールドタイプおよび以前の接続をチェックするためのデータベースコネクタと、のうちの少なくとも1つを含む。
【0043】
さらに、本発明の好ましい実施形態によれば、WCA修正ハンドラは、少なくとも1つの修正を受信し、初期バージョンのWCAに対する少なくとも1つの更新を受信するための更新受信器と、APIプロパティおよびインタフェースを検出するための既存のWCAの事前にパッケージ化されたAPIを分析し、かつ、WCAの変更バージョンに対するマッチング設定パネルを生成するためのAPIアナライザと、初期バージョンのWCAから変更されたWCAを作成するための少なくとも1つの修正と少なくとも1つの更新をマージするWCAマージャと、少なくとも1つの修正と少なくとも1つの更新との間でコンフリクトを解決するための変更リゾルバと、少なくとも1つの修正と少なくとも1つの更新に任意のパーミッションの制限を決定、かつ、適用して、変更されたWCAの実行時に必要な任意のパーミッションを決定するためのパ初期ーミッション決定器と、変更されたWCAを作成するためのWCAマージャ、変更リゾルバおよびパーミッション決定器に応じて少なくとも1つの修正と少なくとも1つの更新を初期バージョンのWCAに適用する変更適用器とを含む。
【0044】
さらに、本発明の好ましい実施形態によれば、システムは、既存のWCAに基づいて新しいバリアントWCAを作成するためのバリアントクリエータを含む。
【0045】
さらに、本発明の好ましい実施形態によれば、WCAマージャは、少なくとも1つの修正と少なくとも1つの更新との間の変更セットを収集し、分析する差分アナライザと、少なくとも1つの修正と少なくとも1つの更新との間のコンフリクトを解決するコンフリクト解決器とを含む。
【0046】
さらに、本発明の好ましい実施形態によれば、ML/AIモジュールは、少なくとも1つのデータベースからデータを抽出し、トレーニングするCMSエクストラクタ/トレーナと、WCAおよびそれらの要素の挙動を追跡する要素挙動トラッカ/トレーナと、要素挙動トラッカ/トレーナおよびCMSエクストラクタ/トレーナからWCAの挙動について学習する要素挙動AL/AIモジュールと、要素挙動トラッカ/トレーナおよびCMSエクストラクタ/トレーナからWCAの併合挙動について学習するマージML/AIモジュールと、要素挙動AL/AIモジュールおよびマージML/AIモジュールに基づいてゴーストモジュール、マスカレーダ、およびWCA修正ハンドラの決定を行う決定エンジンと、を含む。
【0047】
さらに、本発明の好ましい実施形態によれば、WCAマージャは、開発者ヒントまたはユーザヒント、セマンティックタグ、および決定エンジンの出力のうちの少なくとも1つに従ってマージする。
【0048】
本発明の好ましい実施形態によれば、ウェブサイト構築システムのための方法が提供される。本方法は、ウェブサイト構築システム構成可能アプリケーション(WCA)の定義およびインスタンスと共にウェブサイトコンポーネントを、少なくとも1つのデータベースに記憶するステップであって、WCAは、カスタマイズ可能な要素のセットとしてもアクセス可能な単一のパッケージ化されたエンティティである、ステップと、初期バージョンのWCAを構築および編集することを開発者に可能にするステップと、初期バージョンのWCAの定義またはインスタンスの少なくとも1つを編集するための特定の編集機能をユーザに提供するステップと、ユーザから初期バージョンのWCAへの少なくとも1つの修正を受信し、かつ、開発者から初期バージョンWCAへの少なくとも1つの更新を受信するステップと、少なくとも1つの修正と少なくとも1つの更新との間で少なくともマージするステップと、機能性のコンフリクトまたは損失を解決するステップと、少なくとも1つの修正と少なくとも1つの更新との間のパーミッションを処理するステップと、マージするステップ、コンフリクトを解決するステップおよびパーミッションを処理するステップから変更されたWCAを作成するステップと、前記ウェブサイト構築システムのランタイム中に初期バージョンのWCAおよび変更されたWCAの閲覧をサポートするステップと、を含む。
【0049】
さらに、本発明の好ましい実施形態によれば、記憶するステップでは、また、ウェブサイト構築システムによって構築されたウェブサイトのウェブサイトパラメータと、ウェブサイト構築システムのユーザのユーザ収集情報とを記憶し、ユーザ収集情報は、地理的位置、言語、編集履歴、および収集されたビジネスインテリジェンスのうちの少なくとも1つである。
【0050】
さらに、本発明の好ましい実施形態によれば、受信するステップ、マージするステップ、コンフリクトを解決するステップ、パーミッションを処理するステップには、少なくとも1つの修正、少なくとも1つの更新、およびそれらの組合せによって、初期バージョンWCAから削除された要素の結果として、変更されたWCAの動作を保証するステップと、変更されたWCAの動作を保証するために、少なくとも1つの修正、少なくとも1つの更新、およびそれらの組合せのうちの少なくとも1つの結果として、被置換要素と、変更されたWCAの置換要素との間の互換性を保護するステップと、のうちの少なくとも1つが含まれる。
【0051】
さらに、本発明の好ましい実施形態によれば、削除された要素の結果としての変更されたWCAの動作を保証するステップは、削除されたコンポーネントの元の定義、構造、および属性を取得するステップと、ユーザ収集情報に基づいて削除されたコンポーネントの挙動の一部またはすべてを提供するステップと、削除されたコンポーネントのAPIをシミュレートするステップとのうちの少なくとも1つを実行するステップを含む。
【0052】
さらに、本発明の好ましい実施形態によれば、互換性を保護するステップは、ウェブサイトパラメータおよびユーザが収集した情報に基づいて、特定の変換ドライバを使用して、変更されたWCAの要素と置換要素との間のインタラクションのための変換機能を提供するステップを含む。
【0053】
さらに、本発明の好ましい実施形態によれば、この方法は、ウェブサイト構築システム内の初期バージョンのWCAおよび変更されたWCAのための管理サービスを提供するステップと、少なくとも1つのデータベースからのウェブサイトコンポーネントおよびユーザ収集情報にアクセスするステップと、開発者に可能にするステップと、受信するステップと、マージするステップと、コンフリクトを解決するステップと、パーミッションを処理するステップと、管理サービスを提供するステップと、特定の編集機能を提供するステップと、閲覧をサポートするステップと、アクセスするステップとの間のアクティビティを調整するステップとをさらに含む。
【0054】
さらに、本発明の好ましい実施形態によれば、この方法は、ウェブサイト構築システムで使用するためのWCAの購入を可能にするステップと、初期バージョンのWCAおよび変更されたWCAを含むサイトを生成するステップとのうちの少なくとも1つを含む。
【0055】
さらに、本発明の好ましい実施形態によれば、初期バージョンのWCAを構築および編集することを開発者に可能にするステップは、WCAのための関連する特定のカスタマイズパネルを構成して生成するステップと、WCAのためのカスタマイズ可能な要素のための定義の作成、編集を可能にするステップとを含み、WCAの構造内の繰り返し要素または階層要素を認識することと、関連する特定のカスタマイズパネルを構成して生成するステップのためにWCA上で静的ソース分析を実行することと、WCAのためのランタイムパーミッションを決定するための静的ソース分析を実行することと、テンプレートコードを生成することと、の少なくとも1つを実行するステップを含む。
【0056】
さらに、本発明の好ましい実施形態によれば、この方法は、初期バージョンのWCAのための少なくとも1つの修正と少なくとも1つの更新との間のコンフリクトを受信および解決するステップと、削除された要素および互換性を保護するステップの結果としての変更されたWCAの動作を保証するステップのためのコンフリクトの解決および機能性の損失におけるサポートを提供し、かつ、コンフリクトを受信および解決するステップのマージサポートを提供するために、機械学習および人工知能技術を使用するステップと、同一または類似のAPIを有する少なくとも1つの他のWCAと少なくとも初期バージョンのWCAを置換するステップと、受信、マージ、コンフリクトの解決、およびパーミッションの処理に関する警告を提供するステップと、情報を収集し、一般的なWCAインスタンス変更に関する分析を提供するステップと、少なくとも1つのWCAのユーザまたは他のユーザによって行われたフィールドタイプおよび以前の接続をチェックするステップと、のうちの少なくとも1つを含む。
【0057】
さらに、本発明の好ましい実施形態によれば、コンフリクトを受信および解決するステップは、少なくとも1つの修正および少なくとも1つの更新を初期バージョンのWCAに受信するステップと、既存のWCAの事前にパッケージ化されたAPIを分析するステップと、APIプロパティおよびインタフェースを検出するステップと、WCAの変更されたバージョンのためのマッチング設定パネルを生成するステップと、初期バージョンのWCAから変更されたWCAを作成するために少なくとも1つの修正および少なくとも1つの更新をマージするステップと、少なくとも1つの修正と少なくとも1つの更新との間のコンフリクトを解決するステップと、少なくとも1つの修正および少なくとも1つの更新のための任意のパーミッションの制限を決定および適用するステップと、変更されたWCAのための実行時に必要とされる任意のパーミッションを決定するステップと、マージするステップ、コンフリクトを解決するステップ、任意のパーミッションの制限を決定および適用するステップと、変更されたWCAを作成するステップと、にしたがって、少なくとも1つの修正および少なくとも1つの更新を初期バージョンのWCAに適用するステップと、を含む。
【0058】
さらに、本発明の好ましい実施形態によれば、この方法は、既存のWCAに基づいて新しいバリアントWCAを作成するステップを含む。
【0059】
さらに、本発明の好ましい実施形態によれば、マージするステップは、少なくとも1つの修正と少なくとも1つの更新との間の変更セットを収集および分析するステップと、少なくとも1つの修正と少なくとも1つの更新との間のコンフリクトを解決するステップとを含む。
【0060】
さらに、本発明の好ましい実施形態によれば、機械学習および人工知能技術を使用するステップは、少なくとも1つのデータベースからデータを抽出し、トレーニングするステップと、WCAの挙動およびそれらの要素を追跡するステップと、WCAの挙動を追跡するステップ、および、データを抽出し、トレーニングするステップからWCAの挙動について学習するステップと、WCAの挙動を追跡するステップ、および、データを抽出し、トレーニングするステップから、WCAの挙動をマージすることについて学習するステップと、WCAの挙動について学習するステップおよびWCAの挙動をマージすることについて学習するステップに基づいて、変更されたWCAの動作を保証するステップ、互換性を保護するステップおよびコンフリクトを受信および解決するステップのための決定を行うステップと、を含む。
【0061】
さらに、本発明の好ましい実施形態によれば、WCAは、フロントエンド要素、バックエンド要素、サポート要素、およびコンテンツ要素のうちの少なくとも1つを含む。
【0062】
さらに、本発明の好ましい実施形態によれば、サポート要素は、API定義、ダッシュボード、UIサポートパネル、レンダリングサポート、SEOサポートおよびアプリケーションストアサポート、特定の操作ハンドル、編集動作プラグイン、およびフレーム要素のうちの少なくとも1つを含む。
【0063】
さらに、本発明の好ましい実施形態によれば、WCAは、単一のWBSコンポーネント、レイアウトを形成するコンポーネントのセット、新しい複合コンポーネントを形成するコンポーネントのセット、ページセクション、ページ、ウェブサイト、垂直アプリケーション、ダッシュボードコンポーネント、ダッシュボードページ、およびパネルのうちの1つである。
【0064】
さらに、本発明の好ましい実施形態によれば、カスタマイズ可能な要素は、含まれるコンポーネントの階層セット、バックエンドで実行されるコンポーネント、関連コード、API定義、データバインディング、および構成ダイアログのうちの少なくとも1つである。
【0065】
さらに、本発明の好ましい実施形態によれば、関連コードは、関連付けられたカスタマイズ可能な要素のための機能を提供するためにカプセル化される。
【0066】
さらに、本発明の好ましい実施形態によれば、少なくとも1つの更新は、WCAコンポーネントおよびそれらの属性に関するユーザ変更受諾規則による。
【0067】
さらに、本発明の好ましい実施形態によれば、少なくとも1つの更新は、継承、参照、および配信のうちの少なくとも1つによる。
【0068】
さらに、本発明の好ましい実施形態によれば、配信は、ウェブサイト構築システム内からの内部配信、ウェブサイト構築システム外からの外部電子配信、およびウェブサイト構築システム外からの外部物理配信のうちの少なくとも1つである。
【0069】
さらに、本発明の好ましい実施形態によれば、前記コンフリクトのうちの少なくとも1つは、初期バージョンのWCAの少なくとも2つのコンポーネント間の接続の完全な中断および部分的な中断のうちの少なくとも1つであり、接続は、直接接続、メッセージベースの接続、およびコードベースの接続のうちの少なくとも1つである。
【0070】
さらに、本発明の好ましい実施形態によれば、パーミッションのうちの少なくとも1つは、カスタマイズ可能な要素のそれぞれごとに定義される開発者である。
【0071】
さらに、本発明の好ましい実施形態によれば、パーミッションのうちの少なくとも1つは、ユーザのために開発者によって定義されるアクセスのレベルである。
【0072】
さらに、本発明の好ましい実施形態によれば、アクセスのレベルは、要素の可視性、要素を編集する能力、要素を削除する能力、および拡張する能力のうちの少なくとも1つである。
【0073】
さらに、本発明の好ましい実施形態によれば、少なくとも1つの更新は、初期バージョンのWCAの変形生成である。
【0074】
さらに、本発明の好ましい実施形態によれば、コンフリクトのうちの少なくとも1つは、カスタマイズ可能なコンポーネントの機能性および属性非互換性のうちの少なくとも1つである。
【図面の簡単な説明】
【0075】
本発明と見なされる主題事項は、本明細書の最後の部分において特に指摘され、明確に特許請求される。しかしながら、本発明は、その目的、特徴、および利点と共に、構成および動作方法の両方に関して、添付の図面と共に読まれるときに、以下の詳細な説明を参照することによって最も良く理解され得る。
【0076】
図1】従来技術のウェブサイト構築システムの典型的な表現の概略図である。
図2A図2Aは、本発明に従って構築され、かつ、動作する、ウェブサイト構築システム構成可能アプリケーション(WCA)の要素のリストである。
図2B図2Bは、本発明に従って構築され、かつ、動作する、ウェブサイト構築システム構成可能アプリケーション(WCA)の要素のリストである。
図3図3は、本発明に従って構築され、かつ、動作する、ウェブサイト構築システムにおけるウェブサイト構築システム(WBS)構成可能アプリケーション(WCA)を処理するためのシステムの概略図である。
図4図4は、本発明に従って構成され、かつ、動作する、図3のWCAモジュールの要素の概略図である。
図5図5は、本発明に従って構成され、かつ、動作する例示的なWCAの様々な要素の概略図である。
図6図6は、本発明に従って構成され、かつ、動作するレシピWCAに関連するUIの特別なフレーム要素の概略図である。
図7A図7Aは、本発明に従って構成され、かつ、動作する、図4のWCAハンドラの要素の概略図である。
図7B図7Bは、本発明に従って構成され、かつ、動作する、図7のML/AIモジュールの要素の概略図である。
図8図8は、本発明に従って構成され、かつ、動作する、図7のWCA修正ハンドラの要素の概略図である。
図9図9は、本発明に従って構成され、かつ、動作する、図5のWCAの修正バージョンの概略図である。
図10図10は、本発明に従って構築され、かつ、動作する、WCAユーザによって行われた変更をマージしながら、WCAの異なるバージョンをどのように展開することを説明するための概略図である。
図11図11は、本発明に従って構成され、かつ、動作する、図8のWCAマージャの要素の概略図である。
図12図12は、本発明に従って構成され、かつ、動作するWCA属性ツリーの概略図である。
図13A図13Aは、本発明に従って構築され、かつ、動作するWCAの実装の模式図である。
図13B図13Bは、本発明に従って構築され、かつ、動作するWCAの実装の模式図である。
図13C図13Cは、本発明に従って構築され、かつ、動作するWCAの実装の模式図である。
図13D図13Dは、本発明に従って構築され、かつ、動作するWCAの実装の模式図である。
図13E図13Eは、本発明に従って構築され、かつ、動作するWCAの実装の模式図である。
【0077】
説明を簡単かつ明確にするために、図に示される要素は必ずしも一定の縮尺で描かれていないことが理解される。例えば、いくつかの要素の寸法は、明確にするために、他の要素に対して誇張されていることがある。さらに、適切であると考えられる場合、参照番号は、対応するまたは類似の要素を示すために、図面の間で繰り返され得る。
【発明を実施するための形態】
【0078】
以下の詳細な説明では、本発明の完全な理解を提供するために多くの具体的な詳細について述べる。しかしながら、当業者には、本発明がこれらの特定の詳細なしに実施され得ることが理解されるであろう。他の例では、周知の方法、手順、およびコンポーネントは、本発明を曖昧にしないように詳細には説明されていない。
【0079】
ウィジェット(ウェブウィジェットとしても知られている)は、ウェブサイト上の訪問者に情報を提供するために、または他の目的のために情報を収集するために使用され得るミニアプリケーションとして当技術分野で知られている。それらは、典型的には、著作権を有するページ上の任意のユーザによってサードパーティサイトに埋め込むことができるスタンドアロンアプリケーションである。ウィジェットという用語は、検索ウィジェット、トラッカ、新しい見出し、フィード、および他のそのようなライブアプリなどの用語を包含することができる。また、ウェブサイトの設計者やウェブサイトのエンドユーザがそれらを操作できるようにするユーザインタフェースも用意されている。
【0080】
例示的なウィジェットは、特定の都市の選択を可能にし、関連する都市に天気、来るべきイベントおよびアトラクションのリスト、ならびに都市の地図を提供するサブ機能を有することができる旅行ウィジェットのウィジェットである。サブ機能は、特定のイベントをクリックすることによって、問題のイベントの場所を示すマップを開くことができるように、関連することができる。さらに、地図はダウンロード可能であってもよく、ユーザは、その目標プラットフォームにより良く適合するようにそのレイアウトを調整することができる。
【0081】
特定のウィジェットの所有者が、そのサブ要素を更新または変更(例えば、マップサブ要素を削除またはイベント表示サブ要素を変更)した場合、イベントサブ要素とマップサブ要素との間のコード接続が「切断」され、機能が失われる可能性があり、設計者は、その2つが再接続されたり、ウィジェットがこれらのサブ要素の1つなしで機能したりするために、コードを「修正」しなければならない可能性があることを、出願人は発見した。ウィジェットは、通常、継承を有し、したがって、いくつかの部分またはサブ要素の機能に影響を及ぼすコードへの変更は、他の部分/サブ要素に影響を及ぼすことになる。
【0082】
また、出願人は、このシナリオでは、ウィジェットを使用するウェブサイトの設計者は、コンピュータプログラマでなくてもよく、必要なコードを修正するために必要な知識も技術も有していなくてもよいことに発見した。
【0083】
出願人は、先行技術のウィジェットの限界は、上述したようなウィジェット、ならびに、垂直ソリューション、アプリケーション、およびプラグインなどの他のタイプのアプリケーションまたは他のWBSエンティティであってもよいWCA(ウェブサイト構築システム構成可能アプリケーション)を使用して克服されてもよいことをさらに発見した。WCAは、ウェブサイトまたはモバイルアプリケーションで使用されてもよい、一緒にパッケージ化された要素のセットである。要素は、ウェブサイト構築システムのコンポーネント、関連コード、および以下でさらに説明され、ここで参照される図2Aおよび2Bに示されるような追加の要素を含むことができる。WCAは、コンポーネントベースの動作を提供するために、それらの要素のいくつかまたはすべてを操作するようにカスタマイズされてもよい。WCAは、ウィジェットまたはサードパーティアプリケーションと同様の方法で、インスタンスとしてウェブサイトページに埋め込むことができる。
【0084】
したがって、上述した旅行ウィジェットのシナリオでは、設計者が旅行WCA(上述した従来技術の旅行ウィジェットとは対照的に)を埋め込み、それらが地図要素(例えば)を除去する場合、イベントが選択されたときに地図要素を更新するコードは、それに応じて更新または変更される。上述したように、設計者は、自分でコードを修正する技能を有していない場合がある。
【0085】
そのようなWCAは、ウェブサイト構築システムのコンポーネントとして、またはその要素/サブ要素がウェブサイト設計者によって別個に操作され得るエンティティとして、埋め込みアプリケーション(サードパーティアプリケーションに類似する)として同時に機能し得ることが理解される。WCAは、アップデートやバリアントの作成などを可能にするために、WCA開発者とウェブサイト設計者の両方によって(開発者が決定したレベルで)編集することができる。WCA開発者は、WBSベンダ61の開発チームの一部であってもよく、またはアプリストアを介して、または任意の他のチャネルを介して販売する独立したエンティティであってもよく、またはサイト設計者組織の一部であってもよい。上述したように、WCAに行われる任意の修正は、その機能に必ずしも影響を及ぼさないことがある。
【0086】
開発者は、自身が開発したWCAを更新する可能性があり、WCAのサイト設計者62またはユーザは、WCAを、自身でそれをカスタマイズしてWCAの複数のバージョンを作成するために、さらに修正することができることが理解される。更新は、参照の継承または変更の結果として自動的に行われる場合もある。更新はまた、ウェブサイト構築システム内からの内部配信、ウェブサービス、電子メール、FTP、P2Pなどを介するウェブサイト構築システムの外部からの外部電子配信、またはメディア配信などの外部物理配信を介して配信されてもよい。
【0087】
また、WCAへの通常のアップデートは、WCA開発者からのものであり、サイト設計者62などのWCAユーザからの修正もあることが理解される。これらの変更は、(例えば)サイト設計者62が既存のWCAの変形バージョンを作成し、そして、サイト設計者62自身がサイト上の各インスタンス毎にWCAをカスタマイズすることができるので、交換可能であってもよい。これが起こると、サイト設計者62は、ユーザのために公開することができる元のWCAの変更されたバージョンを有するので、WCAの開発者になることができる。
【0088】
このカスタマイズは、WCAベンダによって事前に定義された方法(カスタムビルドパネルなど)を介して、予めパッケージされたAPIを直接または自動生成されたパネルを介して使用することと、要素の一部を追加または削除することと、通常のエディタメニューおよびパネルを介して要素のいずれかを変更することと、WCA全体と連動し、そのAPIを利用するコードを記述することと、によって、行われることができる。また、別のカスタマイズには、WCAの要素と連携して機能を追加するコードを記述し、元の意図よりも機能を追加することが含まれる場合がある。例えば、WCAの「ビデオを再生する」ボタンとして使用されるボタンは、ボタンへのクリックをカウントし、インクリメンタルカウンタを更新するコードをサイト設計者62が追加することによって修正することができる。カスタマイズは、バックエンド要素またはWCAの構成および設定パネル自体などのWCAの他の要素にも適用することができる。これらのカスタマイズの形式については、以下で詳しく説明する。
【0089】
また、以下に説明する技術は、コードを切断する変更に適用可能であるだけではないことも理解される。また、WCAの機能を「切断する」か、またはそれに影響を及ぼす可能性がある他の変更タイプも存在する可能性がある。例えば、WBSは、コンポーネントAによって表示される値(例えば)の変化が、コンポーネントAに表示される値の合計を表示する(例えば)コンポーネントBに何らかの形で反映されるように、コードを伴わずに互いに更新するコンポーネントをサポートしてもよく、このようなリンクは、コードを伴わないWBSの特徴であってもよい。コンポーネント(AまたはB)のいずれかが削除されたり、別のコンポーネントまたはコンポーネントタイプと交換されたりすると、リンクが切断される場合がある。
【0090】
このようなブレークダウンは、サイト設計者62が自分のサイト作成中にWCA内の何かをブレークすることによるか、またはサイト設計者62によって行われた変更と一致しないWCAの元の開発者からの更新に起因し得る。例えば、WCA Xを使用するサイト設計者62は、以前は存在していなかったコンポーネントAとB(WCA X内)との間の接続を作成する。後に、WCA Xは、Bを削除したが、これは、A-Bリンクを作成したサイト設計者62にとってのみ問題であり、同じWCAを使用する他のサイト設計者62にとっては問題ではない。このようなコードまたは接続/リンクの切断は、完全なものであっても部分的なものであってもよい。
【0091】
従って、本明細書に記載する旅行ウィジェットとして機能するWCAに関して、コード接続を切断する変更またはイベントまたはマップWCAのサブ要素の更新は、以下に詳細に記載するように、変更または更新されたサブ要素の失われた機能の一部をゴーストしたり、変更または更新されたサブ要素の失われた機能の一部をマスカレードしたり、変更のための事前定義されたインストールポリシーを更新したりすることができるWCAの機能に影響を与えない可能性がある。WCAのサブ要素間の接続は、コードベースと同様に、直接的またはメッセージベースであってもよいことが理解されるであろう。
【0092】
出願人は、さらに、この機能は、ブレークを「フィックスする」、すなわち、WCAが完全な機能性を保持することを可能にした後に修正を補償することによって、埋め込みウェブサイトおよびウェブサイトを実行するコンピュータ自体の機能性を改善することができることを実現した。「ブレークした」ウィジェットが適切に機能しない場合、それを実行するウェブサイトも適切に機能せず、クラッシュする可能性がある。さらに、WCAをWBSウェブサイトに埋め込む機能(レイアウト、コンテンツ、コードなど、継承された要素の複雑なセットに基づいている)は、システムストレージの使用(WCAの定義が重複する代わりに参照によって含まれるため)とパフォーマンス(WCAは必要なときにのみロードでき、その一部はサーバにのみロードされるため)を向上させる。ブレークおよびコンフリクトを解決する機能は、サイト固有の修正およびカスタマイズと共に、そのような継承された/参照によるWCAの使用を大幅に容易にする。
【0093】
ここで、本発明の一実施形態によるウェブサイト構築システムにおけるウェブサイト構築システム(WBS)構成可能アプリケーションを処理するためのシステム200を示す図3を参照する。システム200は、WCAモジュール300に関連して、米国特許第10,073,923号に記載されているようなシステム100の要素(ならびに任意のサブ要素)を含み得る。システム200は、ウェブサイト構築システムへのWCAの作成および統合、ならびに以下でより詳細に説明されるようなWCAの操作を可能にすることができる。
【0094】
本明細書から理解されるように、システム200については、ウェブサイト構築システムを用いて設計者によって作成され、ウェブサイトとしてエンドユーザによってアクセスされるアプリケーションを指すが、システム200は、特定のクライアントソフトウェアを用いてアクセスされる他のカテゴリのオンラインアプリケーションに適用されてもよい。このようなクライアントソフトウェアは、スタンドアロンで実行することも、ブラウザ(Adobe Flashプラグインなど)からアクティブ化することもできる。エンドユーザは、通常のパーソナルコンピュータや、スマートフォン、タブレットコンピュータ、その他のデスクトップ、モバイル、ウェアラブルデバイス上のクライアントソフトウェアを使用して、これらのウェブサイトにアクセスできる。あるいは、システム200は、2018年6月12日に付与され、本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる「Visual Design System for Generating a Visual Data Structure Associated with a Semantic Composition Based on a Hierarchy of Components」と題する米国特許第9,996,566号に記載されているように、モバイルアプリケーション、ネイティブアプリケーション、または他のアプリケーションタイプを生成するシステムに適用することができる。
【0095】
システム200のすべての要素は、一般に、ウェブサイト構築システムのオブジェクトまたはコンポーネントを処理することができることが理解される。
【0096】
WCAモジュール300は、ウェブサイト構築システム5の複数の部分と、ならびに様々なタイプのユーザと直接インタフェースすることができる。次に、WCAモジュール300の要素を示す図4を参照する。WCAモジュール300は、WCAマネージャ310、WCAアプリストアマネージャ315、WCAサイトビューア320、WCAリポジトリ325、WCA展開/使用環境(インサイトエディタ)330、WCA SGS(Site Generation System:サイト生成システム)インタフェース340、WCA CMSコーディネータ350、WCA構築環境(アプリビルダ)360およびWCAハンドラ370を含むことができる。WCAアプリビルダ360は、さらに、カスタマイズパネルクリエータ361、ダイアログエディタ362およびWCAアナライザ363を含むことができる。
【0097】
WCAマネージャ310は、WBSサイトマネージャ10と統合して、(WBSベンダ61、サイト設計者62およびWCA開発者64レベルで)WCAのための管理サービスを提供することができる。WCAアプリストアマネージャ315は、販売のためにWCAを提供し、提供されたWCAを購入する機能を提供するために、オブジェクトマーケットプレイス15と統合することができる。WCAサイトビューア320は、WCAを埋め込んだサイトを使用するエンドユーザ(サイトビジター/ビューア63)のためのWCAを含むアプリケーションを展開し、実行するために、WBS RTサーバ20と統合することができる。インサイトエディタ330は、WCAをそれらのサイトに埋め込むWCAユーザ(サイト所有者/設計者62)のためのWCAに関連する特定の編集能力のために、通常のWBSエディタ30と統合することができ、WCA SGSインタフェース340は、WCAを含むサイトの作成のために、サイト生成システム40とインタフェースすることができる。WCA CMSコーディネータ350は、必要なリポジトリへのアクセスを提供するために、WBS CMS50とインタフェースし得る。アプリビルダ360は、WCAを構築および編集するためにWCA開発者64によって使用されてもよく、WCAハンドラ370は、それに応じてWCAモジュール300内の要素の機能を調整してもよい。
【0098】
システム200は、特定のWCAリポジトリ325内にWCA定義を格納してもよく、または、それに対する参照を含むページまたはアプリケーション内に使用してWBS CMS50内などの他の場所に格納してもよい。そのような中央記憶装置は、WCAのさらなる更新およびバージョン制御を単純化することができる。WCA CMSコーディネータ350はまた、上記の参照を分析し、ローカルアプリケーションコピー、上位のリポジトリ、または他の任意のストレージから関連するWCAコピーをもたらすことができる。システム200は、WBSコンポーネントリポジトリ516にWCA定義(その要素のすべてを含む)を格納し、WBSサイトリポジトリ509に実際のWCAインスタンスを格納してもよい(米国特許第10,073,923号で論じられているように)。あるいは、システム200は、WCAリポジトリ325に格納することもできる。
【0099】
WCAのすべての要素は、以下でより詳細に説明するように、フロントエンド、バックエンド、および追加のサブ要素を有することができることが理解される。さらに、サブ要素のいくつかまたはすべてを処理するWBSの部分は、ウェブサイト構築システムの上部にあるウェブサイト構築システムアプリケーション(それ自体がWCAを含んでもよい)として実装されてもよい。あるいは、一部は、ウェブサイト構築システム上で実行される拡張またはアプリケーションとして実装されてもよい。
【0100】
上述したように、関連するユーザカテゴリは、WCAユーザ(サイト設計者)62、エンドユーザ(サイト訪問者/ビューア)63およびWCA開発者64(ウェブサイト構築システムベンダスタッフまたは外部開発者の一部)を含み得る。
【0101】
ユーザ区分間にある程度の重複があるかもしれないし、ある区分のユーザが別の区分のユーザ(同じまたは異なるユーザIDまたは資格のセットの下で)として機能し得ることが理解される。例えば、WCA開発者64は、自分自身のWCAを使用してウェブサイトを開発することもできる。ウェブサイト構築システムは、エンドユーザ63が訪問しているサイトにいくつかの編集を行うことを可能にし、場合によっては、サイト内のWCAインスタンスを使用または変更することも可能である。
【0102】
また、サイト設計者62は、サイト所有者であってもよいし、またはサイト所有者(サイトを所有していない)または外部設計機関の従業員のような、サイト所有者によるサイトに対する編集のパーミッションを与えられた別個のユーザであってもよいことも理解される。WCAは、WBSベンダスタッフ61またはサードパーティのWCAのプロバイダのメンバとすることができるWCA開発者64によって作成することができる。システム200はまた、デザイナコミュニティによるWCAの作成、およびそのようなWCAのためのマーケットプレイス、ならびに既存のWCAに基づくWCAの作成をサポートすることができる(以下でより詳細に説明する)。また、用語「ユーザ」への言及は、WCAを処理している上述のカテゴリに属する誰かを指すことができる。
【0103】
図2Aおよび図2Bを参照して上述したように、WCAは、ウェブサイト構築システムのコンポーネント、関連コード、および追加の要素を含む、一緒にパッケージ化された要素のセットである。含まれるコンポーネントは、コンテナコンポーネントと同様に不可分なものであってもよく、コンポーネントは、サードパーティアプリケーション(フロントエンドおよびバックエンドの両方)を含んでもよいことが理解される。WCAはまた、追加の(より低いレベルの)WCA、ならびに通常のコンポーネントおよびコンテナを含むことができる。
【0104】
WCAはまた、提供される要素/サブ要素のサイズまたは範囲など、様々な異なる方法で分類および理解することができる。WCAは、単一のコンポーネントWCA(例えば、ボタンまたは画像フィールド)から、複数の対話型ウェブサイトを含むWCAまで、それらのオブジェクトサイズ(または範囲)の範囲をとることができることが理解される。
【0105】
例えば、単一のWCAオファリングは、様々なサイズの複数の関連するサブWCAを含むことができる。これは、WCAとその要素の一部を個別に使用したり、複数のWCAを含むオファリング(プライマリWCAや多数のアドオン関連WCAなど)を通じて使用したりすることができる。これらの概念は、以下でより詳細に論じられる。
【0106】
WCAはまた、フロントエンド、バックエンド、および関連コードを含み得るそれらのサブ要素によって分類され得る。それらはまた、抽象性のレベル、すなわち、以下でより詳細に説明するように、純粋なテンプレート/構造(最小限の特性を指定し、実際の内容を欠いているもの)と実際の要素(すぐに実行できる垂直など)との間の連続体においてWCA定義がどの程度詳細であるかによって分類されてもよい。
【0107】
上述したように、WCAは、例えば、本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる2017年8月29日に付与された「System and Method for the Creation and Use of Visual-Diverse High-Quality Dynamic Layouts」という表題の米国特許第9,747,258号に記載されているような、レイアウト提案を形成するコンポーネントのセットとして、および新たな複合コンポーネントを形成するコンポーネントのセット(例えば、2018年2月1日に公開され、参照により本明細書に組み込まれる「System and Method for Implementing Containers which Extract and Apply Semantic Page Knowledge」という表題の米国特許第2018/0032626号に記載されている、予め定義されたスマート複合材料のようである)として、単一のコンポーネント等、場合によってはいくつかのカスタマイズが追加されるなど、様々なサイズで提供される場合がある。WCAはまた、ページセクション、典型的には、水平エッジトゥエッジページストリップ(コーストトゥコーストセクションとしても知られる)、ページ(製品ギャラリーページ、チェックアウトページ、ありがとうページなど)、ページセット/サイトセクション、ウェブサイト(またはそのテンプレート)、および垂直アプリケーションであってもよい。垂直アプリケーションは、追加のサブシステム(注文、出荷、または予約など)を含んでもよい特定の産業(電子商取引、ホスピタリティ、レストラン、または法律事務所など)に適合された専用ウェブサイトである。したがって、垂直アプリケーションは、そのまま使用されてもカスタマイズされてもよいプラットフォームとしての役割を果たす。WCAはまた、複数の協働する(または他の方法で対話する)ウェブサイトまたは垂直アプリケーション(マルチモジュールERPシステムなど)のセットであってもよい。したがって、WCAのサイズは、単一のコンポーネントまたはウィジェットから、完全な垂直アプリケーション(自動車販売プラットフォームなど)またはアプリケーションのセットまでの範囲とすることができる。
【0108】
システム200は、異なるスコープのWCAのための複数のアーキテクチャを有してもよいことが理解される。例えば、システム200は、単一のコンポーネントまたはコンポーネントの単純な配置のみを含むWCAの単純なバージョン(「共有部分」として知られる)を実装することができる。これは、WCAの記憶装置のより単純な配置、および包含アプリケーションにおけるそのアプリケーションを可能にし得る。
【0109】
WCAはまた、ダッシュボードベースの要素を含んでもよい。ダッシュボードは、サイト所有者がアクセスできるが、サイトビューア/エンドユーザ63はアクセスできない、ウェブサイト構築システムGUIの一部である(サイトGUIとは異なる)。システム200は、サイト所有者がウェブサイト構築システムにログインする特定の追加ユーザに対して、(例えば、サイト所有者とは異なるサイト運営者の役割を追加することによって)ダッシュボードの特定の領域または要素へのアクセスを指定できるようにしてもよい。
【0110】
ダッシュボードGUIの中には汎用的なものもあれば、サイト固有のものもある。そのようなダッシュボードは、例えば、(レストランサイトのための)注文キューまたは(電子商取引または物流サイトのための)製品ストックレベルを表示するための、または新しいコンテンツ(例えば、新しい製品)をサイトにアップロードするための特定のGUIを含むことができる。
【0111】
WCAは、(1つまたは複数の)ダッシュボードのページまたはその一部(ウィジェット、コンポーネント、またはページセクションなど)を提供することができる。このようなカスタマイズされたGUIは、例えば、カスタマイズされたフォーマットを使用してレストランの保留中の注文を表示する特定のダッシュボードのページセクションを含むことができる。
【0112】
WCAには、ウェブサイト構築システムUI(User Interface:ユーザインタフェース)サポートパネル(「ダイアログボックス」とも呼ばれる)またはパネルセクションも含まれる場合がある。ウェブサイト構築システムのGUIは、通常、上位レベルのパネル(「私のサイト」や「メディアマネージャ」パネルなど)だけでなく、下位レベルのパネル(特定のページや特定のコンポーネントの編集中に表示されるパネルなど)も含まれる。WCAは、追加または代替のパネル、パネルセクション(本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる、2019年10月29日に付与された「System and Method for the Generation of an Adaptive User Interface in a Website Building System」という名称の米国特許第10,459,699号に記載されるメニューセクションなど)、またはパネル挙動(例えば、必ずしも実際のパネルにおいて視覚的表現を有さないシステムパネル挙動への変更)を提供することができる。
【0113】
一例として、WCA開発者64は、「レシピブック」WCAを作成することができる。WCAは、サイト閲覧中に単一のレシピ要約を表示する「単一レシピ要約」と呼ばれるサブ要素を含むことができる。このWCAをWCAアプリストアマネージャ315を介して(例えば、ウェブサイト構築システム5のアプリストアから)インストールした後、サイト所有者は、特定のページのサイト閲覧中にウィジェットがWCAサイトビューア320を介してどのレシピを表示するかを(サイト編集中に)選択することができる。レシピは、インストールされたWCAインスタンスに関連付けられたデータベースに保存できる。
【0114】
したがって、上記の例の場合、レシピブックWCAは、WBSエディタ30で(例えば、ウェブサイト構築システム設定ダイアログ/メニューの一部として)使用されるとき、WCAのレシピリポジトリ(325/CMS50)からレシピ選択を可能にする、「選択レシピ」と呼ばれるオプションを提供することができる。これらの追加されたオプションおよびパネルは、通常のウェブサイト構築システムページ/コンポーネント編集GUIの一部であるかのように振る舞うことができ、あるいは、GUIの挙動またはインタフェースを拡張することができる。これは、ウェブサイト構築システムパネルWCAとして知られている。
【0115】
この(WCAによって定義されるような)新しいパネルは、(リポジトリ325/CMS50にアクセス可能な)手続き要素を含み、WCAの一部としてパッケージ化されてもよいことが理解される。このようなパネル(およびその関連する要素)は、WCAに固有のものとすることができ、または複数のWCAタイプ間で共有することができる(例えば、ウィジェット「次のレシピ提案」は、同じ汎用「選択レシピ」パネルを再使用することもできる)。
【0116】
(すべてのサイズの)WCAは、上述したサブ要素の任意の組合せを含むことができることが理解される。これらの要素は、(サイトまたはサイト要素を提供する)通常のWCA、ダッシュボードWCA、およびウェブサイト構築システムパネルWCAを含む、すべてのタイプのWCAに現れ得る。
【0117】
WCA自体は、そのサブ要素のどれをWCA内にカプセル化するか(したがって、WCAのユーザがアクセスしたり表示したりすることはできない)、どのサブ要素がWCAのユーザがアクセスできるか、どのサブ要素をインスタンスレベルでWCAのユーザが実際に変更できるかを指定することもできる。これらの概念は、以下でより詳細に説明される。
【0118】
ここで、WCA400のサブ要素が、フロントエンド要素410、バックエンド要素420、サポート要素430、およびデータコンテンツ要素440の4つの主要なカテゴリにどのように分割され得るかを示す図5を参照する。
【0119】
フロントエンド要素410は、すべてアプリケーションの主なアクティビティに関連する、アトミックコンポーネント、コンテナコンポーネント、サードパーティアプリケーション(TPA)、およびおそらくは他のWCAおよび関連コードなど、含まれるコンポーネントの(通常は階層的である)セットとすることができる。例えば、「都市訪問」WCAは、ローカル気象WCA、「やるべきこと」WCA、及びブラウズ可能な地図WCAを、全ての3つのサブWCAの間の適切なリンクと共に、含むことができる。
【0120】
バックエンド要素420は、アプリケーションのバックエンド活動にすべて関連する、アトミックコンポーネント、コンテナコンポーネント、サードパーティアプリケーション、および場合によっては他のWCAなど、バックエンドで実行される1つ以上のコンポーネントを有することができる。
【0121】
サポート要素430は、ウェブサイト構築システム5の他の要素とのインタラクションを必要とし得る。例えば、アトミックコンポーネント、コンテナコンポーネント、サードパーティアプリケーション、および場合によっては他のWCAなどのダッシュボードコンポーネント432は、(上述したように)ウェブサイト構築システムのダッシュボードに統合される。API定義431は、WCA開発者がWCAに対して定義した特定のAPIである場合がある。これには、ローカルAPI、リモートAPI(ウェブサービスなど)、またはその両方を指定できる。
【0122】
コンテンツ要素には、スキーマ、データストレージ、データベースレベルコード(データイベントフックやトリガなど)およびデータ関係の任意の組み合わせを含む、コンテンツの基礎となるデータベースと共に、気象ウィジェットの都市名やソーシャルメディアウィジェットの類似/共有カウントなど、追加のWCAレベルのコンポーネントおよび属性/プロパティのデータベース(リポジトリ325/CMS50など)へのリンクまたはその他の参照を含めることができる。これには、WCAにバンドルされている基盤となるデータベースデータも含めることができる。
【0123】
関連コード415は、前端、バックエンド、またはその両方で実行されるコードを含むことができる(2019年2月19日に付与された米国特許第10,209,966号、2019年6月18日に付与された米国特許第10,326,821号、および2019年8月27日に付与された米国特許第10,397,305号「Custom Back-End Functionality in an Online Website Building Environment」、のすべてに記載され、すべて本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる)。そのようなコードは、ユーザに見えるか、またはWCA内にカプセル化され得る。
【0124】
他のサブ要素(図示せず)は、データバインディング(WCAとデータベース325/CMS50との対応付け等)を含み得、その結果、WCAは、動的ページ(本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる、2019年1月24日に公開された「Dynamic Preview of Database-Populated Web Pages」と題する米国特許出願公開第2019/0026082号に記載される)、ならびにデータアクセスおよびサポートパネル433、パネルセクション、および他の要素を編集する能力を提供する通常のページにおいて使用される。これらは、WCAのための特別な構成設定ダイアログを提供することができる構成パネル/ダイアログを含むことができる。そのようなダイアログは、定義されたプロパティ(本発明の共通の譲受人に譲渡され、参照により本明細書に組み込まれる、2017年9月5日に付与された「System and Method for Dialog Customization」という名称の米国特許第9,753,911号に記載されている)または他の方法でマークされたプロパティを反映するように自動的に生成されてもよく、カスタムコード化されてもよい。
【0125】
サブ要素は、その要素(例えば、いくつかの事前に定義されたサイズ間でのみサイズ変更を許容されているもの)のための代替的な編集動作を定義することができる(米国公開第2018/0032626号および第2018/0293323号に記載されているような)編集動作プラグインおよび特定の操作ハンドル(参照により本明細書に組み込まれる、本発明の共通の譲受人に譲渡された2019年1月1日に付与された「Method and System for the Use of Adjustment Handles to Facilitate Dynamic Layout Editing」と題された米国特許第10,169,307号および米国公開第2018/0032626号に記載されている)も含むことができる。これらは、WCAの幾何学的特性(サイズ変更または回転など)を制御する特殊なハンドルとすることができる。これらはまた、WCAのいくつかの部分の特性に影響を及ぼすが、他の部分には影響を及ぼさないような、特殊な制御機能を提供するハンドルであってもよい。
【0126】
別のタイプのサブ要素は、米国特許出願公開第20180032626号に記載されているように、(幾何学的操作ハンドルに加えて)WCAのフレームに取り付けられた特定の操作UI要素であってもよいフレーム要素であってもよい。ここで、上述のレシピウィジェット(400)と、「次のレシピ」(a)、「前のレシピ」(b)および「ランダムなレシピ」(c)のような機能を有する特殊なフレーム要素のセット(編集時に使用するための)とをどのように有するかを示す図6を参照する。
【0127】
編集環境における閲覧サポートコードの編集は、編集中のWCAに対する改善された閲覧を提供し得ることが理解される。例えば、ビデオプレーヤWCAは、編集プラットフォームに負担をかけずに編集中に実行することができる、制限されたフレームレートまたは低減された品質のビデオプレビューを提供することができる。
【0128】
更にサブ要素は、レンダリングを実行時のコンポーネントに影響を与えるレンダリングサポートコード434を含む。レンダリングサポートコード434は、SEO及びインデックス化サポートに影響を与える、特定のサーバ側の事前のレンダリングの挙動及びSEOサポートコード435を含み、(スパイダー)インデックス化及び検索中のコンポーネント(米国特許第9,436,765号「System And Method For Deep Linking and Search Engine Support For Web Sites Integrating Third Party Application and Components」2016年9月6日付、及び米国公開番号2019/0026280号「Website Builder With Integrated Search Engine Optimization Support」2019年1月24日付に記載される)の専門的な処理を可能にすることができる。アプリストアサポート436は、名前、説明、商業的情報およびバージョン情報のようなアプリストア関連情報を提供することができる。
【0129】
WCAのバリエーションは、WCAのいくつかの要素の代替を提供し得るが、要素のいくつかは一定のままである。例えば、単一のWCAは、それらの複数の設計に対して同じコードを使用しながら、その設計に対して複数のバリエーション(例えば、左揃えされたものと右揃えされたもの)を提供することができる。あるいは、単一の設計は、WCAの要素に添付されたコードの異なるバージョンを有する複数の変形を有してもよい。異なる変形例は、それぞれ、いくつかの異なる設計要素およびいくつかの異なるコード要素を有することもできる。
【0130】
そのような機能性は、(例えば)設計者62が、コードライタを伴うことなく、異なるルックアンドフィールを作成することを可能にし得る。この機能性は、レイアウトが根本的に異なる可能性があり、異なるUIおよびカスタマイズを有し、場合によっては異なる機能性を有するため、スキンの使用とは異なる。
【0131】
WCAハンドラ370は、WCAを含むサイトのウェブサイト要素、システム構成(例えば、どのサードパーティアプリケーションおよびバーティカルが購入されたか)および、ユーザ収集情報などの利用可能な情報に基づいて、使用するバリアントを選択してもよい。ユーザ収集情報は、地理的位置、言語、編集履歴、収集されたビジネスインテリジェンス(BI)などである。WCAハンドラ370は、ユーザに複数のバリアントを提供してもよく(場合によっては、上述の利用可能な情報に従ってそれらをフィルタリングしてもよい)、ユーザが以下に詳細に説明するように、どれを使用するかを選択できるようにしてもよい。
【0132】
バリアントに加えて、WCAは、(自動的に)利用可能な情報に基づいて、または上述のユーザ選択に基づいてアクティブ化される(いくつかのWCA構成においてディスプレイから隠される)オプションの部分を含むことができる。
【0133】
システム200は、単一のパッケージ化されたエンティティとして、およびカスタマイズ可能な要素のセット(WCAを使用するサイトについてユーザによって可視および/または編集可能であってもよい)として、WCAについての二重の見通し(Outlook)を維持してもよいことが理解される。異なるWCAは、以下でより詳細に論じられるように、それらの「内部」への異なるレベルのアクセスを可能にし得る。関連するウェブサイト構築システムは、WCAを単一の要素として、および図5の破線500によって表されるようなコンポーネントとして対話し、扱うことができ、これに戻って参照がなされる。
【0134】
上述したように、異なる抽象度レベルを有するWCAを構築することができる。一方、WCAは、(例えば)ページをフォーマットするために使用することができる抽象的なコンポーネント(レイアウトとも呼ばれる)のセットのみを提供する、抽象的である可能性がある。ユーザ(例えば、サイト設計者62)は、コンテンツでユーザを満たし、ユーザの属性を編集し、場合によってはユーザのタイプを変更しなければならない(例えば、1つのギャラリタイプを別のギャラリタイプに変更する)。連続体(Continuum)の他端において、WCAは、完全に機能的なサイト、サイトセクション、または垂直アプリケーションであり得る。そのようなWCAは、本明細書で上述したように、すべての必要なフロントエンドおよびバックエンド要素、基礎となるコード、関連する初期コンテンツなどを含む。
【0135】
WCAは、(例えば、コンポーネントの要素および属性のいくつかを指定する一方で、他の要素および属性は未指定のまま、またはデフォルトとして)これら2つの例の間の連続体上に任意のレベルの抽象度で作成され得ることが理解される。
【0136】
WCAは、(特定のサイトで使用するために)所与のサイトの内側に構築されてもよく、または複数のサイトで使用されるようにパッケージされてもよいことが理解される。これは、同じユーザまたは所有者の異なるサイトのために、または他のサイトでの使用のために使用することができる。後者の場合、WCAは、(ウェブサイト構築システムのベンダ61または第三者によって実行される)アプリケーションストアを介して提供されてもよい。このようなパッケージ化されたWCAは、しばしばプラグインWCAとして参照される。
【0137】
一旦、WCA又はプラグインWCAがウェブサイト構築システムのツールパレットUIのために利用可能になると(米国特許第10,459,699号に記載されているように)、WCAのインサイトエディタ330は、WCAプロバイダによって許可されるように、特にそのコンポーネント、レイアウト及びフロントエンド/バックエンドコードを含むWCAの全ての要素を編集するために、ユーザによって使用され得ることが理解される(これは、以下にさらに論じられるように、WCAの一部又は全部のタイプの編集に対して、WCAの一部又は要素をロックし得る)。
【0138】
システム200は、パッケージ化されたWCA(またはプラグインWCA)を、依然としてサブ要素、および場合によっては追加の要素からなる本質的に高レベルのコンポーネント(または他のウェブサイト構築システム要素)として扱ってもよいことが理解される。これらの各サブ要素は、完全な編集機能を保持して、アトミックレベルの要素としても、WCA内およびWCA内のそのセマンティックロール内にも完全な機能を保持することができる。
【0139】
ここで、WCAハンドラ370の要素を図示する図7Aを参照する。WCAハンドラ370は、警告プロバイダ372、WCA修正ハンドラ373、フィードバックプロバイダ374、ゴーストモジュール375、マスカレーダ376、データベース(DB)コネクタ377、APIハンドラ378および機械学習(ML)/人工知能(AI)モジュール379をさらに備えることができる。これらの要素の機能については、以下でより詳細に説明する。
【0140】
ML/AIモジュール379の要素を示す図7Bを参照する。ML/AIモジュール379は、決定エンジン3791、CMSエクストラクタ/トレーナ3792、要素挙動トラッカ/トレーナ3793、要素挙動ML/AIモジュール3794、およびマージML/AIモジュール3795をさらに備えることができる。
【0141】
ML/AIモジュール379は、以下でより詳細に説明するように、ゴーストモジュール375、マスカレーダ376、およびWCA修正ハンドラ373のマージ機能のための決定を提供することができる。ML/AIモジュール379は、要素挙動ML/AIモジュール3794、および、マージML/AIモジュール3795をマージ、によって実装される機械学習モデルを訓練することができる。ML/AIモジュール379は、CMSエクストラクタ/トレーナ3792によってCMS50およびWCAリポジトリ325から抽出されたデータ(サイトおよびユーザパラメータ、ならびに編集履歴およびビジネスインテリジェンス情報などのユーザ収集情報を含む)に基づいて、両方のモジュール(3794、3795)をトレーニングすることができる。ML/AIモジュール379は、WCAおよびそれらの要素(コード実行経路、ユーザインタラクション、入力/出力、交換されたデータ、API呼び出し、呼び出された内部サービスなどを含む)の挙動を追跡することに基づいて、両方のモジュール(3794、3795)をさらに訓練することができる。決定エンジン3791は、要素挙動ML/AIモジュール3794に基づいて決定を行って、ゴーストモジュール375およびマスカレーダ376がそれらの機能を実行するのをサポートすることができる。決定エンジン3791は、さらに、マージML/AIモジュール3795に基づいて決定を行い、WCA修正ハンドラ373(および特にそのマージ機能)がそれらの機能を実行することをサポートすることができる。
【0142】
ML/AIモジュール379は、特に(編集履歴およびBIデータなどのシーケンスを処理するための)ロングショートタームメモリ(LSTM:Long Short Term Memory)ニューラルネットワーク、および(コンポーネントレイアウトなどの幾何学的に定義されたデータを処理するための)畳み込みニューラルネットワークを含む、任意の機械学習/人工知能アルゴリズムを実装することができる。
【0143】
WCA修正ハンドラ373の要素を図示する図8を参照する。WCA修正ハンドラ373は、バリアントの作成およびカスタマイズのようなWCAに対する修正を処理することができる。WCA修正ハンドラ373は、バリアントクリエータ3731と、APIアナライザ3732と、パーミッション決定器3734と、変更リゾルバ3735と、WCAマージャ3736と、更新受信器3737と、変更適用器3738とをさらに備えることができる。これらの要素の機能については、以下でより詳細に説明する。
【0144】
WCAは、WCAアプリビルダ360を使用して作成され、カスタマイズパネルクリエータ361およびダイアログエディタ362を使用してさらに編集されてもよいことが理解される。ダイアログエディタ362は、典型的には、WCA定義自体の編集に焦点を当てることができ、一方、カスタマイズパネルクリエータ361は、典型的には、WCAに関連する様々なWCA固有のカスタマイズパネルの編集に焦点を当てられ、編集中に(または、実行時に何らかの編集機能が利用可能な場合に実行時に)表示されて、特定のWCAインスタンスの設定を助けることができる。このようなカスタマイズパネルは、WCAと共に(例えば、その境界上に)表示されてもよいし、WBSメイン編集UIに埋め込まれてもよい。他の実施形態では、これらは、WCAインサイトエディタ330および通常のWBSエディタ30を使用して編集されてもよく、これらは、WCA編集をサポートするための追加機能によって拡張されてもよい。
【0145】
WCAインサイトエディタ330およびWCAアプリビルダ360は、別々に機能するか、または一緒に統合されてもよく、それぞれが、単一の統合エディタまたは複数のビジュアルエディタ(例えば、含まれるコンポーネントのそれぞれに対して1つずつ、プロパティパネルおよびフレーム要素/ハンドル/編集動作アドオンなど)で構成されてもよい。
【0146】
このような作成および編集は、元のWCA開発者64によって実行されてもよいことが理解される。WCA開発者64は、WCAを使用するサイト設計者62によって(すなわち、インスタンスレベルで)WCAを編集できるかどうか、そしてもしそうであれば、WCAのどのサブ要素が見え、どれを編集できるかをさらに明示することができる。
【0147】
システム200は、エンドユーザが、(編集に関する限り複数のエンドユーザレベルを有することを含む)ブログシステムに投稿されるコンポーネントベースのブログポストを編集することを可能にするなど、あるレベルのエンドユーザ63の編集能力を可能にすることもできる。このシナリオでは、(この例示的なブログシステムで使用されるブログWCAを開発した)WCA開発者64は、どの領域および要素がエンドユーザ63によって編集可能であるか、およびどのように編集可能であるかを指定することもできる。システム200は、そのような仕様が、WCA開発者64によって、またはエンドユーザ63によって使用されるサイトを設計したサイト設計者62によって、以下でより詳細に説明するユーザ変更受諾規則に従って、行われることを可能にすることができる。
【0148】
したがって、WCA開発者64は、例えば、WCAコンポーネントが編集されてもよいが、削除されず、新しいものが挿入されてもよいと判断してもよい。また、ユーザは、WCAコードが、WCAを使用して設計者62には見えず、編集できないと判断することもできる。このような決定は、そのカスタマイズ/設定パネルなどのWCAの追加要素にも適用することができる。
【0149】
システム200は、上述したような異なるサイズのWCAを含む、そのような構成(すなわち、何が見えるか、および何が編集され得るか)のための異なるレベルの粒度を提供し得る。最も単純なレベルでは、システム200は、WCA開発者64がWCAを編集できない(すなわち、WCAが「工場設定」でロックされている)ことを指定することができる。他の実施形態では、WCA開発者64は、どのコンポーネントおよび属性をどのように編集することができるかに関する高度に詳細な規則(後述するユーザ変更受諾(UCA:User Change Acceptance)規則と同様)をどのようにして指定することができる。このような規則は、サブコンポーネントの位置決め変更限界、属性変更限界(例えば、どのフォントを選択できるか)、挿入/削除が許可されるかどうかなど、編集制限を指定することができる。先に述べたように、システム200は、WCA開発者64/設計者62が、これらの能力の一部または全部を、(利用可能であれば)エンドユーザ編集に適用されるそのようなルールを指定することができるWCAユーザに委任することを可能にしてもよい。所与のWCAに対する編集の範囲を制限することにより、(以下により詳細に説明するように)複数のソースからの編集のマージをはるかに容易にすることができることが理解される。
【0150】
更新受信器3737は、すべてのレベルのユーザから更新を受信し、それに応じてWCA修正ハンドラ373の他の要素と調整することができる。
【0151】
パーミッション決定器3734は、更新および修正(またはその一部)が全く起こらないようにすることができる。したがって、パーミッション決定器3734は、将来のWCA故障、ならびに設計などにおける任意の不適合性を防止し得ることが理解される。典型的な実施形態は、最初にWCAを「ロックモード」にすることができる。このロックモードでは、パーミッション決定器3734は、編集中のユーザのパーミッションを処理し、WCAのサブ要素の位置およびサイズをロックし、ユーザが任意のサブ要素を削除することを防止することができる。しかし、ユーザは、様々なサブ要素のスタイル、フォント、内容を(例えば)変更することができる。このようにして、更新は、(以下でより詳細に説明するように)統合するのが容易になり得る。
【0152】
このような実施形態では、ユーザは、WCAをアンロックすべきであること、および、(WCAのレイアウトに影響を与えないコード更新を可能にするように)WCAを変更しないか、または部分的にのみ変更することが可能であることを明示することが可能である。警告プロバイダ372は、このようなロック解除が行われる前にユーザに警告することができる。
【0153】
さらに、WCAのために利用可能な複数のタイプのカスタマイズがあることが理解される。あるレベルでは、WCAは、その要素を編集することによって(変形WCAを作成することによって)修正される可能性がある。異なるレベルでは、WCAインスタンスは、代わりのWCAを作成することなく、「インプレース」(すなわち、それが存在するページ/サイト内)に修正される可能性がある。このようなインスタンスのカスタマイズでは、それを含むページ/サイトなど、WCAの環境内の他の要素も考慮(および統合)することがある。カスタマイズは、インスタンスごとに異なってもよく、本質的に動的であってもよい(例えば、サイトが使用されるにつれて、または他の方法で外部入力およびトリガに基づいて変化する)。WCA修正ハンドラ373は、自動カスタマイズおよび手動カスタマイズの両方を処理することができる。
【0154】
WCAインスタンスは、例えば、以下の方法のいずれか、またはそれらの組み合わせを使用してカスタマイズすることができる。WCAに付属の、予めパッケージされたAPIを使用してカスタマイズできる。これは、例えば、WCAインサイトエディタ330を介してユーザに記述されたコードを通して行われてもよい。予めパッケージされたAPIは、(米国特許第10,209,966号、第10,326,821号、および第10,397,305号に記載されているように)ウェブサイト構築システム内の通常のコンポーネントによって提供されるものと同様であってもよい。たとえば、コード「$w(‘#VisitCityWCA’).city=‘London’」を編集して都市名を変更できる。
【0155】
バリアントクリエータ3731は、編集されたWCAがそれ自体でWCAバリアントとして保存され、使用されることを可能にしてもよい(「フォーク」としても知られる)。システム200は、編集されたWCAがさらに再配布される、例えば、さらなる使用のためにアプリケーションストアにアップロードされる能力を制限することができる。ここで図9を参照すると、図9は、図5のWCA(ここでは400B)からバックエンドの関連コード415が除去され、新しいコード416が追加されたものを示す。
【0156】
あるいは、バリアントクリエータ3731は、そのような再配布を可能にすることもでき、例えば、WCA開発者Aは、WCA Xを作成し、それをプラグインとして公開し、WCA開発者Bは、プラグインの修正版X*を作成し、それを再公開し、WCA開発者Cは、自分のサイトでX*を使用し、場合によっては、それをX**にさらに修正する。配布は、(WCAアプリストアマネージャ315を介して)アプリケーションストアを介して行われてもよく、システム200は、オリジナルのWCA開発者(上記A)と修正されたバージョン再配布者(上記B)との間で収益分配モデルを実装してもよい。
【0157】
WCAが別のWCAに基づいて作成される上記の構成(バリエーション作成)は、継承の配列とみなされてもよいことが理解される。システム200はまた、複数の継承、すなわち、複数のWCAからの要素を組み合わせるWCAを作成することをサポートすることができる。
【0158】
WCAインスタンスは、WCAの予めパッケージされたAPIから自動的に生成されたUIパネルを使用してカスタマイズできる。このシナリオでは、APIアナライザ3732は、WCAの予めパッケージされたAPIを分析して、APIのプロパティおよびインタフェースを検出し、一致する設定パネルを生成することができる。APIアナライザ3732は、さらに、WCAのAPI内のプロパティに基づいて、設定パネルにデフォルト値を入力してもよい。
【0159】
したがって、上記のAPI例の場合、APIアナライザ3732は、ユーザが「VisitCityWCA」の都市値を入力することを可能にする設定パネルを生成することができる。動的属性(WCA実行時に変化する)は、典型的には、その値を動的に指定するためにAPIの使用を必要とし得るので、この方法は、静的属性と共により有用であり得ることが理解される。
【0160】
WCAアナライザ363は、WCA構造内の繰り返し要素または階層要素を認識し、したがって、生成されたカスタマイズパネル内にリストおよびネストされた要素を生成することができる。そのような分析は、より大きなアプリケーションにWCAを含めるときに使用するためのソースコード要素(セッタおよびゲッタなど)を生成することもできる。これらは、含まれるアプリケーションでコードを作成するときに、WBSエディタ30によって使用されてもよい。WBSエディタ30は、必要なコードのためのテンプレートを生成してもよいことが理解される。WCAが使用される場合、WCAアナライザ363は、WCAのAPIの処理を助けるために、コードエディタのためのテンプレートコードを生成することもできる。
【0161】
カスタマイズは、カスタム構築パネルのような、WCA開発者64によって事前に定義された方法を使用して実行することもできる。カスタマイズは、WCAのサブコンポーネントを追加または削除することと、WCAのサブコンポーネントを通常のエディタメニューおよびパネルを通じて変更することと、WCAのサブコンポーネントと連動するコード、すなわち、WCAのサブコンポーネントの上位層として追加されたコードを記述することと、によって、WCAインサイトエディタまたはWBSエディタ30を介してユーザにより手動で実行することもできる。これらのWCAサブコンポーネントは、典型的には、通常のWBSコンポーネント(既存のデフォルトカスタマイズメニューおよびパネルを既に有する)であってもよいことを明確にすべきである。たとえば、ビデオプレーヤWCAは、ボタンを「ビデオを再生」ボタンとして使用することができるが、WCAインスタンスのカスタマイズでは、そのボタン(または一般的にWCAイベント)をクリックして、ページ上のカウンタをインクリメントするコード(ビデオビューカウンタなど)などの追加コードを実行するコードを追加できる。このようなカスタマイズは、WCAの内部コードが上述のように隠されている(カプセル化されている)場合であっても利用可能である。これらのシナリオでは、WCA修正ハンドラ373は、これらの編集を受信し、それに応じて実装することができる。
【0162】
WCAアナライザ363は、WCAに対して静的ソース分析を実行することもできる。そのような分析は、カスタマイズパネルを生成するためにカスタマイズパネルクリエータ361によって使用することができる(上述したAPI分析に基づくパネル生成と同様)。そのような分析はまた、WCAが実行するために必要とされるパーミッションを決定し、パーミッション決定器3734による使用のために必要とされるパーミッションの付与を確認するようにWCAユーザに要求するために使用され得る。
【0163】
したがって、上述したように、カスタマイズパネルクリエータ361は、(米国特許第9,753,911号に記載されているように)WCAを構成するコンポーネントのいずれにも存在しない可能性があるWCA固有のプロパティを含むWCAカスタマイズのための関連する要素を含むカスタマイズパネルを自動的に作成することができる。
【0164】
上述したように、カスタマイズパネルクリエータ361およびダイアログエディタ362は、WCAと共に使用されるウェブサイト構築システムの操作UI(例えば、ボタン、ツールバーおよびメニュー)のための編集環境をさらに提供することができる。WCAサイトビューア320は、実行時のWCA表示をサポートしてもよい。
【0165】
このようなUI編集は、WCAのためのカスタマイズパネルの作成とは別のレベルであってもよいことに留意する必要がある。通常のカスタマイズパネルは、WCAをカスタマイズするだけのユーザ(すなわち、WCAの事前に指定された属性を変更する)によって使用されてもよい。カスタマイズパネルクリエータ361およびダイアログエディタ362は、派生(継承)WCAバリアントを作成する人を含む、実際にWCAを編集したいユーザ(例えば、WCAのコンポーネントを追加/削除/修正する)のために、WBSエディタ30のUIを修正することを可能にしてもよい。UIの実施例を以下に説明する。
【0166】
特に、システム200は、WCA開発者64がWCAレベルおよびサブ要素レベルでの、UIおよび任意のインタラクションを編集することを可能にする構築環境を提供してもよい。したがって(例えば)、WCA開発者64は、プレーボタンとしてプレーンボタンを使用するビデオプレーヤWCAを作成することができる。WCA開発者64は、ビデオプレーヤレベルとプレイボタンレベルの両方で、WCAユーザのための新しい編集体験を作成することができる(したがって、プレーボタンとはわずかに異なる実体になる)。
【0167】
編集環境に対するこのような複数の変更(例えば、それぞれが独自のエディタUI変更のセットを有する複数のWCAの使用から生じるもの)は、互いにコンフリクトする可能性があることが理解される。変更リゾルバ3735は、変更がリアルタイムまたは編集中に導入されるときに、このような矛盾する変更を解決することができる。変更リゾルバ3735は、コンフリクトを解決するために、ユーザのプロフィール、編集履歴、ユーザ編集行動、現在の編集フォーカス、サイト/ページ/WCA関連パラメータ、収集されたサイトBIなどを考慮することができる。このような解像度は、完全自動、半自動または手動(WCA開発者64を含む)であってもよい。
【0168】
WCA開発者64は、WCAを使用するサイト設計者62がWCAに対してインスタンスレベルの変更を行った場合であっても、元のWCAを更新し、変更されたバージョンを配布することができる。このような更新は、(使用中のWCAの各インスタンスに対して)以下にさらに述べるように、2組の変更(WCA開発者64の変更およびサイト設計者62の変更)をマージすることによって行われてもよい。
【0169】
システム200は、WCAの変更されたバージョンが実際にWCAクライアントサイトインスタンスに配送される物理的な更新配布アーキテクチャを実装してもよいことが理解される。そのような分散更新は、完全に変更されたWCAを含むことができ、または本質的に差分であることができる。
【0170】
システム200はまた、参照/継承ベースのアーキテクチャを実装してもよく、このアーキテクチャでは、所与のWCAのみを使用するサイトは、WCAの中央に記憶されたバージョンへの参照を含む。システム200は、場合によっては、例えば、ローカライズされたキャッシングをサポートするために、マスタバージョンの複数のコピーを依然として記憶することができる。以下で説明する技術および機能はすべて、物理的(完全または部分的)更新配布を使用する実施形態、ならびにWCAを更新する被参照/継承ベースの方法を使用する実施形態に適用可能である。後者の場合、議論中の様々なシステム要素は、ページ作成、保存、パブリッシング、または実行時(例えば、レンダリングのためにページが動的に構築され、複数のソースからのWCA更新がリアルタイムで処理され、マージされるとき)を含む、システム200の機能の任意のフェーズで動作することができる。
【0171】
WCA CMSコーディネータ350は、特定のサイト内の特定のWCAインスタンスに対してサイト設計者62によってなされたローカルな変更をデータベース325(またはCMS50)に記憶することができる。これらのローカルな変更は、使用するWCAバリアントの選択や、「ローカルニュース」WCAの都市選択のような基本パラメータの仕様のような、他のパラメータや設定を含むこともある。
【0172】
WCA SGSインタフェース340は、ページがロードされるたびに、例えば、ページが編集または表示されるとき(変更されたマスタバージョンおよび任意のローカル変更およびパラメータを含む)に、WCAをページに動的に統合することができることが理解される。したがって、このページには、参照されているWCAの「マスタバージョン」の最新の更新が常に反映される。この動的統合では、この動的統合プロセス(「マスタコピーからコード変更への更新をレイアウトだけでなく、マスタコピーからコード変更への制限更新」など)に、以下で説明するルールまたはポリシーのいずれかが適用される場合がある。
【0173】
WCAハンドラ370は、また、通知なしにWCAハンドラ370が(WCAを使用する)クライアントサイトに配布することができるサイレント更新を実装することもできる。あるいは、WCAハンドラ370は、更新を受信するとユーザに提示される追加情報と共に更新を配布してもよい。そのような追加情報は、ユーザ確認フォーム、フィードバック要求、トレーニング、および提示される更新のための文書などの対話型要素(インストールの前、間、または後に表示される)を含むことができる。追加情報には、アップデートのインストールに関するコードまたは条件の定義も含まれる場合がある。これは、ページ統合プロセスによって、編集中にWCAのマスタコピーが変更されたことが検出され、上記の追加情報がサイト設計者に提示される可能性があるため、(明示的なアップデート配布操作がない)参照によるアーキテクチャにも適用される。同じプロセスをライブサイトで(すなわち、実行時に)使用して、変更されたバージョンをエンドユーザに提示することもでき、これは、場合によっては、追加情報(例えば、「新しい「都市ツアー」表示について知るためにここを押す」ボタン)を含む。
【0174】
WCAハンドラ370は、実行時に、WCAのアップデートの一部または全部に対して、更新インストールをサポートすることができる。このようなシナリオでは、更新は、サーバ上で現在実行されているインスタンス、またはWCAを含むウェブサイトのクライアント側に適用される場合がある。クライアント側のインストールは、ウェブサイトにアクセスするエンドユーザの更新を必要とすることが理解される。多くの場合、実行コードは「実行中に切り替えられる」ことができず、このような実行時更新は、常に可能であるとは限らないが、システム200は、これが現在のWBSの実行状況に基づいて可能であるかどうかを判定することができる。
【0175】
WCA修正ハンドラ373はまた、WCAユーザ(サイト設計者など)が、ユーザが作成または編集しているサイト内の所与のWCAインスタンスに対する更新インストールポリシーを指定することを可能にしてもよい。例えば、更新受信器3737は、更新が自動的にインストールされるか(「フォーマルレイアウト」または「クラシカルレイアウト」としても知られる)、インストールされないか(「カスタマイズレイアウト」としても知られる)をWCAユーザが指定できるようにすることができ、後者の場合、ユーザは更新ストリームから「切断」されると通知される。
【0176】
パーミッション決定器3734は、WCAのいくつかの要素が変更され、いくつかの要素が変更されないポリシーを実装することができる。例えば、WCA修正ハンドラ373は、明示的に承認されない限り、WCAコード要素を常に更新することを選択してもよいが、WCAレイアウト(コンポーネントの選択、配置、サイズ)は更新しない。更新は、「ユーザが以前(所定の粒度でレイアウトのWCAレイアウト全体またはサブ要素を見る前)に変更していない場合にのみレイアウトを修正する」などのように、要素がWCAユーザによって修正されているかどうかを条件としてもよい。このようなポリシーの下では、レイアウトがあまりにも多く修正されると、コードが故障する可能性があるので、2つの部分は、ある時点で同期から外れる可能性がある。このようなマージは、サイト設計者がローカルバリアントを作成するためにWCAを修正する場合、またはこのようなバリアントが追加の当事者によって公開され使用された場合であっても、機能する可能性があることが理解される。
【0177】
変更適用器3738は、WCA修正ハンドラ373の他のサブ要素の出力に従って、任意の修正を適用することができる。
【0178】
WCAマージャ3736および以下のその要素の以下の説明は、変更がオンラインでマージされる継承モードにも適用可能であることが理解される。したがって、WCA修正ハンドラ373は、現在参照されている図10に示すように、WCA(W1)の初期バージョン、WCA(W2)のフォローアップバージョン、およびサイト設計者(W1a)によってカスタマイズされたW1の修正バージョンを処理することができる。
【0179】
WCAマージャ3736は、属性オーバーライド/(既存の属性値を修正する)変更子としてWCAに加えられた変更を処理することによって、このようなマージを実装することができる。次に、WCAマージャ3736の要素を示す図11を参照する。WCAマージャ3736は、差分アナライザ37361およびコンフリクトリゾルバ37362をさらに備えることができる。これらの要素の機能については、以下でより詳細に説明する。
【0180】
差分アナライザ37037は、WCA内の各オブジェクトの属性を属性ツリーとして配置することができる。ここで、図12を参照すると、幾何属性ノード(a)が示される。幾何属性ノード(a)におけるサブノード(b)は「位置」および「サイズ」であり、サブサブノード(b)はx、y、高さ(H)および幅(W)である(位置属性は、そのコンテナに対するコンポーネントの位置である可能性がある)。属性ツリーは、「コード属性」ノードを有し、サブノードは、「バックエンド(BE)コード」および「フロントエンド(FE)コード」であり、サブサブノードは、特定のトリガに関連するコードスニペットである。さらに、別のノードは、行数および列数のサブノード、使用される特定のマージンなどを有する「マトリックスギャラリー設定」ノードである可能性がある。
【0181】
異なる実装または実施形態は、それらの属性ツリーについて異なるレベルの粒度を有することができる。例えば、色属性に対して、1つの実装は、R、G及びB色コンポーネントの各々に対して別個の属性ノードを有することができ、一方、別の実施形態は、(R、G及びB要素を組み合わせる)単一の「色値」属性ノードを使用することができる。
【0182】
したがって、W1に対して行われた任意の変更(例えば、図10に戻って参照される、W1aを作成するときのような変更)は、(例えば、色属性を赤に設定する)属性に対する変更子のセットとして記憶されてもよい。WCAインサイトエディタ330、ダイアログエディタ362およびカスタマイズパネルクリエータ361は、特定の属性ノードを元の値を継承するように復元するために(すなわち、属性ノード変更子をキャンセルすることによって)、(様々なノードレベルで)特定の属性に対する「継承された値にリセットする」(再継承する)編集オプションを提供することもできる。
【0183】
WCA開発者64は、通常のウェブサイト構築システムコンポーネントの修正としてWBSエディタ30を使用してWCAコンポーネントを編集(すなわち、図10のW1からW2への編集)することができ、WCA開発者64によってなされた変更の一部または全部をCMS50に同様に属性変更子のセットとして記憶することができることが理解される。
【0184】
したがって、WCAマージャ3736は、以下でより詳細に説明するように、(元々W1に対して行われた)W1aの修正をW2に再適用またはマージして、マージされたバージョンのW2aを作成することができる。プロセスは、さらなるバージョンで継続することができ、たとえば、ユーザは、W2bを作成するためにW2aを修正することができ、(図10に示されているように、)WCAマージャ3736は、W3にそのような変更を適用してW3bを作成することができる。
【0185】
マージされた変更されたバージョン(たとえば、上記の例ではW2a)を作成するときに、差分アナライザ37361は、変更設定♯1(W1からW2への変更:WCA開発者64の変更)を分析し、収集し、変更設定♯2(W1からW1aへの変更:WCAユーザの変更)を分析し、収集し、次いで、2つの設定の変更(ベンダおよびユーザ)をマージしてW2aを作成することができることが理解される。
【0186】
差分アナライザ37361は、基礎となるシステムのコンポーネントベースのアーキテクチャから利益を得るいくつかの技術を用いて、本明細書で説明する差分分析および変更セット収集を実行することができることが理解される。このような技術(本発明の共通の譲受人に付与され、本明細書において組み込まれる、2017年11月14日付の、米国特許第9,817,804号「System For Comparison and Merging of Versions in Edited Websites and Interactive Applications」と、2019年1月8日付の米国特許第10,176,154号「System and Method For Automated Conversion of Interactive Sites and Applications to Support Mobile and Other Display Environments」との両方に記載の技術)には、例えば、以下のいずれかが含まれる。基礎となるウェブサイト構築システムコンポーネントのID、コンポーネント間の幾何学的および意味的な関係性の設置、コンポーネントの属性およびコンテンツの分析、コンポーネントの編集履歴の分析、各階層レベルでのコンポーネントの高性能な順序付け(当該技術分野で知られている線形比較及びマージングアルゴリズムが用いられるようなもの)。
【0187】
差分アナライザ37361は、WCAに関連するコード(バックエンドまたはフロントエンドコード)に加えられた変更をさらに分析することができる。そのような分析は、通常のコードテキスト分析、ならびにコードセグメントとWCAのサブオブジェクトとの間の関連付けから利益を得ることができるオブジェクトベースの分析を使用することができる。
【0188】
差分アナライザ37361はまた、ユーザによる外部編集ツールの使用を処理し、それが明示的に追跡することができない変更を検出することができる。例えば、コードの要素は、内部的に提供されたコード編集ツールを完了する外部コード開発ツールを使用して編集することができる。別の例として、WCA修正ハンドラ373は、いくつかのWCA要素の標準フォーマット(XMLなど)との間でエクスポートおよびインポートを可能にし、そのような外部標準ファイルは、外部ツールを使用して編集可能であってもよい。
【0189】
このような場合、差分アナライザ37361は、WCAに対して行われた変更を詳述する「編集履歴チェーン」に従うことが困難であることがわかる可能性がある。特に、このような「チェーン」は、外部ツールを使用して編集され、システム200に再インポートされる要素に起因するギャップを有する可能性がある。
【0190】
差分アナライザ37361は、そのようなギャップを分析し、WCAを編集する人(ベンダまたはユーザ)によって行われる編集ステップのより完全な見通しを提供する拡張された編集履歴チェーンを作成することができる。このようなギャップ分析は、完全に自動的であってもよく、編集者によって支援されてもよい。差分アナライザ37361はまた、外部ツールにおいてユーザによって行われた変更を確立するために、プレギャップバージョンとポストギャップバージョンとの間でコンポーネントベースの比較を実行することによって、そのようなギャップ分析を実施することができる。
【0191】
このようなコンポーネントベースの比較を実行する例示的な技術は、米国特許第9,817,804号に記載されており、例えば、そこに記載されているように、比較器およびマージャ650(および特にバージョン比較器655およびバージョンリゾルバ656)によって実行される。
【0192】
差分アナライザ37361は、ウェブサイト構築システムコンポーネントIDを利用することもできる。そのような比較および分析は、しばしば、(米国特許第9,817,804号においてIDベースのマッチャー721について説明されているように)ウェブサイト構築システムコンポーネントIDを使用することが理解される。しかしながら、このようなウェブサイト構築システムIDは、外部編集により失われることが多い。
【0193】
システム200は、このようなID情報を、外部編集によって保存され得る、エクスポート/インポートされたコンポーネントメタデータに追加することができる。差分アナライザ37361は、メタデータに保存された任意のIDに基づいて、または比較プロセス自体の結果に基づいて、インポート後にそのようなIDを再確立することもできる(例えば、プレギャップコンポーネントからその位置するポストギャップ対応物にIDを再挿入する)。
【0194】
また、WCAを編集する人は、自動的に分析または追従することが困難な編集ステップを実行することもあることが理解される。例えば、ユーザは、ビデオプレーヤの「再生」及び「停止」ボタン(それぞれ[A]及び[B])をトグルスイッチ[C](「再生」及び「停止」状態を有する)に置き換えることができる。このような置き換えには、2つの既存のWCAボタンを削除し、新しいWCAトグルスイッチを作成し、[A]と[B]で使用されているコードとは似ている(が異なる)[C]の新しい関連コード(と機能)を指定することができる。
【0195】
差分アナライザ37361は、場合によっては、そのような変化をそれ自体で(例えば、上述した様々なタイプの分析に基づいて)理解することが可能であり得る。例えば、差分アナライザ37361は、編集履歴における動作のシーケンス(例えば、2つのコンポーネントの削除とそれに続くコンポーネントの作成)に基づいて、変更を理解することができる。別の例として、差分アナライザ37361は、[A]および[B]によって以前に占有されたWCA内の同じ幾何学的領域を占有する新しいトグル[C]に基づく変化を理解することができる。
【0196】
しかしながら、多くの場合、差分アナライザ37361は、それが何であるかについての変化を認識することができない場合がある。これを解決するために、システム200はまた、編集者(ベンダまたはユーザ)が編集プロセスに関連してマージヒントを指定する能力を提供してもよい。したがって、上記の例では、編集者は[A]と[B]が[C]を形成するようにマージされたことを明示する。
【0197】
マージヒントの代わりに、システム200は、特定のコンポーネントまたは他のトリガ(画像内の「アクティブ領域」など)を、(例えば)何らかのWCAコードをアクティブ化する所与のイベントに結び付けるアクティブなセマンティックタグをサポートしてもよい。例えば、編集ユーザに、ビデオ再生機能に関連するアクティブなセマンティックタグを用いて、複数のオブジェクト(例えば、「再生」ボタン[X]およびUI画像[Y])を手動で割り当てさせる。
【0198】
そのようなヒントおよびタグ(および結果として得られる理解)は、変更適用器3738によって使用され得ることが(以下でさらに詳細に説明されるように)理解される。例えば、この知識に基づいて、変更適用器3738は、(上述のシナリオでは)[A]および[B]に使用される新しい色を[C]にも適用することができる。
【0199】
上述したように、WCAのマージされたバージョンのW2aを作成するとき、WCAマージャ3736は、ベンダセット(W1からW2)およびユーザセット(W1からW1a)の2つのセットの変更をマージすることを要求され得る。これらの2つの変更セットは、コンフリクトする変更を含み得る(およびしばしば含む)。たとえば、オブジェクト[X]の特定の属性[a]は、1つの変更セットの値[a=v1]に設定され、2つ目の変更セットの値[a=v2]に設定される。上述したように、オブジェクト/コンポーネント属性は、設計関連属性、コード関連属性、および他のクラスの属性を含むことができる。例えば、2つの変更セットには、特定のリスト表示フィールド[X]の「ソースデータ」属性に使用される2つの異なるデータベーステーブルの割り当てが含まれる場合がある。
【0200】
コンフリクトは、コンポーネントまたはそのサブ要素の実際の存在にも関係し得る。たとえば、1つ目の変更セットでは、所与のオブジェクト[X]の一部の属性[a、b]が設定され、2つ目の変更セットでは、[X]が完全に削除されたことが指定される場合がある。このような2つのセットは明らかに矛盾している。
【0201】
また、衝突または互換性のない属性または挙動を有する複数のコンポーネントが関与するコンフリクトが生じることがある。例えば、1つ目の変更セットでは、所与のコンポーネント[X]が、WCA内の所与の(現在は空の)スクリーン領域[r]に移動された。2つ目の変更セットでは、異なる成分[Y]が同じ領域[r]に移動された。理論的には、2つの成分[X]および[Y]を[r]に表示することができるが、それらの一方は他方と重なり合う。別の例として、2つの変更セットは、オブジェクトとその包含オブジェクトの色を、同一または非常に類似した色に変更し、2つのオブジェクトを視覚的に「混合」させることができる。
【0202】
別のコンフリクト領域は、動的挙動または機能性である。たとえば、バックグラウンドで(個別の)音楽ファイルを再生する独自の時間ベースのトリガを含む各変更セットが含まれる。これは、音楽が各時間トリガで開始するための明確な(かつ相互に排他的である)条件がある場合に、いくつかの場合に機能することができる。ただし、2つの音楽ファイルを同時に再生することは、一般的なユーザにとっては機能しない場合がある。
【0203】
WCAマージャ3736は、収集された情報(編集履歴やビジネスインテリジェンス(BI)など)だけでなく、現在の情報(コンポーネント階層、構造、セマンティクス、ジオメトリ、関連コード定義など)を含む、WBSおよびその様々なリポジトリで利用可能な情報に適合され、かつ、当該情報を使用するスマートマージプロセスを使用してもよい。
【0204】
典型的な実施形態のシステム200では、WCA開発者64によって行われた変更が、ユーザ(例えば、サイト設計者62)によって行われた変更よりも優先され得るので、WCAマージャ3736による2つの変更セットの処理は、対称ではないことが理解される。これは、WCA開発者64の変更が、非常に実質的であり得る(例えば、WCAの完全に新しいバージョンをリリースする)一方で、ユーザの変更は、範囲がより小さくなるか、またはより表面的になる傾向があるので、典型的に推奨される。
【0205】
上述したように、差分アナライザ37361は、ユーザ変更セット(W1からW1a)を分析することができる。次いで、変更適用器3738は、これらの変更をWCAの新しいバージョン(上記の例ではW2)に再適用することができ、コンフリクトリゾルバ37362は、コンフリクトする変更が検出されるときはいつでもコンフリクトを解決することができる。コンフリクトのそのようなマージ/再適用および処理は、以下に詳述するように、いくつかの方法(またはそれらの組合せ)で行うことができることが理解される。
【0206】
コンフリクトリゾルバ37362は、WCA開発者64の変更セットからの変更とコンフリクトするときはいつでも、ユーザ変更セットからの変更を単に破棄することができる。したがって、ベンダ変更セットは、ユーザ変更セットを完全にオーバーライドする。
【0207】
コンフリクトリゾルバ37362は、ユーザと対話的に相談して、各コンフリクトを解決する方法を決定することができる。コンフリクトリゾルバ37362は、手動インタラクションに支援および自動化の要素を追加することもできる。これは、例えば、現在のユーザ(または他のユーザ)に対する応答を追跡し、収集された応答およびそれらの分析に基づいてコンフリクト処理のための推奨を徐々に提供することによって実施することができる。
【0208】
上述したように、ML/AIモジュール379は、CMS50から抽出された情報に基づいて、マージプロセス中のコンフリクト解決のための意思決定サポートを提供することができる。
【0209】
マージAI/MLモジュール3795は、そのようなコンフリクト解決のためのそのような推奨を提供することができることが理解される。したがって、システム200がますます使用されるにつれて、マージAI/MLモジュール3795は、変更のマージに関するより良い推奨をユーザに提供することができる。また、追加のユーザ応答の分析および使用は、解決されたコンフリクト(例えば、ベンダおよびユーザ変更が関与するもの)またはユーザ自身(例えば、米国特許第10,073,923号に記載されているような地理、経験など)に関連するパラメータに従って、他のユーザの回答の分類に基づいて行うことができることが理解される。ML/AIモジュール379はまた、ユーザの関与なしにマージ推奨を直接適用するために、WCA修正ハンドラ373とのインタフェースを提供してもよい。マージAI/MLモジュール3795は、既知の機械学習/人工知能アルゴリズムを使用して動作してもよく、または任意の決定エンジン技術を使用してもよいことが理解される。
【0210】
さらに別のオプションでは、ベンダの新しいバージョンのW2は、ユーザ変更受諾(UCA)規則のセットを含むことができる。これらの規則(CMS50に格納されてもよい)は、ユーザの変更セットに含まれる変更のうちのどれがW2に適用されるべきか、およびどちらの方法で適用されるべきかを制御してもよい。規則は、すべてのユーザの変更に適用される場合と、コンフリクトするユーザの変更にのみ適用される場合がある。規則は、関連するオブジェクトおよび属性、属性値(オリジナルまたはいずれかの変更セット)、適用されるユーザまたはベンダの変更の性質、(もしあれば)コンフリクトの性質、変更および既存のバージョン情報の両方の基礎となる編集履歴のパラメータ、ページ/WCA情報など、任意のシステム態様に関する条件を含むことができる。
【0211】
1つの極端な例は、W1の主要なアップグレードまたは再設計であるW2のバージョンである。このような場合、W2は「すべてのユーザ変更を破棄する」UCA規則でリリースされる可能性がある。これは、W1に対するユーザによる変更のいずれも、大量に変更されたW2に関連する(または技術的に適用可能である)ことが予期されないためである。このシナリオでは、W1aのすべてのインスタンス(すべてのユーザの)は、変更されていないW2にリセットされる。つまり、すべてのW2のインスタンスを「出荷時設定」状態に戻すことになる(ただし、W2の更新では、W2のインスタンスがリセットされない一部のユーザに対して一部の例外が定義されている場合がある)。
【0212】
UCAルールの別の例では、システム200は、コンフリクトするベンダの変更をオーバーライドするために、限定されたタイプのユーザ変更を可能にしてもよいが、そうでなければ、ベンダの変更を使用することになる。例えば、システム200は、いくつかの設計関連のユーザの変更(例えば、色またはフォント)がベンダの変更をオーバーライドすることを可能にし、他のユーザの変更がコンフリクトするベンダの変更をオーバーライドすることを防止することができる。
【0213】
さらに別の例では、UCA規則は、変更の詳細またはパラメータに基づく条件を含むことができる。例えば、UCA規則は、変更適用器3738に、WCAのサブ要素のサイズおよび位置にユーザ変更を適用するように指示することができるが、これらの変更がWCAの基本的な視覚的構造を壊さないように限定される場合に限られる。
【0214】
別の例として、システム200は、WCA統合(どのデータベースが使用されているか、どのデータベースが他のコンポーネントへインタフェースするかなど)に関連するユーザの変更を可能にして、一致するベンダの変更をオーバーライドすることができる。このようにして、新しいW2aのバージョンは、適切なデータソースとインタフェースにすでに接続されている収容ページに組み込むことができる。
【0215】
上述のように、WCAは、サブ要素(フロントエンドコード、バックエンドコード、UIコンポーネントなど)のセットとして記述されてもよく、その各々は、オブジェクト/コンポーネント(例えば、ウェブサイト構築システムコンポーネント)の階層からなり、その各々は、属性の階層を有する。WCAバージョン間の差異のセットも同様に構造化され、構造は変更セットの自然な階層モデルを定義する可能性がある。
【0216】
しかしながら、変更適用器3738は、単純化されたモデルに基づいて、変更をより大きなエリアまたはグループに分類することもできる。たとえば、WCAの変更を、一般的な領域(レイアウト、データ、フロントエンドコード、バックエンドコードなど)またはWCA固有の領域(WCAの特定のサブ領域など)に分類する。
【0217】
システム200は、ユーザが、上記の完全な階層構造モデルを使用して、または単純化された領域を使用して、どの変更を適用すべきか、およびどのように領域ごとに(例えば、所与の領域内のすべての変更について一緒に)適用すべきかを決定することを可能にすることができる。
【0218】
例えば、WCA修正ハンドラ373は、WCAのビジュアルレイアウト(すなわち、ビジュアルサブ要素のセットおよびレイアウト情報)をWCAコードとは別に更新することができ、それにより、WCAユーザ(サイト設計者)は、自分のWCAインスタンスを、それらのうちの1つ(レイアウト/コード)の新しいバージョンに更新することができるが、もう1つは更新することはできない。
【0219】
システム200はまた、エリアに基づいて(上述したように)UCA規則を実装することができる。例えば、WCA開発者64は、設計および位置ベンダの変更(すなわち、新しい「公式」のW2のバージョンで使用される設計および位置)を保持しながら、データ/コンテンツのユーザ変更を自動的に適用するUCA規則のセットを定義することができる。
【0220】
コードに対するレイアウト/設計/構造の更新に関して、システム200は、複数のオプションを提供することができる。例えば、システム200は、ユーザが、以前のルックアンドフィールを保持するか、新しいルックとマージするか、または公式のルックアンドフィールにスナップするかを選択することを可能にし得る。UCA規則は、これらのオプションのいくつかが利用できない可能性がある(例えば、バージョンがコード互換性を壊すか、又はスキップするには重要すぎるため、ユーザは新しい設計に移行することを要求される)と規定することができる。
【0221】
変更適用器3738はまた、(米国特許第10,185,703号に記載されているように)動的レイアウトを使用して、(例えば、挿入、削除、および修正されたサブコンポーネントをサポートするためにレイアウトを再配置することによって)修正されたWCA要素のマージをサポートする可能性がある。
【0222】
したがって、差分アナライザ37361が2つの変更セットを決定すると、変更適用器3738は、上記の方法の任意の組合せ(UCA規則の使用など)を適用して、いずれのセットの変更を適用するかを決定し、どの順序で(変更が推移的でない可能性があるので)、コンフリクトリゾルバ37362は、コンフリクトを処理することができ、変更適用器3738は、W1aを置き換えて、ページに配置されるマージされたWCAインスタンス(上記の例ではW2a)を生成することができる。
【0223】
単一のウェブサイトまたはアプリケーション(および実際には単一ページ)は、1つ以上のWCAの複数のインスタンスを含む可能性があり、更新/マージプロセスは、各WCAインスタンスを置き換えるマージされたWCA(上記のW2a)の異なる設定をもたらす可能性があることが理解される。
【0224】
システム200の一実施形態は、そのユーザによってWCAに行われた実際の変更についてWCA開発者64へのフィードバックを提供することができ、したがって、後方互換性を改善するために変更するときに行われる必要があることを見ることができることが理解される。これは、更新によってどれだけの機能が破られるかを見て互換性ガイダンスを提供するために、サイト設計者62によって行われた実際の変更に対して、WCA開発者64が潜在的なWCA更新をテストすることを可能にすることを含むことができる。
【0225】
フィードバックプロバイダ374は、情報を収集し、ユーザパラメータ(例えば、地理、経験レベル)、サイトパラメータ(サイズ、WCA人気度、所与の特定のWCAパラメータ、プレミアムパッケージタイプなど)、サイト使用情報(ユーザの数、サイトランキング/人気度、ビジネスタイプ/ファミリ、サイトビジネスボリューム、WCAへの実際の視聴者のアクセスなど)およびそれ以上に従って、そのようなWCAインスタンス変更に関する分析を提供することができる。この情報は、WCA CMSコーディネータ350を介してCMS50から適宜取得することができる。
【0226】
検出されたコンフリクトまたは衝突の分析は、多面的であってもよく、例えば、設計/視覚的衝突、例えば、WCAユーザが、(ウィジェットWCAの特定の未使用領域を占有する)新しいコンポーネントを追加することによってインスタンス内のWCAを修正したこと、およびWCA開発者64も、同じまたは重複する未使用領域内にコンポーネントを追加することを望むことのうちのいずれかを含んでもよい(そのうちのいくつかは、上述したようなマージコンフリクトのタイプであってもよい)。また、分析は、機能に関連し、APIに関連したものであってもよい。例えば、本質的には視覚的ではないコンフリクトのチェック(要素Xは要素Yと重複する等)であるが、既存のAPIを破る更新、又はWCAによって実行された特定の機能を破る更新に起因するものであってもよい。たとえば、上級ユーザがWCAの2つのサブ要素間でAPIを変更し、WCAの更新に同じAPIに対する異なる(およびコンフリクトする)変更を含めることができる。
【0227】
フィードバックプロバイダ374は、「これは、修正されたWCAが平均的にどのように見えるかである」の1つまたは複数の変形を構築するために、標準クラスタリングアルゴリズムを使用するクラスタリング分析を使用することもできる。フィードバックプロバイダ374は、変更をフィルタリングして統一することもでき、例えば、バージョンの非互換性を生み出す可能性が低い単なるレイアウト変更(コンポーネントの移動/サイズ変更)をフィルタリングして除外することもできる。
【0228】
上述したように、システム200は、ゴースト及びマスカレード技術を使用することもできる。これらは、サイト設計者62が、コードの中断を即座に引き起こすWCA要素またはコンポーネントを変更する場合、またはWBSベンダ61からの更新が中断を引き起こす場合に適用可能である。ゴーストモジュール375およびマスカレーダ376は、これらの中断が行われると、これらの中断を補償することができる。
【0229】
ゴーストは、WCAモジュール300(すなわち、WCAサイトビューア320、インサイトエディタ330、および以下でより詳細に説明するゴーストモジュール375によって指示される他のものなどの複数の部分)が、WCAのコードを実行し、サブコンポーネントが特定のWCAインスタンスから除去された場合であっても、WCAが機能することを保証する能力を表す。例えば、ユーザは、ビデオプレーヤインスタンスから「再生」ボタンを除去したかもしれないが、WCAコードは、実際のWCAインスタンスには存在しないにもかかわらず、そのコンポーネントの「ゴースト」バージョンに対して引き続き動作するであろう。
【0230】
上述したように、(サイトを構築するときに)WCAを使用する設計者62は、インスタンスレベルでWCAを更新することができ、そのような更新は、内部WCAコンポーネントの削除を含むことができる。ゴーストモジュール375は、以下でより詳細に説明するように、除去された(典型的には内部の)コンポーネントをシミュレートする(「ゴースト化」としても知られる)ことによって、そのような変化にもかかわらず、コード機能が保持されることを保証することができる。ゴーストモジュール375は、格納またはWCAネスティングのレベルにわたってこれを実行することもできる。例えば、WCA Aは、WCA ABを含むことができる。サイト設計者62は、自分のサイトWにWCA Aを配備するが、その内部のWCA ABを除去することができる。ゴーストモジュール375は、WCA A(およびそのサイトWを含む)が適切に機能し続けるように、必要なシミュレーションを提供してもよい。これは、WCAネスティングの追加レベルでも発生する。
【0231】
いくつかのシナリオでは、WCA開発者64は、設計者62がこのコードにアクセスしたり変更したりすることを禁止して、WCAコードをカプセル化してもよいことが理解される(これは、例えば、設計者がこのコードを破ることを防止して、コードに詳細に記載されている企業秘密へのアクセスや、何らかの理由でアクセスキーにアクセスしないようにするためである)。
【0232】
他のシナリオでは、WCA開発者64は、設計者62による更新のためにWCAコードを開くことができ、設計者62は、WCAに含まれるコンポーネントに対する変更と並行してWCAのコードを更新することができる。しかしながら、これらの場合であっても、設計者62はコードの更新を控えることができる(なぜなら、設計者はそうする技能を欠いている可能性があるからである)。
【0233】
いくつかのシナリオでは、例えば、WCA Xが、WCA Xコンポーネントのセットに存在しないコンポーネントCを参照する場合、WCA構造とコードとの間に不一致が生じる可能性がある。これは、設計者62がWCA XでCを削除した場合や、WCA Xのコードのn個の変更されたバージョンv2が既存のv1コードを置き換えてインストールされており(Xのコンポーネントセットを並列に更新せずに)、v2コードが既存のXコンポーネントのセットにv2で追加された新しいコンポーネントCを使用している場合などに発生する。
【0234】
これは、複数のコンポーネントを同時に使用しても起こり得、すなわち、ゴーストモジュール375は、同じWCA内の複数のコンポーネントをゴーストするために必要とされ得る。このプロセスの下で、ゴーストモジュール375は、そのような欠落したコンポーネントの挙動のいくつかをシミュレートすることができ、コンポーネント自体が欠落している場合でも、それらを参照するコードが動作を継続することを可能にする。
【0235】
例えば、WCAに埋め込まれたコードは、(現在欠落している)画像のサブコンポーネントXXの存在を想定し、そのソースを次のようなコードステートメントを介して設定することができる。
【0236】
XX.image.source=“xx.jpg”
【0237】
ゴーストモジュール375は、(画像コンポーネントが除去された場合)何をするかを決定するためのWCA一般定義を使用することができ、WCAインスタンスで利用可能な情報だけに依存する必要はない。ゴーストモジュール375はまた、以下でより詳細に説明するように、サイト経験(すなわち、CMS50に格納されたWCAの実際の挙動および使用履歴)などの追加の情報源を使用することもできる。
【0238】
別の実施例として、現在のインスタンスで削除されたコンポーネントの値を使用しようとするとき、ゴーストモジュール375は、そのような値がフィールド内のユーザに一般的に示されていない場合であっても、元のWCA定義からのデフォルト値を使用してもよい。
【0239】
ゴーストモジュール375はまた、元のWCA、サイト自体、および場合によってはWCA開発者64によって指定された明示的なヒントからの欠落しているコンポーネントに関する実質的な情報を有する可能性がある。ゴーストモジュール375は、編集履歴およびビジネスインテリジェンス(現在のサイト、および場合によっては、同じWCAを使用するサイトなどの他のサイトのためのもの)を使用することもできる。ゴーストモジュール375は、このような収集された情報を分析するためにAI技術を使用することもできる。例えば、システム200は、AIモデルを、所与のコンポーネントの挙動、すなわち、それが生成する出力、およびそれが機能する条件(所与の特定の入力またはその他)の下でトレーニングすることができる。そのようなモデルは、コンテキスト情報(例えば、WCAおよびサイトを含むことに関する詳細)、ユーザパラメータ、サイトパラメータ、およびCMS50内の他の情報を用いて訓練され得る。次いで、AIモデルは、ゴースト成分(入力応答、例外出力等)のシミュレーションを駆動するために必要な情報を提供することができる。
【0240】
(現在削除された)コンポーネントに対して作成されたこのような派生情報および挙動は、欠落しているコンポーネントのタイプ、その特性、そのデフォルト値、およびデフォルト値での挙動を含み得ることが理解される。また、コンポーネントの編集時属性(データ、レイアウト、デザイン)、実行時API(プロパティ、関数、イベント)を含めることもできる。
【0241】
通常、ゴーストは編集プロセスの一部として実行される。これは、欠落しているコンポーネントを使用する可能性がある関連コードが作成される時点である。典型的な実施形態では、ゴーストモジュール375は、関連コードが対抗して動作するための「モデル」(サイト要素を表す)を作成する。
【0242】
ゴースト要素が必要とされるとき、ゴーストモジュール375は、欠落している要素の元の定義、構造、および属性を取得し、それらがコヒーレント(例えば、missingElement.hide()は、要素がうまく隠されたかのように返すなど)を保つようにAPIのいくつかがどのように動作するかをシミュレートすることができる。
【0243】
ゴーストモジュール375は、元の「マスタコピー」(すなわち、WCA開発者64によって提供されるような修正前のWCAである「工場設定」)、コンポーネントの実際のバージョン、およびそれが削除される前にサイト上のコンポーネント内にあったデータ、または2つのマージされたバージョンなど、多数のソースから必要な情報を検索することができる。
【0244】
他の実施形態では、ゴーストモジュール375は、それに関する収集されたデータに基づいてコンポーネントの挙動を提供することができる(関連するWCAおよびシミュレートされたコンポーネントの様々なインスタンス上での実行時の挙動を観察することを含む)。
【0245】
ゴーストに関連する機能において、システム200は、WCAユーザがWCAから削除されたコンポーネントを再設定することを可能にするユーザインタフェースを提供することができる。したがって、ユーザは、現在のWCAインスタンスで削除されたWCAコンポーネントを選択し、それらの「工場設定」または削除されたときにコンポーネントによって使用される設定およびコンテンツに基づいてそれらをWCAに戻すことができる。
【0246】
マスカレーダ376は、所与のタイプのコンポーネントが、「マスカレーディング」として知られる別のタイプのコンポーネントとして挙動する能力を提供することができる。したがって、マスカレーダ376は、交換された要素と、必要に応じて(例えば、交換された要素の環境によって)それを交換する要素との間の互換性を保護することができる。
【0247】
一例として、ユーザは、内部WCAコンポーネントのタイプをタイプAからタイプBに変更する(例えば、ギャラリタイプをスライダギャラリからマトリクスギャラリに変更する)。また、別の例としては、ピクチャギャラリコンポーネントを、ギャラリ表示を有しないが、「アイテムのリスト」機能を依然として提供することができるデータベースコンポーネントに置き換えることである。
【0248】
マスカレーダ376は、(上記の例では)2つのギャラリタイプを実装するコードによって提供される特定の変換ドライバを使用するなど、システム200内の様々な要素とコンポーネントタイプとの間のインタラクションのための変換機能を提供することができる。したがって、マスカレーダ376は、Bタイプコンポーネント(新しいタイプ)に、いくつかのまたはすべての関連するインタラクションのためのAタイプコンポーネント(古いタイプ)としてマスカレードする能力を提供することができる。このような変換ドライバは、様々なコンポーネントによって実装される入力および出力メッセージおよびイベントを変換することができ、また、共通または標準化されたメッセージおよびイベントフォーマットを実装することができる。上記の例では、マスカレーダ376は、共通のギャラリメッセージおよびイベントフォーマットのセットを定義することができ、ギャラリコンポーネントを他のタイプのギャラリコンポーネントとしてマスカレードさせるために、特定の変換ドライバを使用することができる。マスカレーダ376は、CMS50内の、包含されるWCAおよびサイト、ユーザパラメータおよび他のシステム情報に関連するパラメータおよび情報に基づいて、変換されたメッセージおよびイベントの追加の変換および修正を実行することができる。
【0249】
ユーザによる明示的なタイプ変更に加えて、マスカレーダ376は、コンポーネントが別の関連コンポーネントであるかのように機能する(マスカレードする)ことが要求される可能性がある他の場合のインタラクションの変換機能を提供することができる。例としては、それらの定義された役割を介して関連する2つのコンポーネント(例えば、画像とボタンの両方に「プレーボタン」という役割が割り当てられることがある)を含んでいてもよい、2つのコンポーネントは、共通の機能または能力のセットを共通の原型から継承することによって関連する。一例としては、(他の点が異なっていても)継承ではあるが、「プロダクトギャラリ」の機能をサポートするコンポーネントXとYなどである。
【0250】
上述したように、ML/AIモジュール379および、特に要素の挙動であるML/AIモジュール3794は、コンポーネントおよびコード挙動を学習し、必要なコンポーネント/コードの挙動および情報変換を提供することによって、ゴーストモジュール375およびマスカレーダ376の機能をサポートすることができる。
【0251】
ここで、Wix.com、LtdによるWixプラットフォームの一部として、WCAインサイトエディタ330内のWCAを操作するための例示的なユーザインタフェースを示す図13A図13Eを参照する。
【0252】
図13Aは、サンプルストックチャートWCAを示す。
【0253】
図13Bは、WCA固有の設定ダイアログが開いているサンプルストックチャートWCAを示し、サイト設計者61が、このWCAによって使用されるストック記号(WIX)および変更警告閾値(2%)を指定することを可能にする。
【0254】
図13Cは、「percentChange」のサブコンポーネントが削除され、「Add elements」のダイアログが開かれ、削除された要素が復元されるか、または最新の公式な外観が適用されることを可能にする、サンプルストックチャートWCAを示す。
【0255】
図13Dは、それ自体のWCA固有の設定のダイアログが開いている(都市および国を含む)サンプル気象WCAを示す。
【0256】
図13Eは、温度を表示するテキストフィールドに焦点が当てられているサンプル気象WCAを示す。テキストフィールドには、通常の「テキスト編集」オプションと「データに接続」オプションがある。
【0257】
上記で説明したように、WCA開発者64は、新しいWCAバージョンが通常バージョン(ユーザの変更によって変更される可能性があるもの)である場合、または以前のWCAバージョンと下位互換性がないメジャーアップグレードである場合、(適切なUCAルールを設定することによって)設定することができる。メジャーアップグレードは、WCAユーザ(すなわち、サイト設計者62)に、(この場合、新しいバージョンに基づいて)修正されていない「工場設定」のWCAバージョンに戻ることを強制することができる。
【0258】
シナリオによっては、構造を更新せずに(すなわち、構造をバージョン1または修正バージョン1aのままにして)、コードをバージョン1からバージョン2に更新することをユーザが選択することがある。バージョン1の構造は変更されていないため、WCAにバージョン2の構造の一部の要素が欠落している可能性がある。このような場合、ゴーストモジュール375はクリックインし、バージョン2のコードによって要求されるゴーストフィールドを提供することができる。したがって、コードは欠落しているコンポーネントを参照できる。
【0259】
ゴースト化のための情報の収集は、WCA開発者64によるWCA構築および試験段階中にも有用であることが理解される。WCA設計者は、WCAを構築する間に、WCAコードをプレビューして実行することを望むことができ、他の実施形態では、システム200は、WCAのためのテスト環境を提供することができる。
【0260】
WCAサブコンポーネントによって行われる特定のインタラクションについての情報を収集するシステム200の能力は、WCAが現実的にテストされることを可能にし得る。そのようなテストは、サブコンポーネントに関連付けられたインタラクションのストリーム、ならびにWCAがどのように実行されるか(どのユーザがログインしているか、どの役割、地理的位置など)を決定する他の環境的側面を含むことができる。
【0261】
システム200は、ユーザがWCAインサイトエディタ330を介して、そのようなインタラクションおよび環境情報を提供することを可能にしてもよく、または、WCAアプリビルダ360は、追加または代替データを用いてWCAをテストするために適切な値を生成してもよい。
【0262】
WCAインサイトエディタ330およびWCAアプリビルダ360は、可能なフィールドオプションのデータマイニングを介して接続するために、関連データベース内の潜在的なフィールドを提供することによって、編集中にデータベース接続を作成するためのサポートも提供することができる。データベースコネクタ377は、同じユーザまたは同じWCAの他のユーザによって行われたフィールドタイプおよび以前の接続をチェックすることができる。これは、WCA開発者64によるWCA作成時に行われてもよい。WCA設計者62は、WCA内の要素を、それに渡されたプロパティの値にバインドすることもできる。例えば、プロパティ「都市名」は、都市の名前を示す気象WCA内の要素にバインドされてもよい。WCA設計者62は、WCA内の要素を、WCAと共にパッケージ化され、インストールされているデータベース(「コレクション」とも呼ばれる)からのデータにバインドしてもよい。これは、ユーザによるWCAの使用時間中に行われる可能性がある。
【0263】
WCAユーザは、WCAのプロパティをデータベースからの値にバインドして、実行時に値がWCAに渡されるようにすることができる。たとえば、ウェブサイトは、都市の詳細を示す動的ページを有することができ、そのページに配置された気象WCAの都市プロパティは、サイトのデータベース内の都市名にバインドされる。
【0264】
上述したように、コレクションとして知られるいくつかのデータベースは、WCA自体とバンドルすることができる。コレクションは通常、小規模なデータベースである。大規模なデータベースは通常、ウェブサイト構築システムのサーバ、WCAプロバイダのサーバ、または個別の外部サーバから提供され、表示されるページに含めることはできないためである。
【0265】
したがって、データベースはインストールされたWCAインスタンスに固有である可能性がある。つまり、WCAインスタンスごとに個別のコピーが存在する可能性がある。データベースは、WCAを含むページに含めることができる(これは通常、小規模なWCAで発生する)。また、データベースはウェブサイト(または関連ウェブサイトのセット)に固有であり、同じウェブサイト(または関連サイト)内のWCAの複数のインスタンス間で共有されたり、WCAに汎用的であり、WCAの複数のインスタンス(おそらく複数の無関係ウェブサイトから)からアクセス可能であったりすることも可能である。
【0266】
データベースコネクタ377は、所与のデータベース内のデータ量を追跡し、ユーザに(内部)コレクションを(外部)データベースに変換すること、またはその逆を推奨し、両方向でシームレスな変換を提供することができる。
【0267】
上述したように、WCAは、その機能にアクセスするAPIによって特徴付けることができる。APIハンドラ378は、WCAユーザが、同一の(または類似の)APIを有する複数のWCA間を切り替えることを可能にし得る。システム200は、典型的には、WCAのデフォルト実装またはバージョンを提供することができ、(例えば、オブジェクトマーケットプレイス15を介して)代替のWCAを提供することもできる。
【0268】
WCAアプリストアマネージャ315は、システム200のアプリストア(または別のオブジェクトマーケットプレイス15の実施形態)を検索するときに、(設計/スタイルマッチングまたは他のパラメータに基づいて)包含ページに適合するなど、API適合によるそのような選択を、他のWCAパラメータによる選択と組み合わせることができる。
【0269】
例えば、店頭のeコマース業界のクリエータは、製品詳細を表示するために特定の製品WCAを含むことができる。垂直アプリケーションを使用するサイト設計者62は、オリジナルのものと交換可能に使用することができる代替製品ウィジェットを、関連するAPI呼び出しが両方に存在する限り、見つけることができる。
【0270】
したがって、すべての異なるタイプのサブ要素およびコードを含むWCAは、コピーされ、修正され、操作され得る。これは、マージされた異なるバージョンを有することができ、ゴーストおよびマスカレーディング技術を使用することによって、要素/コードが除去または変更された後に機能を継続する能力を有することができる。
【0271】
特に明記されない限り、本明細書全体を通して、「処理する」、「計算する」、「算出する」、「決定する」などの用語を使用する議論は、クライアント/サーバシステム、モバイルコンピューティングデバイス、スマートアプライアンス、クラウドコンピューティングユニット、またはコンピューティングシステムのレジスタおよび/またはメモリ内のデータを、コンピューティングシステムのメモリ、レジスタ、または他のそのような情報記憶、送信、または表示デバイス内の他のデータに操作および/または変換する類似の電子コンピューティングデバイスなど、任意のタイプの汎用コンピュータの動作および/またはプロセスを指すことが理解される。
【0272】
本発明の実施形態は、本明細書の動作を実行するための装置を含むことができる。この装置は、所望の目的のために特別に構築されてもよく、または、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成される、典型的には少なくとも1つのプロセッサおよび少なくとも1つのメモリを有するコンピューティングデバイスまたはシステムを備えてもよい。結果として得られる装置は、ソフトウェアによって命令されると、汎用コンピュータを、本明細書で説明されるような発明的要素に変えることができる。命令は、それが望まれるコンピュータプラットフォームと共に動作する本発明のデバイスを定義することができる。そのようなコンピュータプログラムは、光ディスク、磁気光ディスク、読出し専用メモリ(ROM)、揮発性および不揮発性メモリ、ランダムアクセスメモリ(RAM)、電気的にプログラム可能な読出し専用メモリ(EPROM)、電気的に消去可能およびプログラム可能な読出し専用メモリ(EEPROM)、磁気または光カード、フラッシュメモリ、ディスクオンキー、または電子命令を記憶するのに適し、コンピュータシステムバスに結合することができる任意の他のタイプの媒体を含むが、これらに限定されない、任意のタイプのディスクなどのコンピュータ可読記憶媒体に記憶することができる。コンピュータ可読記憶媒体は、クラウド記憶装置に実装することもできる。
【0273】
一部の汎用コンピュータは、データネットワークおよび/または移動通信ネットワークとの通信を可能にするために、少なくとも1つの通信要素を含んでもよい。
【0274】
本明細書で提示されるプロセスおよびディスプレイは、本質的に、任意の特定のコンピュータまたは他の装置に関連するものではない。様々な汎用システムが、本明細書の教示によるプログラムと共に使用されてもよく、または、所望の方法を実行するために、より特殊化された装置を構築することが便利であることが判明してもよい。様々なこれらのシステムのための所望の構造は、以下の説明から明らかになる。さらに、本発明の実施形態は、任意の特定のプログラミング言語を参照して説明されない。本明細書に記述されるように、本発明の教示を実装するために、様々なプログラミング言語が使用され得ることが理解される。
【0275】
本発明の特定の特徴が本明細書に例示され、説明されてきたが、多くの修正、置換、変更、および均等物が、当業者には想到可能である。従って、特許請求の範囲は、そのような修正及び変更全てを本発明の技術思想及び技術的範囲に含まれるものとして保護することを意図していることを理解可能である。

図1
図2A
図2B
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13A
図13B
図13C
図13D
図13E
【手続補正書】
【提出日】2021-07-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ウェブサイト構築システムであって、
ウェブサイトコンポーネントならびにウェブサイト構築システム構成可能アプリケーション(WCA)の定義およびインスタンスを記憶する少なくとも1つのデータベースであって、前記WCAが、カスタマイズ可能な要素のセットとしてもアクセス可能な単一のパッケージ化されたエンティティである、データベースと、
開発者が初期バージョンのWCAを構築および編集できるようにするWCAアプリビルダと、
ユーザが、前記初期バージョンのWCAの定義またはインスタンスの少なくとも1つを編集するための特定の編集機能を提供するWCAインサイトエディタと、
前記ユーザから前記初期バージョンのWCAに対する少なくとも1つの修正、および、前記開発者からの前記初期バージョンのWCAに対する少なくとも1つの更新を受信するWCAハンドラであって、変更されたWCAを作成するために、少なくとも前記少なくとも1つの修正と、前記少なくとも1つの更新との間でマージし、かつ、機能性のコンフリクトまたは損失をも解決して前記少なくとも1つの修正と、前記少なくとも1つの更新との間でパーミッションを処理するWCAハンドラと、
前記ウェブサイト構築システムの実行中に、前記初期バージョンのWCAおよび前記変更されたWCAの閲覧をサポートするWCAサイトビューアと、
を備えるウェブサイト構築システム。
【請求項2】
前記少なくとも1つのデータベースは、前記ウェブサイト構築システムにより構築されるウェブサイトのウェブサイトパラメータ、および、前記ウェブサイト構築システムのユーザのユーザ収集情報をも記憶し、
前記ユーザ収集情報は、地理的位置、言語、編集履歴および収集されたビジネスインテリジェンスのうちの少なくとも1つである、
請求項1に記載のウェブサイト構築システム。
【請求項3】
前記WCAハンドラは、
前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせの少なくとも1つにより、前記初期バージョンのWCAから削除された要素の結果として、前記変更されたWCAの動作を保証するゴーストモジュールと、
前記変更されたWCAの動作を保証するための前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせのうちの少なくとも1つの結果として、前記変更されたWCAの被置換要素と置換要素との間の互換性を保護し、かつ、ウェブサイトパラメータおよび前記ユーザ収集情報に基づく特定の変換ドライバを用いて、前記変更されたWCAの要素と、前記置換要素との間のインタラクションにおける変換機能を提供するマスカレーダと、
の少なくとも1つを有する、
請求項1に記載のウェブサイト構築システム。
【請求項4】
前記ゴーストモジュールは、
前記削除された要素の、元の定義、構造、および属性を取得すること、
前記ユーザ収集情報に基づいて削除された要素の挙動の一部または全てを提供すること、および、
前記削除された要素のアプリケーションプログラミングインターフェース(API)をシミュレートすること、
の少なくとも1つを実行する、
請求項3に記載のウェブサイト構築システム。
【請求項5】
前記初期バージョンのWCAと、前記ウェブサイト構築システム内の前記変更されたWCAとにおける管理サービスを提供するWCAマネージャと、
前記少なくとも1つのデータベースからの前記ウェブサイトコンポーネントと、ーザ収集情報とに少なくともアクセスするWCA CMSコーディネータと、
をさらに備え、
前記WCAハンドラは、前記WCAアプリビルダ、前記WCAマネージャ、前記WCAサイトビューア、前記WCAインサイトエディタ、および、前記WCA CMSコーディネータの間のアクティビティを調整する、
請求項1に記載のウェブサイト構築システム。
【請求項6】
前記WCAアプリビルダは、
WCAに関連する特定のカスタマイズパネルを構成して生成するカスタマイズパネルクリエータと、
WCAにおけるカスタマイズ可能な要素の定義の生成および編集を可能にするダイアログエディタと、
WCAの構造における繰り返し要素または階層要素を認識すること、前記カスタマイズパネルクリエータに対してWCAの静的ソース分析を実行すること、WCAにおけるランタイムパーミッションを決定するための静的ソース分析を実行すること、および、テンプレートコードを生成すること、
の少なくとも1つを実行するWCAアナライザと、
を有する、
請求項1に記載のウェブサイト構築システム。
【請求項7】
前記初期バージョンのWCAにおける前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを受信し、解決するWCA修正ハンドラと、
前記ゴーストモジュールおよび前記マスカレーダにおける機能性のコンフリクトおよび損失の解決のサポートを提供し、かつ、前記WCA修正ハンドラにおけるマージサポートを提供するために機械学習および人工知能技術を使用する機械学習(ML)/人工知能(AI)モジュールと、
アプリケーションプログラミングインターフェース(API)ハンドラであって、前記初期バージョンのWCAを、同一または類似のAPIを有する少なくとも1つの他のWCAに置き換えるAPIハンドラと、
前記WCAハンドラの実装および使用に関して警告を提供する警告プロバイダと、
情報を収集し、一般的なWCAのインスタンス変更に関する分析を提供するフィードバックプロバイダと、
前記少なくとも1つの他のWCAのユーザまたは他のユーザによって行われたフィールドタイプおよび以前の接続をチェックするデータベースコネクタと、
の少なくとも1つをさらに備える、
請求項3に記載のウェブサイト構築システム。
【請求項8】
前記WCA修正ハンドラは、
前記初期バージョンのWCAに対する、前記少なくとも1つの修正および前記少なくとも1つの更新を受信する更新受信器と、
APIプロパティおよびインタフェースを検出するために既存のWCAに予めパッケージされたAPIを分析し、かつ、前記WCAの変更されたバージョンにおけるマッチング設定パネルを生成するAPIアナライザと、
前記初期バージョンのWCAから前記変更されたWCAを生成するために前記少なくとも1つの修正および前記少なくとも1つの更新をマージするWCAマージャと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決する変更リゾルバと、
前記少なくとも1つの修正および前記少なくとも1つの更新にパーミッションの制限を決定し、かつ、適用し、前記変更されたWCAの実行時に必要となるパーミッションを決定するパーミッション決定器と、
前記WCAマージャ、前記変更リゾルバおよび前記パーミッション決定器に従って前記初期バージョンのWCAに対して前記少なくとも1つの修正および前記少なくとも1つの更新を適用して前記変更されたWCAを作成する変更適用器と、
を有する、
請求項に記載のウェブサイト構築システム。
【請求項9】
前記WCAマージャは、
前記少なくとも1つの修正と前記少なくとも1つの更新との間の変更セットを収集し、分析する差分アナライザと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決するコンフリクトリゾルバと、
を有する、
請求項に記載のウェブサイト構築システム。
【請求項10】
前記WCAマージャは、開発者ヒントまたはユーザヒントと、セマンティックタグと、決定エンジンの出力と、の少なくとも1つに従ってマージする、
請求項に記載のウェブサイト構築システム。
【請求項11】
ウェブサイト構築システムのための方法であって、
ウェブサイトコンポーネントならびにウェブサイト構築システム構成可能アプリケーション(WCA)の定義およびインスタンスを少なくとも1つのデータベースに記憶するステップであって、前記WCAが、カスタマイズ可能な要素のセットとしてもアクセス可能な単一のパッケージ化されたエンティティである、ステップと、
初期バージョンのWCAを構築および編集を、開発者に可能にするステップと、
ユーザが、前記初期バージョンのWCAの定義またはインスタンスの少なくとも1つを編集するための特定の編集機能を提供するステップと、
前記ユーザから前記初期バージョンのWCAに対する少なくとも1つの修正、および、前記開発者からの前記初期バージョンのWCAに対する少なくとも1つの更新を受信するステップと、
前記少なくとも1つの修正と、前記少なくとも1つの更新との間で少なくともマージするステップと、
機能性のコンフリクトまたは損失を解決し、前記少なくとも1つの修正と、前記少なくとも1つの更新との間でパーミッションを処理するステップと、
前記マージするステップ、前記解決するステップおよび前記パーミッションを処理するステップから、変更されたWCAを作成するステップと、
前記ウェブサイト構築システムの実行中に、前記初期バージョンのWCAおよび前記変更されたWCAの閲覧をサポートするステップと、
を有する方法。
【請求項12】
前記記憶するステップは、前記ウェブサイト構築システムにより構築されるウェブサイトのウェブサイトパラメータ、および、前記ウェブサイト構築システムのユーザのユーザ収集情報をも記憶するステップを含み、
前記ユーザ収集情報は、地理的位置、言語、編集履歴および収集されたビジネスインテリジェンスのうちの少なくとも1つである、
請求項11に記載の方法。
【請求項13】
前記受信するステップ、前記マージするステップ、前記コンフリクトを解決するステップおよび前記パーミッションを処理するステップは、
前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせの少なくとも1つにより、前記初期バージョンのWCAから削除された要素の結果として、前記変更されたWCAの動作を保証するステップと、
前記変更されたWCAの動作を保証するための前記少なくとも1つの修正、前記少なくとも1つの更新、および、それらの組み合わせのうちの少なくとも1つの結果として、前記変更されたWCAの被置換要素と置換要素との間の互換性を保護するステップであって、ウェブサイトパラメータおよびユーザ収集情報に基づく特定の変換ドライバを用いて、前記変更されたWCAの要素と、前記置換要素との間のインタラクションにおける変換機能を提供する、互換性を保護するステップと、
の少なくとも1つを有する、
請求項11に記載の方法。
【請求項14】
前記削除された要素の結果として、前記変更されたWCAの動作を保証するステップは、
前記削除された要素の、元の定義、構造、および属性を取得すること、
前記ユーザ収集情報に基づいて前記削除された要素の挙動の一部または全てを提供すること、および、
前記削除された要素のアプリケーションプログラミングインターフェース(API)をシミュレートすること、
の少なくとも1つを実行するステップを含む、
請求項13に記載の方法。
【請求項15】
前記初期バージョンのWCAと、前記ウェブサイト構築システム内の前記変更されたWCAとにおける管理サービスを提供するステップと、
前記少なくとも1つのデータベースからの前記ウェブサイトコンポーネントと、ーザ収集情報とに少なくともアクセスするステップと、
前記開発者に可能にするステップ、前記受信するステップ、前記マージするステップ、前記コンフリクトを解決するステップ、前記パーミッションを処理するステップ、前記管理サービスを提供するステップ、前記特定の編集機能を提供するステップ、前記閲覧をサポートするステップおよび前記アクセスするステップの間のアクティビティを調整するステップと、
をさらに有する、
請求項11に記載の方法。
【請求項16】
前記初期バージョンのWCAを構築および編集を、開発者に可能にするステップは、
WCAに関連する特定のカスタマイズパネルを構成して生成するステップと、
WCAにおけるカスタマイズ可能な要素の定義の生成および編集を可能にするステップと、
WCAの構造における繰り返し要素または階層要素を認識すること、前記特定のカスタマイズパネルを構成して生成するステップに対してWCAの静的ソース分析を実行すること、WCAにおけるランタイムパーミッションを決定するための静的ソース分析を実行すること、および、テンプレートコードを生成すること、
の少なくとも1つを実行するステップと、
を含む、
請求項11に記載の方法。
【請求項17】
前記初期バージョンのWCAにおける前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを受信し、解決するステップと、
前記削除された要素の結果として、前記変更されたWCAの動作を保証するステップにおいて、機能性のコンフリクトおよび損失の解決のサポートを提供するために機械学習および人工知能技術を使用し、かつ、前記コンフリクトを受信し、解決するステップにおいて、マージサポートを提供するステップと、
前記初期バージョンのWCAを、同一または類似のアプリケーションプログラミングインターフェース(API)を有する少なくとも1つの他のWCAに置き換えるステップと、
前記受信するステップ、前記マージするステップ、前記コンフリクトを解決するステップおよび前記パーミッションを処理するステップの実装に関する警告を提供するステップと、
情報を収集し、一般的なWCAのインスタンス変更に関する分析を提供するステップと、
前記少なくとも1つの他のWCAのユーザまたは他のユーザによって行われたフィールドタイプおよび以前の接続をチェックするステップと、
の少なくとも1つをさらに有する、
請求項13に記載の方法。
【請求項18】
前記コンフリクトを受信し、解決するステップは、
前記初期バージョンのWCAに対する、前記少なくとも1つの修正および前記少なくとも1つの更新を受信するステップと、
既存のWCAの予めパッケージされたAPIを分析し、APIプロパティおよびインタフェースを検出し、前記WCAの変更されたバージョンにおけるマッチング設定パネルを生成するステップと、
前記初期バージョンのWCAから前記変更されたWCAを生成するために前記少なくとも1つの修正および前記少なくとも1つの更新をマージするステップと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決するステップと、
前記少なくとも1つの修正および前記少なくとも1つの更新に対するパーミッションの制限を決定し、かつ、適用し、前記変更されたWCAの実行時に必要となるパーミッションを決定するステップと、
前記マージするステップ、前記コンフリクトを解決するステップおよび前記パーミッションの制限を決定し、かつ、適用するステップ、および、前記変更されたWCAを作成するステップに従って前記初期バージョンのWCAに対して前記少なくとも1つの修正および前記少なくとも1つの更新を適用するステップと、
を有する、
請求項17に記載の方法。
【請求項19】
前記少なくとも1つの修正と前記少なくとも1つの更新との間の変更セットを収集し、分析するステップと、
前記少なくとも1つの修正と前記少なくとも1つの更新との間のコンフリクトを解決するステップと、
を有する、
請求項18に記載の方法。
【請求項20】
前記マージするステップは、開発者ヒントまたはユーザヒントと、セマンティックタグと、決定エンジンの出力と、の少なくとも1つに従ってマージする、
請求項18に記載の方法。
【国際調査報告】