CN109597957A - 第三方应用通信api - Google Patents
第三方应用通信api Download PDFInfo
- Publication number
- CN109597957A CN109597957A CN201811316952.9A CN201811316952A CN109597957A CN 109597957 A CN109597957 A CN 109597957A CN 201811316952 A CN201811316952 A CN 201811316952A CN 109597957 A CN109597957 A CN 109597957A
- Authority
- CN
- China
- Prior art keywords
- party application
- page
- web hosting
- party
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 33
- 230000006854 communication Effects 0.000 abstract description 63
- 238000004891 communication Methods 0.000 abstract description 63
- 238000009826 distribution Methods 0.000 description 38
- 230000008859 change Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 13
- 238000010276 construction Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 238000009434 installation Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 239000000047 product Substances 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006690 co-activation Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 108010041420 microbial alkaline proteinase inhibitor Proteins 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
- Communication Control (AREA)
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
Abstract
一种用于网站建设系统的设备。所述设备包括:页面编写器,用于创建包含至少一个第三方应用的网站实例的页面;以及配置器,用于定义在所述页面和至少一个第三方应用之间或在所述至少一个第三方应用和至少一个其它第三方应用之间的双向通信反向信道。所述设备还包括协调器,用于在查看或访问所述页面时,根据所述通信反向信道协调通信。
Description
本申请是2014年2月10日提交的申请号为201480019592.X的同名专利申请的分案申请。
技术领域
本发明涉及尤其包含第三方应用的在线应用以及它们的使用。
背景技术
存在许多商业可用网站建设系统以及能够用于创建和编辑网站和其它在线应用的其它交互式应用建设工具。终端用户能够使用在多种不同平台(例如,常规的个人计算机、智能电话、平板计算机和其它台式或移动设备)上的客户端软件访问这种网站。
这些网站建设系统可以是不同的配置,例如完全在线网站建设系统,其托管(host)在与互联网连接的一个或多个服务器上,并且利用互联网通信协议(例如,超文本传输协议(HTTP))对其进行访问。创建、编辑和部署这些网站建设系统都是在线通过服务器直接工作执行的。
网站建设系统还可以部分在线或甚至有时完全离线。对于部分在线系统,在用户的机器上本地执行网站编辑并稍后将其上传到中央服务器或多个服务器进行部署。一旦上传,这些网站建设系统以与完全在线网站建设系统相同的方式起作用。
网站建设系统具有内部数据架构,以便在系统内组织数据和元素。该架构可能与用户所看到的正在讨论的网站的外部视图不同,并且还可能与将典型的超文本标记语言(HTML)页面发送给浏览器的方式不同。例如,内部数据架构能够包含页面上每个元素的额外属性(创建器、创建时间、访问许可、到模板的链接等),其对于编辑和维护网站建设系统内的网站是重要的,但是对终端用户(甚至对一些编辑用户)不是外部可见的。用于基于网站建设系统的网站的典型架构可以由包含组件(例如,形状组件、图片组件、文本组件、包含迷你页的单页面和多页面容器,等)的页面组成。
组件可以是无内容的(content-less),例如星形,其不具有任何内部内容(尽管其具有颜色、尺寸、位置和一些其它属性),或者可以具有内部内容(例如文本图形组件),其内部内容包括所显示的文本,以及字体、格式和布局信息。当然,该内容在文本图形组件的例子之间可以是不同的。
利用这种网站建设系统的设计者可以根据草稿(以空白屏开始)设计出新的创建,或者可以依赖于设计者自己、系统创建者或设计者团队所创建的预先定义的应用模板。网站建设系统可以支持仅仅是组件集合的模板,完成页面(或迷你页面)或者甚至是页面集合并完成网站。
当提供了应用模板时,设计者能够随意进行定制—添加、移除或修改模板的所有元件以创建他或她的版本的模板。可以通过创建可修改版本的模板(其与模板有区别且分离)来实现这种定制。可选地,网站建设系统可以通过继承类型机制(其保持到原始模板的链接)来应用定制,因此反应对模板做出的后期改变。
还可以利用第三方应用和嵌入其中的组件来扩展网站建设系统。这种第三方应用可以包含于网站建设系统设计环境中,或者可以单独地通过多个分布机构购买(或获得),例如从集成到网站建设系统中的应用程序商店(AppStore),或者从网站建设系统(WBS)供应商或另一实体所操作的单独的基于网络或独立的应用仓库(或AppStore)。第三方应用还可以直接从第三方应用供应商(通过或不通过AppStore)直接获得—这将提供实际的安装模块,或者仅是激活或访问代码。
第三方应用可以包括前端(显示)元件与后端办公元件(其不是视觉网站显示的一部分)的任意组合。第三方应用可以全部是后端办公(即,不包括显示元件)、全部是前端(即,仅在网站使用上下文中被激活)或者是两者的组合。
第三方应用的后端办公元件可以包括例如数据库通信、外部更新选项等的功能。例如,博客第三方应用可以包括后端办公元件,其允许从非人类源(例如,来自主要新闻服务的RSS新闻馈送)以及从与网站不相关的人类源(例如,允许提交博客条目的独立的智能电话应用)接收更新。
可以用多种方式实现将第三方应用的视觉元件集成到包含的网站。微件型(widget-type)第三方应用可以作为组件嵌入到网站页面中,而区段型第三方应用可以作为额外的一个或多个页面添加到网站。
此外,第三方应用(微件和区段)可以是单页面第三方应用或多页面第三方应用(其具有表示为内部URL结构的内部迷你页面)。系统可以实现任一个或所有四个可能的组合(微件或区段、单页面或多页面)。
多页面第三方应用通常提供默认的“登陆”迷你页面,其可以是开始页面、特定内部迷你页面(例如,在博客第三方应用中最近的博客条目)、迷你页面选择屏或一些其它的迷你页面。
通过第三方应用实例来实现在基于网站建设系统的网站中使用第三方应用。网站建设系统可以支持多个层级的第三方应用的多种使用,例如允许单个第三方应用实例在整个网站,允许多个第三方应用的实例创建于网站内部(但是不多于任意给定的第三方应用的一个实例),以及允许创建多个第三方应用的多个实例,但不多于每个给定页面一个实例。还可以允许组件第三方应用而不是区段第三方应用的每个页面多个实例,并且还可以允许创建多个第三方应用的多个实例,而没有对第三方应用实例的量、多样性或位置的任何限制。
第三方应用实例可以具有实例特定内容。例如,电子商店第三方应用可以具有与特定实例相关联的产品数据库,其不同于与相同电子商店第三方应用(在相同位置或其它位置)的其它实例相关联的产品数据库。
出于讨论的目的,包含第三方应用及其迷你页面或元件(即,“包装页面”)的网站页面(或迷你页面)应该被认为是包含网页并对于整个网站而言是主网站。显示给用户的集成页面(包括主页面和嵌入的TPA迷你页面/组件)应被称作组合页面。对于区段型第三方应用,包含第三方应用的“虚拟页面”将用作包含网络页面。
第三方应用通常部署在网站建设系统供应商服务器上、在第三方应用供应商服务器上、在外部(第四方)服务器上,或其任意组合。第三方应用还可以包括实际在终端用户机器上运行的元件,例如静态安装的浏览器扩展或在网站建设系统客户端代码中运行的动态运行JavaScript组件,如现在引用的图1所示。
网站建设系统供应商的服务器用作终端用户的接触点,并对应于请求(可能连接到第三方应用供应商的服务器上以接收所请求的信息)。网站建设系统例如当要求视频流时,可以创建客户端计算机和第三方应用供应商的服务器之间的直接连接(根据需要)。
所包含的第三方应用实例可以具有自己的内部内容,类似于常规组件包括内部内容的方式。第三方应用可以独立于网站建设系统管理以及利用网站建设系统所生成的网站来管理该内容,如现在引用的图2所示。(单个或多个第三方应用的)多个第三方应用实例可以具有共享的内容,例如在两个单独网站页面中的两个电子商店实例可以指同一产品数据库。
所包含的第三方应用的输出可以以多种方式集成到包含网络页面,例如:
服务器侧处理:在现在引用的图3中所示的该变型中,通过在第三方应用供应商的服务器[d]上运行的第三方应用服务器代码[c],合并第三方应用[a](包括设计和显示元件)和用户特定第三方应用数据[b]。它们被通过通信介质[e]发送到网站建设系统服务器代码[f],该网站建设系统服务器代码[f]将其与包含网络页面信息[g]合并,并随后发送它们以在用户客户端站[h]上显示。
客户端侧处理:在现在引用的图4中所示的该变型中,通过在第三方应用供应商的服务器[d]上运行的第三方应用服务器代码[c],合并第三方应用[a](包括设计和显示元件)和用户特定第三方应用数据[b]。它们被通过通信介质[e]发送到客户端侧处理组件[h]。网站建设系统服务器代码[f]将包含网络页面信息[g]发送给该客户端侧处理组件[h]。客户端侧处理组件[h]执行信息的两个源的合并,并向浏览器(或其它客户端代理)[i]呈现统一的应用。
iFrame包含:在现在引用的图5中所示的该变型中,通过在第三方应用供应商的服务器[d]上运行的第三方应用服务器代码[c],合并第三方应用[a](包括设计和显示元件)和用户特定第三方应用数据[b]。它们被通过通信介质[e]发送到在用户代理(例如,网络浏览器)[i]中运行的基于浏览器的应用[h]。网站建设系统服务器代码[f]将包含网络页面信息[g]发送给该基于浏览器的应用[h]。包含网络页面被实现为如下的网络页面,其包含包括来自第三方应用服务器[d]的内容的一个或多个iframe指示。额外的和可选的方法也是可以适用的。
发明内容
根据本发明的优选实施例,提供一种用于网站建设系统的设备。所述设备包括:页面编写器,用于创建包含至少一个第三方应用的网站实例的页面;以及配置器,用于定义在所述页面和所述至少一个第三方应用之间或在所述至少一个第三方应用和至少一个其它第三方应用之间的双向通信反向信道。所述设备还包括协调器,用于在查看或访问所述页面时,根据所述通信反向信道协调通信。
此外,根据本发明的优选实施例,所述设备实现于客户端上。
此外,根据本发明的优选实施例,所述设备实现于服务器上。
另外,根据本发明的优选实施例,所述通信反向信道是以下中的至少一个:HTML5(超文本标记语言5)PostMessage、消息的URL片段标识符、特定通信网络服务、HTML5本地存储、HTML5本地文件系统访问API以及特定浏览器插件。
另外,根据本发明的优选实施例,所述协调器利用iframe嵌入在所述页面中。
此外,根据本发明的优选实施例,所述至少一个第三方应用利用iframe嵌入到所述页面中。
此外,根据本发明的优选实施例,所述至少一个第三方应用是多部分第三方应用和模块化第三方应用两者中的至少一个。
此外,根据本发明的优选实施例,所述协调器包括配置管理器,用于监控预先定义的所述至少一个第三方应用实例。
另外,根据本发明的优选实施例,所述协调器包括智能标识符和寻址器,用于识别并转换所述通信的源或目标的符号地址和绝对地址。
此外,根据本发明的优选实施例,所述协调器包括通信策略实施器,用于在所述网站建设系统和所述至少一个第三方应用之间实施通信策略。
此外,根据本发明的优选实施例,所述协调器包括重定向器,用于在所述网站建设系统内将通信消息重路由到所述至少一个第三方应用以及从所述至少一个第三方应用重路由通信消息。
此外,根据本发明的优选实施例,所述协调器包括发起者验证器,用于验证来自所述至少一个第三方应用的消息的真实性。
另外,根据本发明的优选实施例,所述协调器包括协议转换器,用于解决在所述网站建设系统和所述至少一个第三方应用之间以及在所述第三方应用和所述至少一个其它第三方应用之间的协议兼容性问题。
此外,根据本发明的优选实施例,所述协调器包括动态布局更新器,用于更新以下之间的动态布局改变:至少一个所述页面和所述至少一个第三方应用、所述至少一个第三方应用和所述页面、以及所述至少一个第三方应用和所述至少一个其它第三方应用。
此外,根据本发明的优选实施例,所述协调器包括更新器,用于更新以下中的至少一个:所述网站建设系统的全局属性,所述至少一个第三方应用的控制许可,以及所述页面的元件的布局、风格和内容。
根据本发明的优选实施例,提供了一种用于网站建设系统的设备,所述设备包括:第三方应用接收器,用于从外部源接收至少一个网站建设系统模板,其中第三方应用与所述至少一个网站建设系统模板相关联。所述设备还包括安装器,用于当在所述页面中创建所述至少一个第三方应用的实例时,将所述模板安装到网站页面。
此外,根据本发明的优选实施例,所述设备实现于服务器和客户端两者中的至少一个上。
此外,根据本发明的优选实施例,所述模板是可编辑的。
此外,根据本发明的优选实施例,所述模板包含所述网站建设系统组件和多部分第三方应用中的至少一个。
另外,根据本发明的优选实施例,所述网站页面是以下中的至少一个:现有页面、现有迷你页面、新创建的页面以及新创建的迷你页面。
此外,根据本发明的优选实施例,所述接收器保持参考完整性,并执行在所述至少一个第三方应用和所述页面之间的接口方案。
根据本发明的优选实施例,提供一种用于网站建设系统的方法。所述方法包括:创建包含至少一个第三方应用的网站实例的页面;以及定义在所述页面和所述至少一个第三方应用之间或在所述至少一个第三方应用和至少一个其它第三方应用之间的双向通信反向信道。所述方法还包括在查看或访问所述页面时,根据所述通信反向信道协调通信。
此外,根据本发明的优选实施例,所述至少一个第三方应用是多方第三方应用和模块化第三方应用两者中的至少一个。
此外,根据本发明的优选实施例,所述协调包括监控预先定义的所述至少一个第三方应用实例。
此外,根据本发明的优选实施例,所述协调包括识别并转换所述通信的源或目标的符号地址和绝对地址。
另外,根据本发明的优选实施例,所述协调包括在所述网站建设系统和所述至少一个第三方应用之间实施通信策略。
此外,根据本发明的优选实施例,所述协调包括在所述网站建设系统内将通信消息重路由到所述至少一个第三方应用以及从所述至少一个第三方应用重路由通信消息。
此外,根据本发明的优选实施例,所述协调包括验证来自所述至少一个第三方应用的消息的真实性。
此外,根据本发明的优选实施例,所述协调包括解决在所述网站建设系统和所述至少一个第三方应用之间以及在所述第三方应用和所述至少一个其它第三方应用之间的协议兼容性问题。
此外,根据本发明的优选实施例,所述协调包括以下之间的改变的动态布局更新:至少一个所述页面和所述至少一个第三方应用、所述至少一个第三方应用和所述页面、以及所述至少一个第三方应用和所述至少一个其它第三方应用。
此外,根据本发明的优选实施例,所述协调包括更新以下中的至少一个:所述网站建设系统的全局属性,所述至少一个第三方应用的控制许可,以及所述页面的元件的布局、风格和内容。
此外,根据本发明的优选实施例,所述更新包括级联风格表。
根据本发明的优选实施例,提供了一种用于网站建设系统的方法。所述方法包括:从外部源接收至少一个所述网站建设系统模板,其中所述第三方应用与所述至少一个所述网站建设系统模板相关联。所述方法还包括:当在所述页面中创建所述至少一个第三方应用的实例时,将所述模板安装到网站页面。
此外,根据本发明的优选实施例,所述模板是可编辑的。
此外,根据本发明的优选实施例,所述模板包含网站建设系统组件和多部分第三方应用两者中的至少一个。
此外,根据本发明的优选实施例,所述网站页面是以下中的至少一个:现有页面、现有迷你页面、新创建的页面以及新创建的迷你页面。
此外,根据本发明的优选实施例,所述接收保持参考完整性,并执行在所述至少一个第三方应用和所述页面之间的接口方案。
附图说明
在说明书的总结部分特别指出且明确声明了关于本发明的主题。然而,当结合附图进行阅读时,通过引用后续详细描述可以最好地理解作为操作的组织和方法的本发明及其目标、特征和优点,在附图中:
图1是网站建设系统和第三方应用之间的部署配置的示意性图示;
图2是第三方应用内部内容管理的示意性图示;
图3是通过服务器侧处理的在包含网络页面中所包括的第三方应用的示意性图示;
图4是通过客户端侧处理的在包含网络页面中所包括的第三方应用的示意性图示;
图5是通过iframe包含的在包含网络页面中所包括的第三方应用的示意性图示;
图6是在页面布局改变期间现有的非优化第三方应用显示器的示意性图示;
图7A和7B是根据本发明构建和操作的用于集成网站建设系统和一个或多个第三方应用的系统的示意性图示;
图8是与组件模型比较的文档对象模型的示意性图示;
图9是示例性多部分博客第三方应用的示意性图示;
图10是示例性模块化销售第三方应用的示意性图示;
图11A和11B是根据本发明构建和操作的通信中心的不同实现方式的示意性图示;
图11C是根据本发明构建和操作的图11A和11B的通信中心的元件的示意性图示;
图12是根据本发明构建和操作的由图11A和11B的通信中心执行的通信转换场景的示意性图示;
图13是根据本发明构建和操作的处理具有相关联的模板的第三方应用的包含网络页面的示意性图示;以及
图14是根据本发明构建和操作的包括具有在迷你页面内的相关联模板的第三方应用的包含网络页面的示意性图示。
可以理解的是,为了简单且清晰地示出,不必按比例绘制图中所示的元件。例如,为了清晰,可以相对于其它元件而放大一些元件的尺寸。此外,当认为适当时,可以在附图中重复附图标记以指示对应或类似的元件。
具体实施方式
在后续详细描述中,阐述了多个具体细节,以便提供对本发明的透彻理解。然而,本领域的技术人员可以理解的是,本发明可以在没有这些具体细节的情况下实践。在其它实例中,为了不模糊本发明,没有详细描述已知的方法、过程和组件。
申请人已经认识到当前方法中将第三方应用通常集成到网站建设系统的方式以及集成的第三方应用和网站建设系统交互的方式的多种限制。
这些限制包括第三方应用显示器限制为包含网络页面内的单个矩形区域、包含于iframe内的区域。它们还包括第三方应用控制其自己的窗口的尺寸和位置,以及在实际第三方应用显示器窗口(例如,围绕第三方应用窗口的特定显示框架)外部的视觉元件的能力
第三方应用可以具有其自己的显示风格(颜色方案、字体、字符尺寸等)。这些风格可能对于一些包含网络页面而言是好的,但是对于其它包含网络页面可能是视觉上有问题的或与其不和谐的。
另一限制是从包含站的视点看第三方应用显示器的刚性。如果所述站必须在视觉上进行修改(例如,由于以不同的屏幕尺寸部署到平台上或由于动态布局事件),则可以要求包含网络页面改变分配给第三方应用的窗口的尺寸。在这种情况下,第三方应用显示器将被修剪且将要求经由滚动条而滚动以到达第三方应用的不同子区域。现在参考图6,其示出了当包含网络页面[a]被调整尺寸时可能发生的事情的例子,分配给电子商店第三方应用[b]的区域被减小,并且不能同时看到“购买”按钮[c]和购物车[d]的内容—需要多个滚动动作来完成购买,并且实际上完成购买是非常不可能的。
可以理解的是,第三方应用不能与包含网络页面中的其它组件交互,并且有时需要这种交互来实现复杂的功能。特别地,根据在包含网络页面中的组件的类型和内容,第三方应用无法不同地执行。这样的一个例子可以是流式传输在线烹饪课程的网站。用户可能希望在背景观看他的电影,他的屏幕的一小区域专用于馈送新闻,且在他的屏幕的另一区域更新天气(例如,来自CNN的现场流)。他可能希望当他的居住区域的天气报告开始时自动暂停他的学习会话。
对于多个第三方应用而言也不存在清楚的标准的方式来彼此合作,尤其是当它们由不同供应商提供时。因此,设计者没有清楚的方式来组合来自不同供应商的多个第三方应用。这样的一个例子可以是运行来自第三方订购系统的模块的商业网站以及用于运送系统的不同模块。人们期望的是根据运送排程等订购供应。
申请人已经认识到可以通过使用网站建设系统和其中包括的第三方应用实例之间以及在相同的包含网页内实现的不同的第三方应用实例之间的结构化的双向通信信道实现该集成。这些信道还可以转移关于布局、风格和额外信息的信息。
可以理解的是,以下的讨论集中于iframe包含方法,因为该方法嵌入到现代浏览器中且和现代浏览器集成,且不需要创建特殊的集成代码,所以其是优选的方法。iframe包含还提供支持浏览器的封装和沙盒以及内在保护免遭黑客技术,例如,恶意第三方应用可以采用的交叉站点脚本攻击。
现在参考图7A和7B,其示出了根据本发明的实施例的用于集成网站建设系统和一个或多个第三方应用的系统100。图7A示出了在设计阶段的系统100,而图7B示出了在运行时的系统100。如在图7A中看出的,系统100包括:客户端10,在网站建设系统(WBS)服务器20上安装的网站建设系统30,以及安装在一个或多个第三方应用服务器50上的一个或多个第三方应用40。网站建设系统30包括:WBS协调器21、应用仓库22、WBS侧TPA属性表23、第三方应用(TPA)协调器24以及AppStore 25(其可能包含搜索器26)。客户端10包括页面编写器12和TPA属性表23的客户端侧视图。在一些实施例中,客户端10还可以包括AppStore 25的客户端侧视图。页面编写器12包括在下文更详细描述的链接器13。第三方服务器50包括:第三方应用40、外部TPA协调器51以及存储供使用的第三方应用40组件、模板等的TPA数据库52。注意,系统100可以包括属于多个第三方应用40供应商的多个第三方服务器50
可以理解的是,当属性特定于给定的第三方应用40实例时,可以调用TPA属性表23。还可以理解的是,当被调用时,TPA属性表23可以在客户端10上出现为TPA属性表23的客户端侧视图。还可以理解的是,离线实施例可以具有其属性表作为安装的客户端软件的一部分,因此将没有其的TPA属性表23或仓库。
可以理解的是,设计者或在客户端10处坐着的终端用户5可以利用页面编写器12来创建他的网站(或任意其它在线应用),从而创建网站页面和交互(插入页以及内部页)。设计者5可以经由WBS协调器21选择作为存储于应用仓库22中的网站建设系统30的一部分的组件、模板等。设计者5还可以创建包含网络页面203,其嵌入来自第三方应用40的第三方应用40实例,所述第三方应用40可以是已提前购买的并且它的模板、组件等可以存储于应用仓库22中。在可选实施例中,所购买的模板、组件等可以存储于TPA数据库52中并经由外部TPA协调器51访问。在又一个实施例中,可以根据需要经由AppStore 25购买第三方应用40模板、组件等。设计者5可以指定属性表23,并且属性表23可以保存关于已经购买的第三方应用40实例的信息,如在后文详细描述的许可、安装指令、支付等。设计者5还可以使用链接器23来手动指定包含的第三方应用40之间的任意通信信道(如果需要)。还可以理解的是,链接器23还可以允许设计者5指定正在建设的包含网络页面和被包含的第三方应用40实例之间的任何具体通信连接和规则,例如如上所述同时示出的电影和CNN新闻报道。可以理解的是,可以在网站生命周期中修改链接器23所创建的链接。
可以理解的是,设计者5可以通过AppStore 25外部的信道(例如,第三方应用40供应商或外部方所操作的外部AppStore)获得第三方应用40。在这种情况下,在第三方应用40第一次安装到设计者5通过网站建设系统30所创建的网站时,网站建设系统30可以登记第三方应用40及其配置数据。
可以理解的是,为了链接器23提供设置潜在通信信道的能力,第三方应用40需要能够正确地识别和辨识在包含网络页面203中的组件(其与之通信)--包括其它第三方应用40实例。对于基于相关联的模板的组件(将在下文详细描述),由第三方应用40供应商提前执行所述识别。可以给予在相关联的模板中的组件具体参考ID,并且当第三方应用40与其通信时可以由第三方应用40使用这些ID。
还可以理解的是,对于多部分第三方应用40(将在下文详细描述),即,通过多个iframe分散的单个第三方应用40,多个部分可以自动知道如何与彼此进行通信。
对于不包含于相关联的模板中的包含网站页面组件(将在下文中详细描述),第三方应用40可以包括应该存在从而其可以作用的所要求的(强制且可选的)包含网络页面203组件的列表。所述列表可以存储于属性表23中,并包括唯一的ID、描述和组件细节(例如,必须是文本组件,将用作博客对话标签)。所述列表可以在AppStore 25中的第三方应用40条目中详述,并且设计者5可以使用链接器23来指定包含网络页面203中符合第三方应用40要求的组件(字段)。可以理解的是,当第三方应用40实例被创建时,网站建设系统30可以动态地创建错过包含网络页面203组件,并可以允许设计者5稍后移动、调整尺寸和全面指定它们。
可选地,网站建设系统30可以向在包含网络页面203中所包括的第三方应用40公开包含网络页面203的全部或局部组件模型。可以理解的是,这可以是组件模型并且不是包含网络页面203的文档对象模型(DOM)。包含网络页面203DOM可能比组件模型更复杂和详细,因为实际的包含网络页面203可以包含多种HTML元件(隐藏的和可见的),所述HTML元件作为网站建设系统30基础结构的一部分或支持包含网络页面203组件。该组件模型因此更简单。
现在参考图8,其示出了可以利用多个HTML构造(例如,封闭div标记[b]、内部div标记[c]、框架“迷你微件”[d1]..[d5]等)实现文本组件[a]。用于包含网络页面203的DOM模型[e]可以包含用于这些子元件中的每个的单独的DOM树节点。组件模型[f]可以更简单,仅包含单个组件节点[g]。
可以理解的是,系统100还可以支持选择性的组件公开—设计者5可以经由连接器23指定应该向第三方应用40公开哪些组件,以及在第三方应用40可见的简化组件模型中仅包括这些组件(可以包括导致它们的“包含路径”)。可以通过明确地标记所包含的组件,根据它们的类型或任意其他网站建设系统30属性来执行规范。第三方应用40然后可以遍历包含网络页面203组件模型并定位所要求的组件。
还可以理解的是,也可以自动创建在包含网络页面203和第三方应用40之间的链路,例如第三方应用40可以在运行时期间发送通信以记录特定事件的广播链接。该通信可以是选择性的或是强制的(即,第三方应用40可能不会作用或安装,除非存在已经链接以接收这种消息的匹配第三方应用40)。例如,第三方应用40可以广播关于其执行的活动的信息分组,并且任意安装的记录第三方应用40可以接收这些信息分组。
现在用设定完成的新创建的页面可以存储于应用仓库22(经由WBS协调器21)以待在运行时被调用,如在下文更详细描述的。
现在返回参考图7B。在该实施例中,元件与图7A中的那些相同,除了客户端10的元件。在运行时期间,客户端10包括观察器201以显示包含网络页面203。可以理解的是,观察器201可以包括多个观察口202,其每一个显示第三方应用40的不同实例(所述实例源自一个或多个第三方应用40)。客户端10还包括通信中心205,以促进通信并提供在包含网络页面203和任何第三方应用40之间的反向信道,其与托管的第三方应用40之间要求的任何通信一起托管,而没有任何连接到相关的包含网络页面203。将在下文中更详细地描述中心205的功能。
可以理解的是,中心205可以实现在客户端10上,因为包含网络网页203和任意第三方应用40包含都是可见网站的交互部分并且其通信不应被客户端-服务器双程延迟。在可选实施例中,在第三方应用服务器40需要交换大量数据并且优选地最好不要将其路由通过客户端10的情况下,中心205可以实现在网站建设系统服务器20上。
可以理解的是,通信中心205可以支持网站建设系统30和一个或多个第三方应用40之间以及多个第三方应用40之间的通信的不同组合。例如,中心205可以使得第三方应用40能够请求网站建设系统30切换到在主站点中的另一页面。通信中心205还可以使得第三方应用40能够请求调整其自己的窗口的尺寸,这可能影响包含页面的布局。这可以将通过下文中详细描述的动态布局处理来完成。可选地,如果要求第三方应用40切换到不同版本以适应显示器中的变化,则包含网络页面203可以请求(例如)第三方应用40切换到不同版本。可以理解的是,还可以在第三方应用40组件和与显示额外信息的第三方应用40相关的网站建设系统30组件之间开始该双向通信,以及多部分第三方应用40的元件和如上所述模块化第三方应用之间的通信。
还可以理解的是,还可以利用在线和离线网站建设系统30来实现系统100,并且其可以使用托管方法的任意组合,例如客户端侧元件、网站建设系统30供应商服务器、第三方应用40供应商服务器以及其它的第四方服务器。可以理解的是,对于上述离线实施例,仍可以要求服务器以实现系统100。
系统100还可以托管于不同的服务器组(不被网站建设系统供应商所操作)上,例如用于大型组织的私人站点托管布置。
系统100还可以支持如上所述来自第三方应用40的第三方应用40实例包含选项的全域。然而,系统100还可以仅支持这些选项的子集或可以对第三方应用40实例包含可能性进行约束。
系统100还可以实现多部分第三方应用40。多部分第三方应用40可以包括多个显示区域,利用单独的iframe来处理每一个显示区域。如将在下文详细描述的,这些区域还可以通过通信中心205来合作(按照需要)。
现在参考图9,其示出了多部分第三方应用40的例子。如图所示,从AppStore[b]获得的博客第三方应用[a]被放置在包含网络页面203[c]中。博客第三方应用[a]包括如下三个区域:博客条目区域[d];标签云区域[e];新闻更新区域[f]。可以理解的是,多部分第三方应用可以用多种方式使用其多个区域,包括单个应用的多个同时驻留部分(如上述博客例子,或者单个应用的多个可选驻留部分),具有总是可见的多个区域以及可选且仅按需显示的多个区域。可选区域的显示可以由第三方应用40或设计者5(其决定在包括第三方应用时如何配置第三方应用)所控制。该显示还可以被控制为支持功能区域,例如配置或另外的对话区域;如用于多版本第三方应用的可选显示(例如,具有小版本和大版本的第三方应用,或者具有肖像和风景版本的第三方应用)。
可以理解的是,可以利用用于第三方应用40元件显示的iframe来实现上述功能,因此获得基于iframe架构的封装且安全性优点。
可以理解的是,实现多部分第三方应用40需要第三方应用40(在其iframe内)可以控制各种iframe的显示(例如,它们的可见性、尺寸和位置)。还可以理解的是,通信中心205可以启用该显示,如下文将详细描述的。
还可以理解的是,即使当多部分第三方应用40(视觉地)包括多个元件和区域时,其在购买(例如,在AppStore 25中)、安装、配置等方面仍旧被视为单个第三方应用40。
在现有系统中,每个第三方应用40可以被认为是分开的实体,并且基于实际情况专门开发两个第三方应用40(来自同一供应商或合作供应商)之间的任意合作。可以理解的是,系统100还可以支持模块化第三方应用40,其包括能够分开购买和安装的多个合作子模块。
现在参考图10,其示出了模块化销售管理第三方应用[a]如何可以包括下述子模块:CRM模块[b];引导管理模块[c]以及电子商务模块[d]。单个第三方应用供应商可以提供所有要求的第三方应用模块。可选地,第三方应用供应商可以提供第三方应用40模块(及功能)的子集,并允许设计者购买/安装来自相同或额外第三方应用供应商的补充第三方应用模块。可以理解的是,鉴于多部分第三方应用作为来自单个供应商的单个第三方应用而被获得和安装,这只发生于占据多个屏幕区域,模块化第三方应用包括可以分开获得和安装的多个模块,并可能包括来自多个第三方应用供应商的模块。为了提供集成来自多个供应商的多个第三方应用模块的能力,每个第三方应用模块必须提供其要求的接口/功能列表以及其提供的接口/功能列表。例如,这可以通过使用基于层级圆点分隔名称约定(例如,My_CRM_TPA.NewClient.GetInfo)的接口名称列表以及接口参数规范来完成。
第三方应用40模块可以指定要求的接口为强制性的(即,模块在没有它们的情况下不工作)或者选择性的(即,模块可以工作,但是可能提供减少的或修改的功能)。因此,为每个接口提供的参数是:接口唯一名称;接口描述—显示给设计者5,从而他或她将知道(例如)错过接口所处理的功能;强制性/选择性状态;接口参数列表和类型。可以理解的是,每个第三方应用模块仍驻留在分开的iframe(或iframe的集合)中。接口的操作基于下文详细描述的通信信道。
可以理解的是,可以在网站设计阶段组装第三方应用40模块。网站建设系统30可以在添加额外的第三方应用40模块时解决接口引用,新的第三方应用40模块解决现有要求的接口,但是可以添加新的(未解决的)要求的接口。
还可以理解的是,在强制性(和选择性)接口仍未解决时,设计者5可以编辑和运行完整的网站。然而,设计者5可以不发表所创建的网站,直到所有的强制性接口被解决,并且在尝试可能要求中心205激活仍具有未解决强制性接口的第三方应用模块的功能时进行提示。
还可以理解的是,AppStore 25可以包括搜索器26,其可以试图定位解决所要求的第三方应用模块接口的第三方应用模块。搜索器26可以基于用于具体第三方应用模块或用于所有第三方应用模块的未解决的接口进行搜索。搜索器26还可以搜索当前未解决的接口或者甚至已经解决的接口,以及搜索强制性、选择性或两种类型的接口。可以理解的是,搜索器26还可以限于解决具体第三方应用未解决的接口,以及搜索具体第三方应用供应商。搜索器26可以执行第一级别搜索(即,满足当前未解决接口的模块)或多级别搜索(即,执行重复搜索,以及寻找满足在考虑由先前搜索回合发现的第三方应用模块时添加的未解决接口的模块)。
系统100可以使用接口描述来向设计者5提供关于继续进行一些错过接口的重要性的信息。中心205可以提供仍需要通信的非兼容第三方应用之间的接口转换。这可以由网站建设系统30提供商或将给定的要求接口适配于不同格式的外部方所添加的适配器模块完成。
系统100还可应用于在线应用编辑系统,其使用互联网(或任何其它网络连接)并使用非浏览器客户端侧软件来查看所创建的在线应用。这种系统不需要使用常规网络基础结构所使用的具体技术(例如,IP通信、HTTP、HTML等)。
可以理解的是,可以使用本领域已知的标准跨域通信方法,以促进跨域通信。这些方法可以包括:
HTML5 PostMessage:这是能够被用于提供安全跨域消息传送的标准HTML5特征。利用HTML5Windows.Postmessage,甚至在驻留在不同域时,也能够在窗口、iframe和主HTML文档之间安全地发送消息。PostMessage提供了这样的工具:其用于发送iframe以指定消息将被发送给哪个域,并用于接收iframe来验证消息被发送自哪个域。
消息的URL片段标识符:该方法依靠使用URL片段标识符来从一个端点发送消息数据到另一端点。以明文编码数据并将其添加(作为片段标识符)到URL,其用于在目标端点域上调用服务或隐藏目标端点iframe内的iframe。随后通过在目标服务或iframe中的代码来解码片段标识符。
特定通信网络服务:网站建设系统30提供托管在网站建设系统服务器20上的特定网络。各种通信端点连接到该服务器上—用于发送消息或检查等待消息。这可以经由本领域已知的方法来完成,例如,技术的pre-HTML5Comet集、基于HTML5的WebSocket或任意其它排队、轮询、服务器推送或类似技术。
HTML5本地存储:HTML5提供结构化的本地存储设施,其能够用于存储排队的消息。然而,本地存储仅能够由与存储iframe属于相同域的网络内容访问。在现有技术中发展了方案,例如Meebo XAuth产品所使用的基础技术(现在由Google Inc.所有),其中小的服务器提供对创建要求的中间iframe的支持,其允许从基于外部域的iframe访问特定域本地存储。
HTML5本地文件系统访问应用程序接口(API):类似于使用如上所述的本地存储,可以利用通过HTML5文件访问API(File API、FileWriter API以及FileReader API)访问的用户代理的本地存储上的本地文件,来构建跨iframe通信信道。然而,需注意,HTML5文件系统访问API所创建的沙盒本地文件系统仍然是起源私有的,因此中间iframe/服务器组件将被要求桥接相同起源限制。
特定浏览器插件:可以创建特定浏览器(或其它用户代理)插件来管理跨iframe消息队列。这种插件需由网站建设系统30的用户安装(处于所有级别),并将向所有iframe和主网站建设系统30页面提供必要的服务。
可以理解的是,通信中心205可以用作利用上述所讨论的任意传输方法的所有的iframe间通信的代理。还可以理解的是,中心205可以完全知道包含网络页面203结构和第三方应用40供应商所提供的并存储于属性表23中的第三方应用40细节。第三方应用40在包含于不同的应用以及用于在相同应用内包含的不同实例(如上所述)时还可以具有不同的参数。这种参数可以包括可以被用于智能寻址的唯一的实例名称(将在后文详细描述)。还可以理解的是,中心205还可以知道可能不存储于属性表23中的额外的第三方应用40细节。
还可以理解的是,中心205还促进智能寻址和识别、验证通信起源、实施通信策略、解决第三方应用40非兼容性问题,以及还从第三方应用40重定向到组件。中心205还可以基于对包含网络页面203所做的变化而启用第三方应用40的布局的动态更新,如将在下文中详细描述的。
现在参考图11A和11B,其示出了中心205的不同实现实施例,以及图11C,其示出了它的不同元件的功能。
中心205可以包括智能标识符和寻址器310、发起者验证器320、通信策略实施器330、协议转换器340、重定向器350、动态布局更新器360、配置管理器370、通用更新器380和托管应用编程接口API包装器390。这些元件的功能将在下文详细描述。可以理解的是,所有的功能可应用于所有的跨域通信信道,例如第三方应用40到网站建设系统30信道以及第三方应用40到另一第三方应用40。
现在参考的图11A示出了通过中间iframe[a]的中心205的典型实施例,其使用内部通信应用程序接口(API)来联系网站建设系统30。这样,可以用应用应用特定的知识的方式来分析、验证或修改(例如)从TPA[d]发送到TPA[e](其分别使用通信API模块[f]和[g])的消息[c]。
如现在参考的图11B所示的可选实施例没有使用中间iframe,而是在通信API模块[a]和[b](分别嵌入到第三方应用[c]和[d]中)的一个或两个中使用了跨域通信。模块[a]和[b]直接与网站建设系统30交互以接收应用特定知识并在处理通信消息[f]时使用它。该实施例具有以下缺点(与图11A所示的实施例比较):在第三方应用中所包含的模块内可以处理相当大量的网站建设系统30级别信息,该信息可能由恶意第三方应用访问(或者甚至修改)。
如上文所讨论的,在所有本文上述的跨通信方法中,iframe寻址基于iframe的起源(包括源域、协议和端口),即,在发送消息(以指定接收方)时以及在接收消息(作为提供给接收方的发送方的名称)时使用直接第三方应用40寻址。此外,消息发送需要发送方指定目标iframe窗口(利用JavaScript的document.getElementById("...").contentWindow调用或任意其它方法)。因此,在现有系统中,每个第三方应用40必须包含其可以与之通信的任意其它第三方应用40的完全和具体的细节(包括域、协议、端口和iframe ID)。
可以理解的是,这种类型的直接寻址在系统100的环境中可能是笨重的。即使设计者5可以集成来自多个非协调的第三方应用40供应商的第三方应用40,第三方应用40供应商也可以供应在给定域托管的第三方应用40,但是稍后会移动到不同的域或子域中。第三方应用40供应商可以改变用于接触任意给定第三方应用的协议或端口。可以要求设计者5修改包括第三方应用40的包含网络页面203的设计。所有这些可以发生在可操作且由多个用户正在访问的网站中所使用的第三方应用40中。另外,单个包含网络页面203可以包括可以服务不同功能的一个第三方应用40的多个实例。例如,在产品支持网站中的单个页面可以包括两个聊天第三方应用40实例—一个用于用户对用户聊天和论坛,一个用于在可用时与供应商的支持人交谈。
可以理解的是,寻址器和标识符310十分清楚包含网络页面203的结构和第三方应用40的细节(如由第三方应用40供应商提供给网站建设系统30)。寻址器和标识符310可以利用以下项向彼此提供源或目标第三方应用40的寻址:第三方应用40唯一名称(如在AppStore 25中登记的);第三方应用40实例描述ID,其被添加到包含网络页面203中的每个第三方应用40实例,从而允许同一第三方应用40的多个实例的寻址;所要求第三方应用类型/种类的通用标识符(例如,“我想发送消息<x>到包含网络页面203中的任意事件记录第三方应用40实例”)。这种标识符还可以描述应该由第三方应用40支持的具体服务。寻址器和标识符310还可以使用版本指示,例如:“我想发送事务<x>到计费包<y>的实例,但仅当其是<z>版本”。
可以理解的是,在运行时期间,第三方应用40仅与中心205通信,并因此只需要知道中心205的直接地址,而不需要知道任意其它第三方应用40的地址。这一个直接地址可以由网站建设系统30提供给第三方应用40提供商的通信API包装器(例如图11A所示的通信模块f和g以及图11B所示的通信模块a和b)封装。调用第三方应用40可以提供应用感知第三方应用40描述性地址(如上所述),并且寻址器和标识符310可以将其转换成直接第三方应用40地址并执行路由。这样,第三方应用40不需要维护与其通信的所有可能第三方应用40的绝对地址的表格。
可以理解的是,消息发起者验证是重要的,否则接收第三方应用40可能从敌对第三方应用40接收消息。由于所有的通信都经由中心205发生,所以发起者验证器320可以检查所有来自第三方应用的消息的真实性。发起者验证器320还可以提供可以添加到消息上并可以用于额外验证的额外信息。可以理解的是,由于包含于AppStore 25并由系统100使用的每个第三方应用40在网站建设系统30登记,所以中心205可以利用网站建设系统30验证可能包含于消息中的唯一发起者ID是否匹配消息来源(域、端口等)。
第三方应用40可以定义通用通信策略,其可以取决于外部信息、包含网络页面203信息等。通信实施器330可以确保实施正在讨论的通信策略,而不必处理非相容的通信。例如,在分类信息处理网站中,可以用其简档(profile)中的分类级别字段标记第三方应用。提供被证明是分类级别X的后端事件记录数据库的第三方应用40可以定义策略,由此其将不接受具有比X大的分类级别的事件进行记录。通信实施器330可能处于这种情形下,执行所要求的初步过滤,并防止高度分类的消息甚至到达较低分类应用。
还可以理解的是,设计者5可能希望在同一创建的网站中包括两个(或更多)第三方应用,所述第三方应用可能合作但实际上由于一些协议兼容性问题而不能合作。例如现在参考的图12所示,电子商店第三方应用[a]可能能够将购买订单消息递送到履行和运送第三方应用,例如第三方应用[b](不同供应商所提供的)。然而,第三方应用[a]所提供的信息可能不包括第三方应用[b]所要求的一些字段。这种情况通常应该由所涉及的第三方应用的第三方应用供应商解决,但是在一些情况下,这种方案是不可能的(例如,两个第三方应用之一当前由于一些原因未被更新)。协议转换器340可以将相关消息从[a]转换为[b](例如,通过提供额外的所要求字段)。这种转换可以由协议转换器340执行,或者可能涉及一些与嵌入式网站和包含网络页面203的交互(例如,如果需要额外信息)。
还可以理解的是,第三方应用40可以具有要求从另一第三方应用40(例如,如上所述的电子商店/履行第三方应用40对)发送或接收消息的一些能力。然而,在可能丢失一部分方案的一些情况下,在上述例子中,可能恰好没有匹配的或合适的履行第三方应用40存在。在这样的情况下,重定向器350可以允许设计者5指定可以将给定的消息路由到或路由自包含网络页面203组件,并且包含网络页面203组件以及组件可以提供的功能可以解决匹配能力。这可以允许构建完全的网站,而不需要构建特定第三方应用40。因此,可以向能够执行将事务登记到数据库的网站建设系统30组件递送事务,并且该数据库可以稍后(通过分开的程序)用于执行离线履行和运送。
第三方应用40可以利用相同代码库但是带有不同激活功能而提供具有不同能力的多种配置。例如,第三方应用40可以通过免费版本提供基本功能,以及通过购买的高级版本、多个付费版本或额外购买的第三方应用40特征提供额外的功能。
可以理解的是,系统100可以包括每用户(或实际上每设计者)第三方应用40购买状态的基于网站建设系统30的管理。还可以理解的是,设计者可以全部都是登记的网站建设系统30用户,并因此网站建设系统30能够管理用于每个设计者5的第三方应用40的购买的数据库。这一信息可以由TPA协调器24在设计阶段或者由配置管理器370在运行时期间存储于属性表23中。例如,第三方应用40可以向网站建设系统30客户端侧元件发送版本查询消息。网站建设系统30客户端侧元件可以与仓库22或其本地缓存副本协商,并以关于其应该提供的能力的信息向第三方应用40返回响应消息。
在可选的实现方式中,网站建设系统30可以经由可选信道向第三方应用40提供所要求的第三方应用40配置信息,例如,加密的iframe参数,而不要求先前查询消息。
如上所述,第三方应用40可以直接与具体的包含网络页面203组件通信。第三方应用40可以用以下多种方式识别要通信的组件:基于相关联的模板直接用于组件(将在下文中详细描述);通过设计者5明确提供给具体包含网络页面203组件的访问ID;通过遍历(可以选择的)由包含网络页面203提供给第三方应用40的组件模型。
可以理解的是,在运行时,更新器380可以实现消息并且在包含网络页面203组件和第三方应用40之间进行响应。例如,第三方应用40可以影响或查询包含网络页面203组件的视觉和显示属性(例如,其位置、尺寸、颜色、透明度等)。更新器380还可以使得第三方应用40能够读取或写入包含网络页面203组件的内容,并且还可以允许第三方应用40引导执行媒体功能的组件,例如将给定的音频或视频片段递送给媒体播放器组件,或者要求其暂停播放一段给定时间。
更新器380还可以促进网站建设系统30组件以指定它们允许第三方应用40具有的访问类型—类似于用于保护现代操作系统中的文件的访问许可位或访问控制列表(ACL)功能的方式。可以为每个组件定义这种许可,以便应用到来自具体供应商的所有第三方应用40或应用到具体第三方应用40。例如,可以允许第三方应用40访问作为第三方应用40外部的包含网络页面203的一部分的文本字段。该文本字段可以用于编辑博客第三方应用40的博客条目,提供比博客第三方应用40区域本身内提供的更多的屏幕不动产。可以理解的是,对于嵌入到多页面容器内的特定迷你页面中的第三方应用40,网站建设系统30可以限制第三方应用40访问独自在特定迷你页面内的组件。
还可以理解的是,更新器380还可以允许第三方应用40影响站点全局元件。这可以包括获得和设置属性,例如站点内的当前页面、包含第三方应用40和页面历史的容器中的当前迷你页面。更新器380还可以过滤或限制这种请求。
更新器380还可以使得网站建设系统30能够影响第三方应用40的风格和显示。更新器380可以实现调用,通过该调用网站建设系统30可以向第三方应用40提供格式化和风格指南。这些可以包括例如如下的属性:颜色和颜色方案;字体;字符尺寸;透明度;动画和特殊效果(例如,模糊)。颜色方案尤其可以包括通用颜色方案(例如,使用下述x颜色),或作为高级别颜色(例如,文本用颜色x、框架用颜色y)。
可以理解的是,表达复杂风格信息的一种优选方法是使用级联风格表(CSS),其能够表达多种风格指令的组合,包括字体、尺寸、颜色等。更新器380可以将这种基于CSS的消息发送给第三方应用40。风格表本质上是通用的,或者包括第三方应用40所定义的特定风格名称,从而网站建设系统30可以向第三方应用40提供更好的指南(例如,风格表可以指的是特定的第三方应用40元件并为其提供指南)。
第三方应用40随后可以使用这些指南来制作其自己的外观和感觉,并更好地适应于包含网络页面203。这对于所包含的或者在相同站点从多个包含网络页面203可见的(如上所述的多端口包含)第三方应用40是尤其重要的。多个包含页面可以采用不同的颜色方案或通用设计。第三方应用40可以使用通过这些风格消息提供给其的信息,并调整其自己的显示颜色和风格以更好地符合每个包含页面,以及避免显示与包含页面相比不和谐的颜色方案或外观和感觉。
可以理解的是,动态布局更新器360可以使得网站建设系统30/第三方应用40或第三方应用40和次级第三方应用合作以处理显示动态布局事件所导致的改变。网站建设系统30可以改变页面中组件的尺寸和位置,以便在页面中改变一些组件的事件下保存页面设计。例如,这些动态布局事件可以包括:在具有不同尺寸的屏幕上查看网站;在肖像和风景模式之间旋转显示设备;改变一些组件的尺寸或位置以及改变给定组件的内容(通过需要它们改变其尺寸的方式)。动态布局事件还可以包括由基于服务器的内容更新(例如在显示来自数据馈送的信息的组件中)造成的或者由于通过同一网站的另一并发用户改变内容而引起的组件更新。还可以理解的是,动态布局事件可以发生在设计环境中以及运行时环境中。特别地,一些组件和第三方应用40可以允许在运行时期间(即,通过终端用户)的组件内容变化或尺寸/位置变化,而不仅是通过设计者。
还可以理解的是,还可以通过第三方应用40引起动态布局事件。例如,当用户从产品目录视图移动到购物车视图(具有不同的尺寸)时,电子商店第三方应用40可以要求尺寸改变。作为另一例子,产品目录第三方应用40可以包括用于产品高亮的选项,其将使得它们显示包括更多内容的较大目录页面。第三个例子是多域第三方应用40,其可以开始或停止显示额外的域。
现有系统通常(如果真发生的话)通过修剪第三方应用显示、向其添加滚动条或只将其调整尺寸为如现在返回参考的图6所示隐藏其它页面组件的弹出窗来处理这种情形。动态布局更新器360可以实现合作动态布局,其中网站建设系统30和第三方应用40合作执行动态布局并保持包含网络页面203的基本设计。动态布局的功能进一步在2013年2月20日递交的并指定给本发明的共同指定人的美国专利申请13/771,119中描述。然而,即使在合作动态布局支持系统中,在包含网络页面203中的动态布局机制没有完全控制第三方应用40的内部布局。此外,可以设计网站建设系统30微件,从而它们能够被调整尺寸到任何随意尺寸(在给定范围内),但是第三方应用40可能不支持随意调整尺寸。例如,第三方应用40可以提供以下的任意组合:具有不同尺寸的多个显示配置(例如,显示更多或更少的细节);调整一些内部元件的尺寸的能力,以及利用多个字体尺寸显示一些内部文本元件的能力。
第三方应用40仍可以提供有限数量的可能显示尺寸,并可以具有整个范围的可能尺寸。因此,[包含网络页面203→第三方应用40]调整尺寸请求可以由切换到最近可能尺寸的第三方应用40解决,或者通过提供可能第三方应用40尺寸的列表解决(并且允许网站建设系统30选择正确的一个以使用)。
动态布局更新器360可以利用以下序列实现[包含网络页面203→第三方应用40]合作动态布局:
例如,嵌入在包含网络页面203中的第三方应用40可能需要调整尺寸到给定的期望尺寸(例如,X1*Y1像素)。动态布局更新器360可以向第三方应用40发送请求第三方应用40调整其内容的尺寸到给定的期望尺寸(X1*Y1)的消息。第三方应用40可以通过利用可选的显示配置、内部调整尺寸、内部动态布局处理或任意其它方式来调整所述尺寸。还可以理解的是,包含网络页面203可以对包含第三方应用40的外部iframe窗口调整尺寸到新的尺寸(X1*Y1)。
可以理解的是,第三方应用40可以仅允许仅调整尺寸到仅可能尺寸的有限集(例如,特定用户接口配置)。因此,动态布局更新器360可以使用下面的允许第三方应用40提供可能尺寸集的可选算法。
包含网络页面203被调整尺寸,且动态布局更新器360向第三方应用40发送请求第三方应用40调整其内容的尺寸到给定的期望尺寸(X1*Y1)的消息。第三方应用40可以然后确定最近的可能尺寸(例如,X2*Y2像素)并通过使用可选的显示配置、内部调整尺寸、内部动态布局处理或任意其它方式来相应地调整尺寸。更新器380然后可以向包含网络页面203发送确认调整尺寸的响应消息,并提供实际的新尺寸(X2*Y2)。包含网络页面203可以调整包含第三方应用40的外部iframe窗口的尺寸到实际的新尺寸(X2*Y2)。包含网络页面203可以基于实际的新尺寸(X2*Y2)继续动态布局处理。
可以理解的是,也可以应用另一实施例,特别是当在包含网络页面203中存在多个第三方应用40(或者多域多个第三方应用40)时。在该实施例中,包含网络页面203可以查询嵌入式第三方应用40以获得显示尺寸的列表,从而它们可以试图考虑用于多个第三方应用40的多个选项来优化外观和感觉。该实施例还可以与通过多个区域显示第三方应用40的情况相关。
包含网络页面203可以执行动态布局处理,发现一个或多个第三方应用40(TPA[1]到TPA[n])嵌入在包含网络页面203中并应该利用下述算法调整尺寸:
循环i从1到n:
对于每个TPA[i]确定
最小尺寸Xmin[i]*Ymin[i];
最大尺寸Xmax[i]*Ymax[i];
最优尺寸Xopt[i]*Yopt[i];
动态布局更新器360可以向TPA[i]发送消息,详述上述最小/最大/最优尺寸,并请求关于可能的第三方应用40尺寸的信息。
第三方应用40可以向动态更新器380提供可以假设为Xposs[i][j]*Yposs[i][j]的可能的尺寸选项的集合。
基于以上收集的Xposs[][]/Yposs[][]信息,包含网络页面203可以通过使用(例如)所有可能第三方应用尺寸组合的全面评估、线性编程技术或动态布局算法所用的任意其它技术,来计算用于动态布局计算的方案。
为所有TPA在Xfinal[i]/Yfinal[i]中存储结果
循环i从1到n:
包含网络页面203可以然后以Xfinal[i]/Yfinal[i]发送调整尺寸消息到TPA[i];
包含网络页面203将包含TPA[i]的外部iframe窗口调整尺寸为Xfinal[i]/Yfinal[i];
包含网络页面203基于实际新的尺寸继续动态布局处理。
可以理解的是,动态布局处理通常可能需要移动第三方应用40而不是仅重新调整它们的尺寸。然而,第三方应用40应该对于包含网络页面203内的其帧的确切位置是不变的。
如上所述,第三方应用40还需要不时地改变其显示窗口尺寸。由于显示iframe的窗口的尺寸由托管页面(即,包含网络页面203)管理,所以由包含网络页面203来执行第三方应用40窗口尺寸改变--第三方应用40从包含网络页面203请求(经由动态布局更新器360)改变窗口尺寸。
还可以理解的是,第三方应用40还可以请求(经由动态布局更新器360)改变其在包含网络页面203中的位置。这可能不会内部地影响第三方应用40(如尺寸改变那样),但是需要在包含网络页面203中的显示改变。动态布局更新器360可以集成该请求与动态布局。包含网络页面203可以激活动态布局更新器360以改变第三方应用40窗口尺寸(以及可能地改变其位置),并确认尺寸和位置改变回第三方应用40。
可以理解的是,中心205还可以实现额外的第三方应用40分类特定或者第三方应用特定消息,通过其,网站建设系统30本身、特定包含网络页面203或次级第三方应用40可以影响第三方应用40。例如,博客第三方应用40可以定义进来的消息,其可以递送新的博客条目或者新的对话给当前博客条目。这种消息可以由包含网络页面203使用(例如,从第三方应用区域外的大的编辑字段递送博客条目的方式)。其还可以用于较高级别应用到应用连接,例如,允许支持第三方应用来将博客条目递送到博客第三方应用。
可以理解的是,第三方应用40通常需要多种复杂服务—用于第三方应用40内部使用或用于设计者在其站点利用第三方应用40的下游使用。这种服务可以包括用户管理、计费和运送管理。网站建设系统30供应商可能不能提供这种服务作为网站建设系统的一部分(例如,由于技术或商业考虑)。此外,这些服务可能不适合于如第三方应用40自己的“包装”。另外,第三方应用40供应商可能需要选项来利用第三方应用40为设计者提供多个这种服务(例如,多个第三方计费API)--并允许设计者5选择供他或她使用的正确的那个。
例如,可以在网站建设系统30中提供PaypalTM托管的API,并且可以直接由第三方应用40使用或由第三方应用40提供给设计者5使用它。第三方应用40还可以提供其自己的一组选项(即,使用特定计费类型,如一次性、重新出现或收益分享),并通过调用所托管的Paypal API实现这些选项。
因此,使用网站建设系统30的设计者5可以开发使用先进计费的特定供给(例如,销售歌曲的电子商店)。设计者5可以通过使用托管的计费API(直接或通过第三方应用40提供额外的抽象级别(或层)),而避免不得不与计费API提供商协商特定的结算或商业协议。在这个意义上,网站建设系统30可以成为托管API供应商的分配者。
托管API包装器390可以促进系统的不同部分(例如,网站建设系统30、托管的API代码和包含的第三方应用40)之间的这个通信。可以理解的是,API包装器层和实际的API实现方式可以驻留在网站建设系统30本身或其它第三方应用40中。第三方应用40供应商(或设计者5)可以通过托管的API包装器390使用托管的API,而不用知道实现实际基础的API的方式。
在本发明的可选和补充实施例中,申请人还意识到,也可以通过使用其中在AppStore 25级别处将额外的网站建设系统模板和组件与第三方应用相关联且与相关的第三方应用实例相关联的集成模型,来实现网站建设系统30和一个或多个第三方应用40之间的智能集成。第三方应用40还可以与这些组件(以及与不相关联的组件)通信以交换数据和控制消息。如本文上述讨论的,在包含网络页面203中的第三方应用区域40是分开的iframe,其内容托管在分开的域中(第三方应用供应商的或其它)--不同于主站点所托管的域。因此,在不同iframe之间的通信服从浏览器的“相同起源策略”,并要求使用本文以上所描述的技术。
现有系统将第三方应用40实现为单片刚体,其包含于包含网络页面203中,但不影响包含网络页面203自身的外观和感觉。第三方40实例放置于(通常是矩形)区域中,并在该区域内执行其所有的活动。
申请人还认识到可以通过使(可选的)额外网站建设系统30模板与第三方应用40相关联(称为根据本发明的实施例的相关联模板)来扩展这一概念。可以理解的是,该关联可以在开发和公开第三方应用40期间执行,并可以作为第三方应用40选择/购买过程(来自AppStore 25)和第三方应用40实例创建的一部分呈现给设计者5。TPA协调器24可以取回与第三方应用40相关联的模板(作为AppStore 25管理的应用仓库的一部分或者由第三方应用40供应商所提供),并且如上所述可以在仓库22中存储模板供以后使用。
可以理解的是,系统100可以支持发布具有多个相关联模板的第三方应用40,这允许设计者5选择最适合他或她的需要的模板。
可以理解的是,当在任意包含网络页面203中创建第三方应用40的实例时,在相关联模板中的组件可以与包含网络页面203结合,并可以与包含网络页面203中的任意其它组件一起被显示。
现在参考图13,其示出了根据本发明的实施例使用相关联模板的例子。如图所示,第三方应用[a]与包括组件[d]和[e]的相关联模板[c]一起放置于AppStore[b]中。可以理解的是,当第三方应用[a]包含于包含网络页面203[f]中时,第三方应用[a]可以在页面[f]内其指定区域[g]中显示,并且组件[d]和[e]的实例[d’]和[e’]可以与先前存在的组件[h]和[i]一起显示在页面[f]中。
可以理解的是,系统100可以支持相关联的模板组件实例(例如,上述[d’]和[e’])位于包含网络页面203[f]中的多种方式。这些可以包括:绝对放置(即,使用在用于原始[d]和[e]的相关联模板[c]中指定的尺寸和位置);目标相关放置(即,根据包含网络页面203[f]调整新实例[d’]和[e’]的尺寸和位置);以及第三方应用40相关放置(即,相对于为在包含网络页面203[f]中的第三方应用实例[g]指定的尺寸和位置,调整新实例[d’]和[e’]的尺寸和位置)。可以基于包含有相关联的模板[c]的设定,来完成特定放置方法的确定,可能允许设计者5覆写它。
还可以理解的是,设计者5可以修改从模板[c]继承的组件[d]和[e]中的[f]中的实例。改变仅可以应用于[f]内的[d]和[e]的使用(以及从支持页面间继承的网站建设系统30内继承的可能页面),但可能不影响与AppStore[b]中的第三方应用[a]相关联的“原始”模板[c]。
可以理解的是,上述对[d]和[e]实例的改变可以尤其包括将特定内容(例如,文本、图像等)分配给字段实例以及通常的属性改变。还可以理解的是,如果第三方应用40包含于迷你页面内,则相关联的模板可以应用于特定的包括第三方应用40的迷你页面,如现在参考的图14所示。如图所示,第三方应用40包含于迷你页面[x]中,因此将组件[c]和[d]添加到[x]上而不添加到相同多页面容器[g]的额外的迷你页面[y]和[z]上。
还可以理解的是,对于区段型迷你页面,将相关联的模板(如果有的话)应用到被创建以包括第三方应用40的虚拟(和空的)包含网络页面203。
在可选实施例中,预先创建的相关联模板可以应用于新创建的页面或迷你页面,其与包括包含网络页面203“并行”。该新创建的页面或迷你页面可以以模板开始,然后可以按照希望被修改。
网站建设系统30还可以允许多端口包含,其中相同的第三方应用40实例可以从主站点的多个页面可见并“驻留”在所述多个页面中。这不同于在主站点中的给定第三方应用40的多个包含,其创建了第三方应用40的多个实例。第三方应用40内容(其是实例特定的)因此在相同多端口第三方应用40的多个视图中共享。
在这种多端口包含中,相关联的模板可以分开应用于添加了第三方应用40的实例的页面和迷你页面中的每一个。
如上所述,系统100可以在第三方应用40和包含网络页面203中的组件之间提供双向通信链路。可以理解的是,这包括由合并来自第三方应用的相关联模板造成的包含网络页面203组件,以及与任意这种相关联模板不相关的组件。
因此,可以理解的是,第三方应用40供应商通常可以创建多个与供应商所生产的第三方应用40相关联的模板。除了实际分布(即与当前分布的第三方应用版本相关联的)的模板外,这些模板可以包括测试、开发和其它模板。
如上所述,第三方应用40可以通过AppStore 25分布,并且还可以通过与网站建设系统30供应商不相关或不由其管理的可选信道分布。然而,与第三方应用40一起分布的相关联的模板可能与应用仓库22高度相关并与其耦合,这是因为它们是利用组件、基础模板和网站建设系统30管理的其它元件建立的。
此外,在这种分开分布的相关联模板下的网站建设系统30元件可能被修改或删除—可能“破坏”相关联的模板。为解决该问题,系统100可以在应用仓库22中的分开的区域(可能每个第三方应用40供应商)内实现这些相关联的模板。网站建设系统30可以以与其它网站建设系统30模板相同的方式管理这些模板。
还可以理解的是,可以为第三方应用40供应商提供创建的每个模板的唯一ID(开发ID),并可以在第三方应用40开发和测试过程期间使用该ID。一旦将发表/分布第三方应用40,第三方应用40供应商可以要求申请和接收可选唯一ID(发表ID),并且可以在发表的第三方应用40中引用该ID。一旦提供了发表ID,就创建了模板的分开的锁定副本。这是由第三方应用40引用的副本,并且在创建第三方应用40的实例时使用。这样,第三方应用40供应商不能错误地修改与“现场”第三方应用40相关联的模板(其通过设计者包含),并且保持参考完整性。此外,系统100可以交叉引用这种锁定模板和基础组件以及基础模板之间的关系。该交叉引用可以例如用于在网站建设系统30组件或在这种锁定模板中包括的基础模板将被修改(以及这种修改可能以某种方式破坏模板或第三方应用40)时向网站建设系统30员工提供警告。
因此,系统100可以在第三方应用40、包含网络页面203中的组件以及网站建设系统30之间提供双向通信信道。包含网络页面203组件可以基于与第三方应用相关联的模板、基于其它网站建设系统30模板,或者与任意模板不相关。
本文所表示的处理和显示内在并不与任意特定计算机或其它装置相关。根据本文的教导,可以连同程序一起使用各种通用系统,或者可以证明构建更特定的装置来执行期望的方法是便利的。根据上述描述,用于多种这些系统的期望结构将出现。另外,没有结合任意特定的编程语言来描述本发明的实施例。可以理解的是,可以使用多种编程语言来实现如本文所述的本发明的教导。
除非明确指出,否则根据前述讨论明显的,可以理解的是遍及说明书、讨论所使用的术语,例如“处理”、“计算”、“运算”、“确定”等指的是计算机、计算系统或类似电子计算设备的动作和/或处理,其将计算系统的寄存器和/或存储器内所表示为物理(例如电子)量的数据操纵和/或转换为在计算机系统的存储器、寄存器或其它这种信息存储、传输或显示设备中的类似表示为物理量的其它数据。
本发明的实施例可以包括用于执行此处的操作的装置。该装置可以专门构造为期望的目的,或者其可以包括由计算机内存储的计算机程序选择性激活或重新配置的通用计算机。这种计算机程序可以存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、磁光盘、只读存储器(ROM)、压缩磁盘只读存储器(CD-ROM)、随机存取存储器(RAM)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或者适用于存储电子指令并能够耦合到计算机系统总线的任意其它类型的介质。
虽然已经在本文中描述且示出了本发明的某些特征,但是本领域普通技术人员现在将发现多种修改、替换、改变和等价物。因此,可以理解的是,随附权利要求意图覆盖所有落入本发明真实精神内的这种修改和改变。
Claims (7)
1.一种用于网站建设系统的设备,所述设备包括:
第三方应用接收器,用于从外部源接收至少一个能够编辑的网站建设系统模板,其中,第三方应用与所述至少一个能够编辑的网站建设系统模板相关联;
安装器,用于当在网站页面内创建至少一个第三方应用的实例时,将所述至少一个能够编辑的模板安装到所述网站页面中;并且
其中,所述接收器保持在所述第三方应用和所述网站页面之间以及在所述第三方应用和所述至少一个能够编辑的模板之间的所述至少一个能够编辑的模板的参考完整性,并执行在所述第三方应用和所述网站页面之间的接口方案。
2.如权利要求1所述的设备,其中,所述设备能够实现于服务器和客户端中的至少一个上。
3.如权利要求1所述的设备,其中,所述模板包含网站建设系统组件和多部分第三方应用中的至少一个。
4.如权利要求1所述的设备,其中,所述网站页面是以下中的至少一个:现有页面、现有迷你页面、新创建的页面以及新创建的迷你页面。
5.一种用于网站建设系统的方法,所述方法包括:
从外部源接收至少一个能够编辑的网站建设系统模板,其中,第三方应用与所述至少一个能够编辑的网站建设系统模板相关联;
当在网站页面内创建至少一个第三方应用的实例时,将所述至少一个能够编辑的模板安装到所述网站页面中;并且
其中,所述接收操作保持在所述第三方应用和所述网站页面之间以及在所述第三方应用和所述至少一个能够编辑的模板之间的所述至少一个能够编辑的模板的参考完整性,并执行在所述第三方应用和所述页面之间的接口方案。
6.如权利要求5所述的方法,其中,所述模板包含网站建设系统组件和多部分第三方应用中的至少一个。
7.如权利要求5所述的方法,其中,所述网站页面是以下中的至少一个:现有页面、现有迷你页面、新创建的页面以及新创建的迷你页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811316952.9A CN109597957B (zh) | 2013-02-10 | 2014-02-10 | 第三方应用通信api |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361762902P | 2013-02-10 | 2013-02-10 | |
US61/762,902 | 2013-02-10 | ||
PCT/IB2014/058882 WO2014122628A1 (en) | 2013-02-10 | 2014-02-10 | Third party application communication api |
CN201811316952.9A CN109597957B (zh) | 2013-02-10 | 2014-02-10 | 第三方应用通信api |
CN201480019592.XA CN105103146B (zh) | 2013-02-10 | 2014-02-10 | 第三方应用通信api |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480019592.XA Division CN105103146B (zh) | 2013-02-10 | 2014-02-10 | 第三方应用通信api |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597957A true CN109597957A (zh) | 2019-04-09 |
CN109597957B CN109597957B (zh) | 2023-11-10 |
Family
ID=51298367
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811316952.9A Active CN109597957B (zh) | 2013-02-10 | 2014-02-10 | 第三方应用通信api |
CN201480019592.XA Active CN105103146B (zh) | 2013-02-10 | 2014-02-10 | 第三方应用通信api |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480019592.XA Active CN105103146B (zh) | 2013-02-10 | 2014-02-10 | 第三方应用通信api |
Country Status (15)
Country | Link |
---|---|
US (3) | US10509850B2 (zh) |
EP (2) | EP3522034B1 (zh) |
JP (5) | JP6335928B2 (zh) |
KR (2) | KR20150119003A (zh) |
CN (2) | CN109597957B (zh) |
AU (4) | AU2014213614C1 (zh) |
BR (1) | BR112015019003B1 (zh) |
CA (3) | CA2899872C (zh) |
EA (1) | EA201591352A1 (zh) |
ES (1) | ES2962484T3 (zh) |
HK (1) | HK1215742A1 (zh) |
IL (4) | IL309008A (zh) |
MX (2) | MX367103B (zh) |
MY (1) | MY179529A (zh) |
WO (1) | WO2014122628A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780164A (zh) * | 2022-02-28 | 2022-07-22 | 深圳开源互联网安全技术有限公司 | 基于浏览器插件筛选网页信息的方法及系统 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996566B2 (en) | 2012-02-20 | 2018-06-12 | Wix.Com Ltd. | Visual design system for generating a visual data structure associated with a semantic composition based on a hierarchy of components |
US10733078B2 (en) | 2014-10-30 | 2020-08-04 | Wix.Com Ltd. | System and method of handling complex experiments in a distributed system |
US11188509B2 (en) | 2012-02-20 | 2021-11-30 | Wix.Com Ltd. | System and method for generating a visual data structure associated with business information based on a hierarchy of components |
JP6212288B2 (ja) * | 2013-05-30 | 2017-10-11 | 日本放送協会 | プッシュ配信サーバ、受信端末、受信プログラム及びシステム |
EP3055773B1 (en) * | 2013-10-10 | 2018-12-19 | Intel Corporation | Anomaly detection on web client |
IL310461A (en) | 2014-04-29 | 2024-03-01 | Wix Com Ltd | A system and method for creating and using dynamic designs that are visually diverse and of high quality |
US10139998B2 (en) * | 2014-10-08 | 2018-11-27 | Weebly, Inc. | User interface for editing web content |
IL237788B (en) | 2015-03-16 | 2019-10-31 | Kriheli Marino | Septum holders used in injector connectors |
CN106162367A (zh) * | 2015-04-21 | 2016-11-23 | 广州市动景计算机科技有限公司 | 一种视频播放方法及装置 |
US11301219B2 (en) * | 2015-05-22 | 2022-04-12 | Paypal, Inc. | Hosted sensitive data form fields for compliance with security standards |
US10146512B1 (en) | 2015-08-28 | 2018-12-04 | Twitter, Inc. | Feature switching kits |
JP2018522317A (ja) * | 2015-09-02 | 2018-08-09 | グーグル エルエルシー | ソフトウェア開発および分散プラットフォーム |
US10412130B2 (en) | 2016-04-04 | 2019-09-10 | Hanwha Techwin Co., Ltd. | Method and apparatus for playing media stream on web browser |
CN106685949A (zh) * | 2016-12-24 | 2017-05-17 | 上海七牛信息技术有限公司 | 一种容器访问方法、装置以及系统 |
EP3593254B1 (en) | 2017-07-24 | 2023-08-02 | Wix.com Ltd. | Editing a database during preview of a virtual web page |
JP2021512364A (ja) * | 2018-02-04 | 2021-05-13 | ウィックス.コム リミテッド. | ビジュアル編集システムにおいて重なるオブジェクトを処理するためのシステム及び方法 |
EP3671449A4 (en) * | 2018-06-22 | 2020-12-02 | Hangzhou Hikvision System Technology Co., Ltd. | ASSOCIATION OF BROWSER APPLICATIONS |
EP3844700A4 (en) | 2018-08-27 | 2021-08-25 | Box, Inc. | ACTIVITY-BASED APPLICATION RECOMMENDATIONS |
GB2591938A (en) * | 2018-09-21 | 2021-08-11 | Jpmorgan Chase Bank Na | Pre-built user interface for payment system and method |
CN109542435A (zh) * | 2018-11-02 | 2019-03-29 | 福建天泉教育科技有限公司 | 快速实现移动端应用层布局的方法及框架 |
WO2020236138A1 (en) * | 2019-05-17 | 2020-11-26 | Google Llc | Conditional interpretation of a single style definition identifier on a resource |
CN111240784A (zh) * | 2020-01-09 | 2020-06-05 | 上海众言网络科技有限公司 | 配置外观主题风格的方法和装置 |
US11185758B2 (en) | 2020-03-03 | 2021-11-30 | Sony Interactive Entertainment Inc. | Game console application with action cards |
US11413531B2 (en) | 2020-03-03 | 2022-08-16 | Sony Interactive Entertainment Inc. | Game console application with action card strand |
US11169665B2 (en) * | 2020-03-03 | 2021-11-09 | Sony Interactive Entertainment Inc. | Game console user interface with application previews |
US11611629B2 (en) * | 2020-05-13 | 2023-03-21 | Microsoft Technology Licensing, Llc | Inline frame monitoring |
CN111885162B (zh) * | 2020-07-23 | 2021-10-08 | 珠海格力电器股份有限公司 | 楼宇设备管理系统 |
KR102449105B1 (ko) | 2020-08-21 | 2022-09-29 | 주식회사 엔씨소프트 | 게시판 서비스 제공 장치 및 방법 |
KR102449109B1 (ko) | 2020-08-25 | 2022-09-29 | 주식회사 엔씨소프트 | 게시판 서비스 제공 장치 및 방법, 게시판 서비스 요청 장치 및 방법 |
KR102449107B1 (ko) | 2020-08-28 | 2022-09-29 | 주식회사 엔씨소프트 | 게시판 서비스 제공 장치 및 방법 |
CN112162747A (zh) * | 2020-09-25 | 2021-01-01 | 同程网络科技股份有限公司 | 一种前端页面组件化的方法、装置及计算机可读存储介质 |
US11610050B2 (en) | 2021-06-22 | 2023-03-21 | Walkme Ltd. | Cross-domain storage |
KR102662989B1 (ko) * | 2023-12-29 | 2024-05-03 | 주식회사 티맥스와플 | 어플리케이션 플랫폼을 제공하기 위한 방법 및 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263566A1 (en) * | 2007-04-18 | 2008-10-23 | Michael Buerge | Controlling Communication Within a Container Document |
CN102812432A (zh) * | 2010-04-21 | 2012-12-05 | 费斯布克公司 | 利用来自社交网络系统的内容个性化社交网络系统之外的web页面 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954799B2 (en) | 2000-02-01 | 2005-10-11 | Charles Schwab & Co., Inc. | Method and apparatus for integrating distributed shared services system |
US7386614B2 (en) * | 2000-05-19 | 2008-06-10 | Treetop Ventures Llc | Method allowing persistent links to web-pages |
US7509435B2 (en) * | 2001-03-12 | 2009-03-24 | International Business Machines Corporation | Network Address Translation and Port Mapping |
CA2406569C (en) | 2002-10-04 | 2011-03-22 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display |
JP2004220193A (ja) * | 2003-01-10 | 2004-08-05 | Ricoh Co Ltd | Htmlリンク検査システム |
JP2004246509A (ja) * | 2003-02-12 | 2004-09-02 | Matsushita Electric Ind Co Ltd | 情報取得装置 |
US7281202B2 (en) | 2003-06-19 | 2007-10-09 | Microsoft Corporation | Framework for creating modular web applications |
US20050050454A1 (en) * | 2003-08-29 | 2005-03-03 | International Business Machines Corporation | Controlling the look and feel of a web |
WO2005038610A2 (en) * | 2003-10-14 | 2005-04-28 | Donn Delson | A method and system for using cascading style sheets (css) to customize an online store |
US7702730B2 (en) | 2004-09-03 | 2010-04-20 | Open Text Corporation | Systems and methods for collaboration |
US20080195483A1 (en) * | 2005-02-01 | 2008-08-14 | Moore James F | Widget management systems and advertising systems related thereto |
US7398473B2 (en) * | 2005-05-02 | 2008-07-08 | Microsoft Corporation | In situ user interface template editing |
US7895604B2 (en) * | 2005-11-17 | 2011-02-22 | Opera Software Asa | Method and device for event communication between documents |
US20070150610A1 (en) | 2005-12-22 | 2007-06-28 | Konstantin Vassilev | Javascript relay |
US20090254392A1 (en) | 2006-03-30 | 2009-10-08 | Zander Van S | Method and system for enterprise network access control and management for government and corporate entities |
US20080172608A1 (en) * | 2006-06-06 | 2008-07-17 | Bellsouth Intellectual Property Corporation | Site builder |
US20080222148A1 (en) * | 2007-03-09 | 2008-09-11 | Ghost Inc. | Lexicographical ordering of real numbers |
US7809785B2 (en) * | 2007-05-28 | 2010-10-05 | Google Inc. | System using router in a web browser for inter-domain communication |
US8108770B2 (en) * | 2007-08-27 | 2012-01-31 | Yahoo! Inc. | Secure inter-module communication mechanism |
CN101918940A (zh) | 2007-11-07 | 2010-12-15 | 戴尔帕拉斯股份公司 | 用于移动设备的智能网页供应系统和方法 |
CN100553212C (zh) * | 2007-11-16 | 2009-10-21 | 西安西电捷通无线网络通信有限公司 | 一种基于三元对等鉴别的可信网络接入控制系统 |
US20100094728A1 (en) * | 2008-09-12 | 2010-04-15 | James Denning | Method and system for distributing media content and processing payments and/or voluntary data collection |
US9495471B2 (en) | 2008-12-04 | 2016-11-15 | International Business Machines Corporation | Optimize view elements sizes to maximize most data viewed in a multiple view elements GUI |
US9459936B2 (en) * | 2009-05-01 | 2016-10-04 | Kaazing Corporation | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications |
US8601364B2 (en) | 2009-08-31 | 2013-12-03 | Ebay Inc. | System and method to provide a domain split display |
US9390172B2 (en) * | 2009-12-03 | 2016-07-12 | Microsoft Technology Licensing, Llc | Communication channel between web application and process outside browser |
US8112471B2 (en) * | 2009-12-07 | 2012-02-07 | Yottaa, Inc | System and method for website performance optimization and internet traffic processing |
US20120030592A1 (en) * | 2010-07-30 | 2012-02-02 | Weiyi Cui | Mashup Component Authoring Tool For Business Enterprise User Interfaces |
US9503415B2 (en) * | 2011-01-27 | 2016-11-22 | T-Mobile Usa, Inc. | Unified notification platform |
US8935330B2 (en) * | 2011-05-11 | 2015-01-13 | International Business Machines Corporation | Redirecting messages in a publish/subscribe messaging system |
US20130217416A1 (en) | 2011-12-23 | 2013-08-22 | Microsoft Corporation | Client check-in |
US10185703B2 (en) | 2012-02-20 | 2019-01-22 | Wix.Com Ltd. | Web site design system integrating dynamic layout and dynamic content |
US8997180B2 (en) * | 2012-06-26 | 2015-03-31 | Google Inc. | System and method for embedding first party widgets in third-party applications |
US9684886B2 (en) * | 2012-08-10 | 2017-06-20 | Sap Se | Cross-domain business mashup integration |
-
2014
- 2014-02-10 EP EP19155060.7A patent/EP3522034B1/en active Active
- 2014-02-10 KR KR1020157024401A patent/KR20150119003A/ko active Application Filing
- 2014-02-10 IL IL309008A patent/IL309008A/en unknown
- 2014-02-10 CA CA2899872A patent/CA2899872C/en active Active
- 2014-02-10 MY MYPI2015702593A patent/MY179529A/en unknown
- 2014-02-10 CN CN201811316952.9A patent/CN109597957B/zh active Active
- 2014-02-10 AU AU2014213614A patent/AU2014213614C1/en active Active
- 2014-02-10 BR BR112015019003-0A patent/BR112015019003B1/pt active IP Right Grant
- 2014-02-10 US US14/176,166 patent/US10509850B2/en active Active
- 2014-02-10 ES ES19155060T patent/ES2962484T3/es active Active
- 2014-02-10 MX MX2015010279A patent/MX367103B/es active IP Right Grant
- 2014-02-10 CA CA3205266A patent/CA3205266A1/en active Pending
- 2014-02-10 JP JP2015556607A patent/JP6335928B2/ja active Active
- 2014-02-10 WO PCT/IB2014/058882 patent/WO2014122628A1/en active Application Filing
- 2014-02-10 CN CN201480019592.XA patent/CN105103146B/zh active Active
- 2014-02-10 EA EA201591352A patent/EA201591352A1/ru unknown
- 2014-02-10 EP EP14749075.9A patent/EP2954421A4/en not_active Ceased
- 2014-02-10 KR KR1020197034307A patent/KR20190132573A/ko not_active Application Discontinuation
- 2014-02-10 CA CA3148828A patent/CA3148828C/en active Active
- 2014-02-10 IL IL272582A patent/IL272582B2/en unknown
-
2015
- 2015-08-04 IL IL240365A patent/IL240365B/en active IP Right Grant
- 2015-08-07 MX MX2019009175A patent/MX2019009175A/es unknown
-
2016
- 2016-03-31 HK HK16103711.4A patent/HK1215742A1/zh unknown
-
2018
- 2018-05-01 JP JP2018088136A patent/JP6515232B2/ja active Active
-
2019
- 2019-04-15 JP JP2019076932A patent/JP6900421B2/ja active Active
- 2019-05-28 IL IL266949A patent/IL266949B/en active IP Right Grant
- 2019-12-04 US US16/702,610 patent/US10977427B2/en active Active
- 2019-12-18 AU AU2019283841A patent/AU2019283841C1/en active Active
-
2020
- 2020-09-17 AU AU2020233724A patent/AU2020233724A1/en not_active Abandoned
-
2021
- 2021-04-12 US US17/227,410 patent/US11989253B2/en active Active
- 2021-06-16 JP JP2021100299A patent/JP7201746B2/ja active Active
-
2022
- 2022-09-23 AU AU2022235610A patent/AU2022235610A1/en active Pending
- 2022-12-22 JP JP2022205317A patent/JP2023029427A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263566A1 (en) * | 2007-04-18 | 2008-10-23 | Michael Buerge | Controlling Communication Within a Container Document |
CN102812432A (zh) * | 2010-04-21 | 2012-12-05 | 费斯布克公司 | 利用来自社交网络系统的内容个性化社交网络系统之外的web页面 |
Non-Patent Citations (1)
Title |
---|
孟宪虎等: "WEB数据库应用程序安全性设计的一种实现", 《计算机工程与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780164A (zh) * | 2022-02-28 | 2022-07-22 | 深圳开源互联网安全技术有限公司 | 基于浏览器插件筛选网页信息的方法及系统 |
CN114780164B (zh) * | 2022-02-28 | 2023-04-25 | 深圳开源互联网安全技术有限公司 | 基于浏览器插件筛选网页信息的方法及系统 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105103146B (zh) | 第三方应用通信api | |
US20200258184A1 (en) | Systems, methods and apparatuses for creating, editing, distributing and viewing electronic greeting cards | |
US10019532B2 (en) | Systems, devices, and/or methods for managing messages | |
KR101566580B1 (ko) | 스마트 기기를 이용한 모바일 광고 방법 및 그 시스템 | |
US20140281850A1 (en) | System and method of content stream utilization | |
CN105940391B (zh) | 用于第三方应用活动数据收集的系统和方法 | |
US9659106B2 (en) | Software application customized for target market | |
CN104769629A (zh) | 具有增强的隐私和集成定制化特征的社交平台 | |
JP2012120098A (ja) | 情報提供システム | |
CN111582961B (zh) | 信息处理方法及装置 | |
US20090113317A1 (en) | System and Method for Website Design | |
US20140330694A1 (en) | Method and system for preparation of a financial transaction | |
KR20160133920A (ko) | 워드프레스를 이용한 예매 서비스 구축 시스템 및 방법 | |
US11481467B2 (en) | System and method for management and delivery of shoppable content data | |
KR102210556B1 (ko) | 생산자, 공급자 및 판매자를 온라인 쇼핑몰로 연결하는 프랜차이즈 가맹점 기반 온라인 쇼핑몰 서비스 제공 방법 | |
KR101697290B1 (ko) | 웹 브라우저에서 구현되는 웹사이트 제작 방법 및 시스템 | |
KR20130114326A (ko) | 웹 디자인 거래 방법 및 시스템 | |
Peacock | PHP 5 e-commerce Development | |
CN107516253A (zh) | 一种基于互联网平台产业链管理分销商城系统方法 | |
JP2020530636A (ja) | 通信装置および方法 | |
CN116700701B (zh) | 无代码软件开发方法、装置及电子设备 | |
Enzler et al. | What’s up in RJ | |
CN107481075A (zh) | 一种多店铺管理网上开店一体化系统 | |
Swale | KARIAKOO GOES ONLINE: Placing Traditional Tanzanian Market on an Online Marketplace Platform | |
KR20220106880A (ko) | 상황 연동 마케팅 웹사이트 운영 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40007049 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |