CN110651252A - 内容管理***扩展 - Google Patents
内容管理***扩展 Download PDFInfo
- Publication number
- CN110651252A CN110651252A CN201780079807.0A CN201780079807A CN110651252A CN 110651252 A CN110651252 A CN 110651252A CN 201780079807 A CN201780079807 A CN 201780079807A CN 110651252 A CN110651252 A CN 110651252A
- Authority
- CN
- China
- Prior art keywords
- content
- web
- user
- dynamic
- action
- 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.)
- Pending
Links
- 238000011161 development Methods 0.000 claims abstract description 46
- 230000009471 action Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000002452 interceptive effect Effects 0.000 claims description 51
- 230000003993 interaction Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 9
- 238000002347 injection Methods 0.000 claims 1
- 239000007924 injection Substances 0.000 claims 1
- 238000007726 management method Methods 0.000 description 67
- 238000012360 testing method Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 41
- 238000012545 processing Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 230000003068 static effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 10
- 230000002688 persistence Effects 0.000 description 10
- 238000007405 data analysis Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000013521 GUI testing Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 229910052719 titanium Inorganic materials 0.000 description 1
- 239000010936 titanium Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在说明性实施例中,用于将由内容管理***(CMS)生成的web内容与由内容开发***生成的动态内容集成的方法和***包含CMS的API处理程序,其被配置为将从远程计算设备接收的动作传送到web部件,其中web部件与CMS和web应用程序框架两者接口以协调对动作的响应并将关于动态内容的信息注入到web内容中以供远程计算设备使用。远程计算设备可以包含视图提供器模块,其被配置为使用注入的信息来访问动态内容。
Description
相关申请
本申请要求以下申请的优先权:2016年12月21日提交的题为“ContentManagement System Extensions for integration with Dynamic Content Features”的美国临时专利申请序列No.62/437,571;2016年12月23日提交的题为“Maintaining UserPreferences Across Portal Content Interfaces”的美国临时专利申请序列No.62/438,709;以及2016年12月23日提交的题为“Static Single Page Web Application-BasedDashboard Platform using Container-Based Architecture with Application-BasedState Management”的美国临时专利申请序列No.62/438,743。所有上述申请通过引用整体并入本文。
背景技术
内容管理***(CMS)平台的基本功能是通过其界面(例如,服务器侧)处理所有用户交互。CMS将分派请求并相应地路由(route)用户,以便通过应用程序递送所需的导航,在用户通过***信息迁移时为其渲染适当的内容,所有这些都以安全的形式进行。实质上,CMS平台可以被视为提供用户管理引擎(例如,存储和认证关于用户、他们的角色和他们的权限的信息)、内容管理引擎和内容导航引擎(例如,web引擎)。
在组织中,需要向CMS的用户供给动态和交互式前端界面。动态界面的示例是支持Java的界面或单页应用程序(SPA)。SPA是包含在单个web页面中的web应用程序或网站,其中web页面基于用户与应用程序的交互来动态更新。可以通过在初始页面加载时所有代码(例如,JavaScript、级联样式表(CSS)、超文本标记语言(HTML)等)的初始下载来更新动态界面。替代地,动态界面可以能够响应于用户交互动态地加载资源。无论动态框架的实施方式如何,通过动态前端框架创建的用户界面都从用户的角度模仿桌面应用程序环境。
此外,组织有时需要自定义的认证机制,诸如与图形用户界面(GUI)使用条款的接受的集成。例如,该解决方案可以在CMS***中实现动态界面渲染,并覆盖CMS的某些默认行为。该解决方案还可以出于认证目的支持CMS的继续使用。
为此,发明人开发了自定义的CMS扩展,其提供混合CMS/SPA环境,同时维护由CMS的用户管理组件提供的用户认证和安全功能。
通常使用表单文件结构或工作簿文件结构来构建数据分析界面。使用这些文件结构,类似于电子表格应用程序,开发人员可以生成仪表板或信息视图。例如,可以通过与表单文件结构或工作簿文件结构集成的内容管理***来查看信息。通常,在访问与特定表单文件或工作簿文件相关联的特定内容时,在表单或工作簿级别应用用户偏好。
可以通过内容开发***构建数据分析界面。内容开发***是基于服务器的***或云托管***,用于开发仪表板界面和为其部署分析内容。例如,内容开发***可以与分析数据存储接口以将实时生成的内容拉入图形用户界面以呈现给终端用户。内容开发***可以提供用于将数据源、计算、元数据和数据字段信息与编码的web部件集成的工具以生成实时动态交互内容。
与数据分析相关联的用户偏好通常源自用户的独特方面,在一些示例中,诸如,用户的地理位置、用户的行业或用户在内容管理***内的角色。为此,用户经常在分析生态***内的多个内容源(例如,多个仪表板界面)上应用相同的偏好,诸如过滤选择。
为此,发明人确认需要维护全局用户偏好并将这些偏好应用于分析生态***的用户门户内的多个内容界面。在一些示例中,这些用户界面可以包含角色驱动的CMS内容、动态数据可视化和包含动态产生的图形和图表的数据分析仪表板。具体地,发明人开发了用于在初始加载全局用户偏好时将其根据上下文应用于每个工作簿文件或表单文件、并且在整个后续用户导航(例如,仪表板界面内的点击和交互)中将这些偏好维护在动态数据显示内的解决方案。
具体地,发明人确认了将用户偏好持久性控制置于数据源层并根据用户偏好(例如,用户权限、过滤设置、CMS角色、组织设置和其他与自定义分析生态***内的各个动态内容显示相关的用户相关信息)切换数据源的目标。
发明人进一步确认了在从CMS向用户提供用户偏好信息时将其传递给动态数据内容、支持基于先前存储的设置呈现精制的仪表板界面信息的目标。
单页Web应用程序(SPA)允许类似于与桌面应用程序接口的用户体验,其中基于交互式web的用户界面(UI)利用单个页面加载来检索并适合于单个页面视图(例如,在浏览器内)。检索并动态渲染诸如HTML、JavaScript和/或CSS的运行时代码以生成UI。页面本身典型地不管理或控制Web应用程序内的用户界面之间的导航。相反,应用程序接口(API)控制页面之间的传输。
SPA设计支持流体导航,增强了用户体验。附加地,由于可以根据需要逐个下载SPA的组件,因此与在导航期间需要加载新页面的单页应用程序相反,可以改善网络性能。例如,HTTP API可以供给用来连接到服务器侧数据访问层或业务层的访问机制。由于API被用于检索对SPA的更新,因此对服务器侧组件的更改不需要更改用户界面部署。
静态单页web应用程序是使用静态文件开发的SPA,诸如超文本标记语言(HTML)、JavaScript(JS)、级联样式表(CSS)和/或媒体资产(例如,静态图像或视频)。静态SPA支持跨平台应用程序的自动生成(例如,传统的基于浏览器的桌面应用程序和移动应用程序两者)。
因为包含静态SPA的前端架构不需要链接到诸如.NET或Java之类的服务器侧技术,所以应用程序可移植到各种执行环境(例如,诸如Node.js、IIS或AWS之类的web服务器)。
发明人确认了使用新的SPA应用程序架构用于增加的缩放容量和更简单的逻辑分析的益处。如以下所讨论的,鉴于上面回顾的期望特征,发明人开发了新的应用程序架构以提供改善的终端用户体验、更快的开发时间和更容易的维护。
发明内容
如图1所示,在内容管理***106的普通现有技术的请求处理操作流程100中,请求102(例如,通过应用程序编程接口(API)接收)经由适当的事件处理程序104a-104n(例如,与特定API相关联)转发到CMS 106的适当模块。在一个示例中,请求102包含请求web内容的资源标识符,诸如统一资源定位符(URL)或统一资源标识符(URI)。信息可以包含(例如,嵌入)在请求102的资源标识符中。此外,请求102可以包含元数据内容,诸如用户标识内容。在一些示例中,被设计为以请求的形式响应供给CMS 106的web内容资源标识符的、暴露在外部的(例如,用户驱动的)事件处理程序可以包含安全事件、文档事件、导入/导出事件、控制事件和/或页面事件。
典型地,CMS包含被配置为管理用户信息的用户管理处理模块108和用于识别和打包web内容以用于递送给用户的内容管理处理模块110。用户管理处理模块108和内容管理处理模块110各自与CMS核112和内容导航模块114通信。例如,内容导航模块114打包通过用户管理模块108和内容管理模块110提供以供用户(例如,提交请求102的用户)查看的结果信息。在特定示例中,内容导航模块114可以管理内容导航状态(例如,通过web内容树或用于管理用户的导航路径的其他导航构造)。在另一示例中,一旦所请求的web内容被内容管理模块110收集,内容导航模块114可以管理将所请求的web内容加载到用户界面。
在操作中,用户管理模块108可以进行用户认证操作和用户权限(或限制)操作两者,以基于特定用户递送适当的内容。在认证用户时,在一般意义上,CMS 106可以在内容管理***106内的所有可信域和任何第三方集成中认证用户。例如,用户管理模块108可以利用CMS 106本身以及一个或多个基于云的数据源、小部件提供者和其他可信CMS 106合作伙伴工具来认证用户。以这种方式,用户登录一次并且能够无缝访问使能用于在CMS用户管理模块108下集中用户管理的工具。
在对用户进行认证时,用户管理模块108可以管理用于访问由内容管理模块110提供的内容的用户权限。例如,特定用户可用的内容可以是基于用户信息本身,或者信息的组合(例如,用户组织、组织内的用户角色、CMS 106内的用户角色、在CMS 106中建立的用户权限等)。在特定示例中,特定用户可以与具有多个团队成员的成员资格以及与用户的给定角色相关联的权限的角色相关联。此外,可以针对特定角色自定义基本用户界面,使得对于共享特定角色的成员激活界面的部分,同时停用界面的其他部分。例如,可以在模块的基础上对暴露给和/或拒绝给用户角色的用户界面的部分进行选择(例如,启用/禁用形成仪表板界面的各个对话的可视化)。在又一示例中,可以基于用户的角色选择性地启用/禁用为给定仪表板内的呈现而开发的动态交互式应用程序。
然后,内容管理模块110可以基于由用户管理模块108识别的用户权限经由内容导航模块114提供用于显示的内容。内容管理模块110例如可以控制供用户查看的web内容(例如,web部件、小部件、布局模板等)的选择和提供、对多媒体内容的访问和多语言内容的翻译。例如,该选择、提供和/或翻译可以基于通过用户管理模块108提取的用户权限。
然而,图1中示出的操作流程不支持用于向终端用户递送动态和交互式web应用程序的前端web应用程序框架,其通过内容管理模块110绕过服务器侧的内容选择和提供。相反,可以通过在初始页面加载时所有代码(例如,JavaScript、级联样式表(CSS)、超文本标记语言(HTML)等)的初始下载来更新动态界面。或者,动态界面可以响应于用户交互动态地加载资源(例如,将用户交互转换为命令以用于选择性和动态的内容更新,而不是接收用于加载由终端服务器提供的信息的另一个储存视图的HTML链接选择)。
前端web应用程序框架支持跨平台动态交互式web应用程序的开发、测试和部署。例如,使用前端web应用程序框架,开发人员可以基于分析平台内的不同用户角色、权限和组织设置更轻松地自定义用户界面方面。
在第一示例中,前端web应用程序框架可以支持模型-视图-控制器(model-view-controller,MVC)界面设计,其中web应用程序被分成三个相互关联的部分。模型部分管理应用程序的数据、逻辑和规则,而视图部分定义数据的输出表示(例如,图表、图形、图等)。控制器部分管理用户交互界面,将用户交互转换为用于模型部分和/或视图部分的命令。
在另一示例中,前端web应用程序框架可以支持模型-视图-视图模型(model-view-viewmodel,MVVM)界面设计,其中web应用程序被分成类似于MVC框架的模型和视图,以及取代了MVC的控制器的视图模型部分。视图模型部分用作视图部分和模型部分之间的中介,管理web应用程序的逻辑主干。例如,视图模型部分援用模型部分的模型类中的方法。视图模型部分以对视图有用的格式将来自模型的数据提供给视图。此外,视图模型可以管理web应用程序内的状态更改、以及通过与web应用程序的用户交互而触发的命令。
在操作中,前端web应用程序框架被并入到软件堆栈(或软件包)中,用于支持交互式动态web内容的开发和部署。例如,软件堆栈可以包含数据库、至少一个web应用程序框架和执行环境。执行环境在本机操作***和硬件环境之上提供抽象层,从而提高了可移植性和可扩展性。数据库管理存储数据(例如,代表Web应用程序框架的模型部分和执行环境)。
为了从静态单页web界面迁移到动态SPA界面,发明人重新设计了前端架构,将基于容器(container)的数据获取管理与受复杂控制的状态管理和仪表板环境内的用户体验路由相结合。
在一些实施例中,新的SPA应用程序架构依赖于支持作为状态函数的图形用户界面的描述的、用于构建交互式用户界面的JavaScript(JS)库,其中封装的组件或容器管理它们自己的状态。这意味着GUI功能将是声明性的(开发人员期望GUI接下来做什么)而不是命令式的(GUI应该如何进行下一步)。此外,JS库可以包含持久的、不可变数据结构以维持状态完整性。例如,容器组件可以支持用于数据分析渲染的数据获取功能,而显示组件可以管理呈现数据分析的用户界面的渲染。
在一些实施例中,新SPA应用程序架构依靠用于应用程序状态管理的函数生成,而无需提供具有静态API的库框架。这些函数接受先前的UI状态和动作,并将下一个状态作为新的状态对象返回。随着应用程序的增长,该功能分支到被设计为管理应用程序状态树的特定部分的附加功能。附加地,由于使用函数生成来管理状态,因此在移动到新状态时可以将附加数据传递到函数中。
说明性实施方式的前述一般描述及其以下详细描述仅仅是本公开的启示的示例性方面,并且不是限制性的。
附图说明
并入在说明书中并构成说明书一部分的附图示出了一个或多个实施例,并且与说明书一起解释了这些实施例。附图未必按比例绘制。所附图形和图中所示的任何数值尺寸仅用于说明目的,并且可以表示也可以不表示实际或优选的值或尺寸。在适用的情况下,可能未示出一些特征或所有特征以帮助描述基础特征。在图中:
图1是内容管理***的普通现有技术的请求处理操作流程的流程图;
图2是示例性修改的请求处理操作流程的流程图,该操作流程具有扩展为与前端Web应用程序框架协作的内容管理***;
图3是包含与内容管理***通信的自定义登录处理程序的示例请求处理操作流程的流程图;
图4A是用于建立用于在从内容管理***接收在仪表板用户处的动态内容时使用的持久用户设置的示例操作流程;
图4B是用于在向仪表板用户供给动态内容时管理持久用户设置的示例操作流程;
图4C是用于在仪表板用户在仪表板界面内导航动态内容时更新用户设置的示例操作流程;
图5是用于实现单页应用程序架构的示例技术堆栈的框图;
图6是用于开发跨平台用户界面源代码的示例方法的流程图;
图7是示例单向web架构的框图;
图8是示例计算***的框图;和
图9是包含云计算环境的示例分发计算环境的框图。
具体实施方式
以下结合附图阐述的描述旨在描述所公开主题的各种说明性实施例。结合每个说明性实施例描述了特定特征和功能;然而,对于本领域技术人员来说显而易见的是,可以在没有这些特定特征和功能中的每一个的情况下实践所公开的实施例。
贯穿说明书的对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性被包含在所公开的主题的至少一个实施例中。因此,在贯穿说明书的各处出现的短语“在一个实施例中”或“在实施例中”不一定是指同一实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。此外,所公开的主题的实施例旨在覆盖其修改和变化。
为了将前端web应用程序框架并入到分析环境中并因此扩展CMS***的能力,转到图2,传统的CMS处理程序104a-104n可以被扩展为包含登录处理程序(login handler)204a和页面处理程序204b。登录处理程序204a和页面处理程序204b中的任何一个都可以通过用于与CMS106接口而开发的预先存在的处理程序104的修改或扩展来创建。登录处理程序204a和页面处理程序204b被设计为与覆盖用户管理模块108的默认处理的自定义web部件208通信。例如,自定义web部件208可以注入用于由用户管理模块108使用的信息。
通过自定义CMS处理程序104a-n,CMS API不直接暴露给动态交互式web内容。这促进了***中的安全性,因为在web层中提供的API端点将潜在地使能CMS 106的终端客户端操纵,可能导致对敏感数据的访问和/或对CMS 106自身的功能的攻击。
自定义登录处理程序204a自定义认证,提供了对认证数据的访问。认证数据例如可以包含用户信息、用户名和用户密码。此外,在授权时,自定义登录处理程序204a可以访问代表CMS106供给的会话令牌,以便用户访问被管理的内容。登录处理程序204a还能使得能够使用通过自定义登录处理程序204a导出的用户信息,通过对用户管理模块108的调用来访问用户权限、角色等。
自定义页面处理程序204b能用于重定向页面加载事件、篡夺由内容管理模块110提供的常规处理。例如,自定义页面处理程序204b能与前端Web应用程序框架214接口,以向请求用户递送动态交互式内容。例如,自定义页面处理程序204b可以响应于用户请求102供给自定义web部件208的实例。
在一些实施例中,前端web应用程序框架214被并入到软件堆栈230(或软件包)中,以用于支持交互式动态web内容的开发和部署。例如,软件堆栈230可以包含数据库232、至少一个web应用程序框架214和执行环境234。执行环境234在本机操作***和硬件环境之上提供抽象层,增加可移植性和可扩展性。数据库232管理存储数据(例如,代表Web应用程序框架214和执行环境234的模型部分)。
通常,自定义处理程序可以附加到特定事件(例如,进入CMS***的请求的类型)。在自定义处理程序包装初始功能的情况下(例如,为了添加到初始CMS处理程序提供的核心进程),自定义处理程序可以被称为处理程序包装器。例如,自定义处理程序包装器可以包含与初始CMS处理程序共享变量(例如,传入和传出)的能力。
一旦开发了自定义处理程序,就可以注册处理程序以基于进入CMS 106内或在CMS106内的事件和/或API调用来进行自定义动作。例如,自定义处理程序的注册可以涉及将自定义处理程序添加到应用程序的初始化(例如,加载被设计为与自定义处理程序一起工作的模块)。例如,可以通过将自定义登录处理程序添加到用户管理模块的初始化过程来注册自定义登录处理程序。
自定义web部件208可以被设计为嵌入到模板web页面或由CMS 106(例如,由内容管理模块)开发的其他用户界面的web表控件或其他数据递送控件。自定义web部件208可以通过利用诸如支持Java的界面或单页应用程序(SPA)之类的特定的动态交互式web内容来引导(bootstrapping)CMS生成的内容从而托管动态交互式数据内容。可以通过经由自定义web部件208,将到动态交互式web内容的路径以及诸如配置动态交互式web内容首先如何渲染之类的其他元数据注入到CMS生成的web页面中来完成引导。附加地,通过自定义登录处理程序204a获得的CMS用户会话令牌可以经由自定义web部件208注入到CMS生成的web页面中,以使CMS用户令牌能够在动态界面内被重用于任何经认证的API调用。
在操作中,页面处理程序204b和/或登录处理程序204a提供独立于CMS***而开发动态交互内容的机会,使用注入的元数据来触发对用户的初始渲染。通过由CMS用户令牌支持的经认证的API调用,进一步使能动态交互式Web应用程序会话功能。
为了经由嵌入在动态交互式内容中的会话令牌使能认证功能,自定义登录处理程序204a(例如,充当伪单点登录(SSO)服务)可以包装CMS登录处理程序(例如,104a-104n中的一个),使用由动态交互式内容传递的会话令牌来检查认证。然后,自定义登录处理程序204a可以委托给用户管理API,诸如返回业务数据的业务API。例如,API可以与用户管理模块108接口以获得与用户相关联的基于角色或基于组织的权限。
为了增加安全性,在一些实施例中,会话令牌在设定的时间段之后到期。在另一示例中,会话令牌可在一段不活动时间后到期。
为了向***添加新的动态交互式web内容,而不是将文件添加到CMS106(例如,内容管理模块110能够访问),自定义web部件208提供界面以直接加载通过单独的内容开发***220开发的材料。内容开发***220例如是用于开发和部署用于仪表板界面的分析内容的基于服务器的***或云托管***。例如,内容开发***220可以与分析数据存储240接口以将实时生成的内容拉入图形用户界面以呈现给终端用户。内容开发***220可以提供用于将数据源、计算、元数据和数据字段信息与编码的web部件集成的工具,以生成实时动态交互式内容222。
尽管用户管理模块108进行用户认证操作,但是CMS 106可能缺乏处理在用户界面处内置到用户凭证对话中的条款和条件接受过程的能力。为了扩展基本CMS用户认证机制,类似于上面关于图2所讨论的扩展,可以自定义CMS登录处理程序以处理更复杂的用户认证过程,诸如涉及站点条款和条件的接受的用户认证过程。
转到图3,为了在登录之前实现条款和条件接受,提供自定义条款&条件登录处理程序304以拦截否则将被指引到预先存在的CMS登录处理程序(即104a-104n之一)的调用。自定义T&C(Terms&Conditions)登录处理程序304被设计为挂钩到自定义T&C Web部件308,从而覆盖CMS 106的标准行为,如图1和图3之间的差异所示。
在一些实施例中,自定义T&C web部件308覆盖用户管理108功能的至少一部分。例如,在确认接受条款和条件时,自定义T&C web部件312可以将认证信息直接供给CMS核112的认证引擎310以用于处理。
尽管被示为两个分开的自定义登录处理程序204a、304和自定义web部件208、308,但是可以组合图2和图3的登录处理程序204a、304和web部件208、308以支持其中条款&条件仅用于将向用户提供动态交互式web内容的情形的实施方式。
在一些实施例中,如图4A的操作流程中所示,可以通过与CMS 110的用户管理模块108接口来延续用户设置。例如,通过提供给用户的用户设置图形用户界面(GUI)404来初始建立用户设置。后端应用程序编程接口(API)406捕获设置并将它们存储到用户信息数据库408,允许用户设置与附加仪表板界面的交叉引用。例如,用户设置持久性API 406可以使用代表性状态传输(representational state transfer,REST)API通信来实现。REST API是Web服务,允许使用统一资源标识符(URI)进行黑盒(例如,与平台/语言无关)的相互通信。REST API通过在无状态的一组预定义操作中操作来解耦(decouple)通信交互(例如,无会话状态),从而允许更大的可扩展性。诸如GET、POST、PUT和DELETE之类的预定义操作允许请求***以访问和操纵web资源的文本表示。例如,用户设置持久性API 406可以被设计为与数据库管理器API通信。在另一示例中,用户设置持久性API 406被设计为与CMS的用户管理模块108通信。
操作流程开始于在步骤A处CMS 106从客户端计算设备接收用于用户设置图形用户界面(GUI)404的请求402。例如,请求402可能已经从呈现给同一用户的设置屏幕交互式动态web内容或前任动态web内容(例如,其他用户导航界面)接收。在步骤B处,内容管理模块110搜集用于生成用户设置GUI的web内容,诸如表单文件结构或工作簿文件结构。在步骤C处,用户管理模块108访问用户数据库408中的用户帐户设置410以确定对特定内容的用户权限(例如,哪些用户设置和角色适用于请求用户)。在步骤D1处,在将信息供给内容导航模块114之前,内容管理模块110可以使用该信息来收集(步骤B)信息或过滤所收集的信息。用户管理模块108还可以向内容导航模块114提供诸如认证令牌之类的信息以用于认证与用户的通信(步骤D2)。认证令牌还可以向内容管理***106和更大数据分析生态***内的其他组件提供可信认证。
在步骤E处,内容导航模块114提供设置屏幕交互式动态web内容412,以用于将用户设置GUI 404呈现给请求用户。动态web内容412包含设置持久性API 406,其被设计为持久保存用户设置以供以后由附加仪表板界面使用。在一些示例中,动态web内容412可以是支持Java的界面、单页应用程序(SPA)、Javascript动态界面或C#.NET界面。SPA是包含在单个web页面中的web应用程序或网站,其中web页面基于与应用程序的用户交互来动态更新。可以通过在初始页面加载时初始下载所有代码(例如,JavaScript、级联样式表(CSS)、超文本标记语言(HTML)等)来更新动态界面。例如,可以通过CMS 106的内容管理模块110从(关于图2描述的)内容开发***220的交互式动态web内容数据存储222访问代码。替代地,动态web内容412可以能够响应于用户交互而动态地加载资源。无论动态框架的实施方式如何(例如,参见图2的web应用程序软件堆栈230),用户设置GUI 404可以从用户的角度模仿桌面应用程序环境。
当用户在步骤F处与用户设置GUI 404交互时,设置屏幕交互式动态web内容412将继续向用户呈现更新的选项。例如,用户设置可以识别用于过滤所显示的材料的一个或多个过滤主题,以呈现与用户相关的信息。在仪表板分析平台中,在一些示例中,用户(例如,保险公司、经纪人和再保险人)可以选择指定定义一个或多个地理区域、行业、产品、产品类型和/或业务线的过滤设置。
同时,在步骤G处,可以将所接收的设置提交给用户信息数据库408的用户偏好数据存储414以供以后访问。在另一选项中,动态web内容412可以跟踪用户设置直到最终提交(例如,用户完成与用户设置GUI 404的交互),此时动态web内容412触发经由设置持久性API 406将用户设置存储到用户信息数据库408的用户偏好数据存储414。例如,设置持久性API 406可以通过经由包含一组用户设置的URI将用户设置传递到数据库管理器API来与数据库管理器API通信。该组用户设置可以包含大量的设置(例如,多个地理区域、产品类型、业务线等),诸如多于10个、多于20个或多于30个的单独用户设置。
在适用的情况下,可以对用户设置分组。例如,用户设置GUI 404可以提供总体上选择“欧洲”的机会(或者,可选地,诸如北欧、东欧等的欧洲地区),而不是分别选择所有欧洲国家。
尽管被示为单个用户信息数据库408,但是用户持久性设置可以与用户认证信息分开存储,例如出于安全目的。
转到图4B,在一些实施方式中,当加载后续可视化(例如,仪表板界面424)时,可以通过经由包含嵌入在428b内的偏好的统一资源标识符(URI)428a将一组用户偏好414传输到仪表板web内容426,从而将通过图4A的过程流程建立的用户偏好414应用于可视化。URI428a、428b可以是统一资源定位符(URL)。
类似于图4A,图4B的过程流程开始于在步骤A处从用户接收CMS 106处的仪表板加载请求422。在步骤B处,内容管理模块110搜集用于生成仪表板GUI的web内容,诸如表单文件结构或工作簿文件结构。在步骤C处,用户管理模块108访问用户数据库408以确定对特定内容的用户权限(例如,哪些用户设置和/或角色410适用于请求用户)。在步骤D1处,在将信息供给内容导航模块114之前,内容管理模块110可以使用该信息来收集(步骤B)信息或过滤所收集的信息。用户管理模块108还可以向内容导航模块114提供诸如认证令牌之类的信息,以用于认证与用户的通信(步骤D2)。
在步骤E处,内容导航模块114以URI/URL 428a的形式提供动态web内容426,以用于将仪表板GUI 424呈现给请求用户。在一些示例中,动态web内容426可以是支持Java的界面或单页应用程序(SPA)。可以基于对仪表板界面424的仪表板视图进行定义的工作表集合来生成动态web内容426。可以以动态交互式web内容工作簿的形式提供工作表以及渲染各个仪表板视图(例如,诸如库、图像内容和/或其他多媒体内容之类的数据源)所需的附加内容。例如,可以通过CMS 106的内容管理模块110从内容开发***220的交互式动态web内容数据存储222访问工作簿。
在步骤F处,用户偏好API 430拦截由内容导航模块114供给的URI/URL428a,并从用户信息数据库408访问用户偏好414以附加到URI/URL 428a以便传输到仪表板web内容作为增强的URI/URL 428b。例如,用户偏好API430可以被设计为在加载动态交互式web内容工作簿时拦截URI/URL 428a。在一些实施方式中,全局用户偏好414被传递到用户偏好API430中。在其他实施方式中,存在多组用户偏好414,并且用户偏好API 430请求适合于当前仪表板交互式动态web内容426的用户偏好。例如,与查看交易统计相关的用户偏好可以和与交易工作流用户界面相关的用户偏好不同。在一些实施例中,可以在不同的存储区域中组织不同组的用户偏好。例如,用户偏好414不一定与用户帐户设置410或其他用户偏好组维护在相同的用户数据库408中。
通过实施URL传输机制,可以限制能够传输的用户偏好的总数。例如,URL的长度可以限制能够传输的信息量。在特定示例中,Internet Explorer浏览器支持的最大URL长度为2,083个字符。通常,开发人员会将URL长度限制为2,000个字符,以确保与各种流行的web浏览器的互操作性。为了改进这个问题,在一个示例中,可以将各个偏好作为一串二进制设置(例如,0=“未选择”,1=“选择”)来供给,或可以将设置分组(例如,地理区域设置、行业设置等)作为转换为二进制设置的十六进制字符串来提供,以最大化能够传输到动态web内容的设置的数量。
在步骤G处,用户偏好API 430向仪表板交互式动态web内容426提供带有嵌入式用户偏好428b的URI/URL。
例如,在步骤H处,用户偏好414可以作为工作簿的用户设置部件432存储。以这种方式,在步骤I处当用户在仪表板424内导航时,当基于工作簿表单生成新视图时,动态web内容426可以通过参考用户偏好414来维护一致的用户偏好。
转到图4C,当通过仪表板界面424导航时,用户可以修改先前供给的用户偏好414。可以在仪表板界面422内向用户提供多个过滤控件或其他设置控件以自定义数据可视化。
在示例操作流程中,在步骤A处,用户可以使用仪表板界面424的过滤器控件(例如,下拉菜单)来应用仪表板过滤器,从而覆盖先前供给的用户偏好414或添加附加的用户偏好。响应于该交互,仪表板web内容426可以存储更新的用户设置440(例如,存储到工作簿用户设置库)并且使用更新的用户设置440以用于仪表板GUI交互的其余部分。例如,当在步骤C处供给更新的仪表板视图时,仪表板web内容426将应用更新的用户设置440。
在图4C的示例中,更新的用户设置440不会延续到用户信息数据库408。只有由用户经由用户设置GUI 404(图4A)供给的那些用户偏好设置414才由CMS 106维护。由于在工作簿内重写用户设置414但没有将其延续回用户信息数据库408,考虑到变化的持久性可能因而发生用户混淆。替代地,可以通过从CMS 406返回的数据组本身将用户偏好414注入到动态交互式web内容426中,而不供给嵌入在内容URL/URI 428b中的用户偏好414。使用该解决方案,可以挖掘用户偏好414以仅包含与当前数据组相关的那些偏好,并且每当加载新数据组(例如,包含不同数据的新导航屏幕)时,可以清除用户偏好414(例如,重置为其默认值)。
在一些实施方式中,关于图2至图4B描述的环境可以使用图5中示出的以下示例技术堆栈500作为应用程序架构的一部分。例如,技术堆栈500可以并入到web应用程序软件堆栈230中,如关于图2所描述的。
从技术堆栈500的顶部开始,在一些实施例中,包管理器502管理项目中的第三方依赖性,包含从第三方***检索的软件包的下载和更新。包管理器502可以允许包含并入在组织外部开发的代码的模块化设计。
在包管理器502下面,在一些实施例中,提供任务管理器504以执行自动构建的步骤,使用存储器内(in-memory)流506a至506n并行地运行任务。数据流506a至506n可以允许功能的节点连接,其中信息在自动构建的模块之间流动。
在一些实施例中,任务管理器504执行使用包含结合有多个定义文件512的命令行工具510的底层编程语言508开发的信息。在特定示例中,编程语言508可以是华盛顿州雷蒙德市的微软公司的TypeScript。TypeScript是带有静态类型和基于类的面向对象的编程支持的JavaScript的超集。
在一些实施方式中,测试支持套件514支持用来在多个设备和/或平台上执行而开发的代码的现实世界测试。例如,测试套件514可以包含单元测试执行和/或端到端测试执行,而无需使用用于GUI功能的自动测试的安装的浏览器应用程序(例如,“无头的(headless)”浏览器测试环境)。例如,通过模拟用户与基于浏览器的可执行程序的交互,可以在浏览器构造之外执行诸如Java代码之类的运行时可执行代码。可以经由命令行执行选项(例如,用于立即测试和反馈)或使用批测试环境(例如,夜间测试或以其他方式在分析生态***中的停机期间的测试)来运行测试。
在测试支持套件514下面是开发支持套件516。例如,开发支持套件516可以包含用来确保所有代码遵循一组通用编码约定并且包含项目文档的工具。例如,开发支持套件516可以包含用于进行软件代码的静态分析的工具,以确保可疑和/或非可移植的构造被标记。此外,开发支持套件516可以包含代码压缩以增加执行性能。
在一些实施例中,JS库518支持作为状态函数的图形用户界面的描述。以不可变值532的形式的属性可以作为其HTML标签中的属性从JS库518传递给GUI组件的渲染器。GUI组件本身被拒绝直接修改这些属性的能力。相反,使用回调函数可以更改属性。在GUI组件更改属性的情况下,响应于此更改,向GUI组件发布下一状态。JS库518可以使用虚拟文档对象模型(DOM)来审查状态更改并将净差应用于特定GUI渲染文档的状态树结构520(例如,HTML、XHTML、XML等)。JS库518可以创建状态树结构以作为用于跟踪状态树更改的存储器内数据结构高速缓存。例如,状态树520内的每个节点表示GUI渲染文档的一部分。JS库518对GUI渲染文档的处理允许开发人员对GUI进行编码,就像在每次更改时渲染整个界面一样,而JS库518在子组件的基础上影响渲染更改。
在一些实施方式中,JS库518与管理状态和路由的状态函数生成器522串联(intandem)起作用。例如,状态函数发生器522可以通过属性修改回调函数接收当前状态和通过GUI请求的动作。状态函数发生器522可以基于该信息确定GUI的新状态。换句话说,整个GUI应用程序的状态存储在数据存储内的对象树内,并且对状态的更改被确定为先前状态和动作的函数。该动作是GUI应用程序通过回调函数提供的信息。因此,状态函数生成器522通过状态树520内的状态更改来管理导航。
为了进一步防止应用程序状态的突变、向下跳到技术堆栈的最低级别,在一些实施例中,持久不可变数据结构530确保数据一旦创建就不会被更改。相反,在状态更改时创建新的更新数据。这允许无法由于编程错误而改变的同步状态更改。
向上移动回技术堆栈500的层,在一些实施例中,作为最终组件,前端web框架524提供用于浏览器不可知和平台不可知的移动以及桌面GUI应用程序设计的基础结构。前端web框架524可以包含设计模板526,用于集中配置适用于终端用户配置的UI组件。此外,前端web框架524可以使用JavaScript(JS)扩展528来简化设计特征。
换句话说,前端web框架524支持响应web设计,允许开发者开发跨平台UI代码。例如,通过前端框架524开发的UI代码可以部署到在诸如桌上型***、平板计算机和移动智能电话设备之类的任何类型的设备上执行的任何流行的web浏览器,同时维护一致的可靠用户体验。
在一些实施方式中,图5的任务管理器504在操作中支持在图6的流程图中所示的开发工作流程600。例如,工作流程600可以被定义为任务管理器504配置文件内的一系列任务。如图5中所示,任务管理器504使用数据流506执行任务。使用数据流506,可以并行进行以下工作流程600的步骤中的一个或多个。此外,工作流程600的各个步骤的一些子任务可以由任务管理器504并行执行。如下面更详细描述的,在一些实施例中,任务管理器504使用图5中的技术堆栈500的相异层来起始开发工作流程600的不同阶段。
转到图6,在一些实施例中,开发工作流程600开始于分析开发者源代码以确认代码遵循推荐的编码约定(602)。例如,图5中的开发支持套件可以执行静态分析工具以进行编程语言(例如,TypeScript)代码文件的静态分析。
在一些实施方式中,如果静态分析不成功(604),则将静态分析结果的报告输出提供给开发者以进行调试(606),并且开发者供给改变的编程代码以重启工作流程过程(608)。
在验证源代码(604)之后,在一些实施方式中,开发工作流程600将编程语言文件编译为运行时可执行文件(610)。例如,运行时可执行文件可以是JavaScript文件。例如,开发支持套件可以包含一个编译器工具以将TypeScript代码转换为JS文件。
在一些实施方式中,单元测试代码和端到端测试代码两者都被编译为运行时可执行文件(612)。例如,单元测试代码和端到端测试代码可以编译成JavaScript文件。例如,可以使用图5的测试支持套件来开发单元测试代码和端到端测试代码。测试代码编译器可以与开发编译器分开。例如,测试代码编译器可能熟悉为执行测试代码而建立的测试套件声明和测试断言。
在一些实施方式中,编译的编程源被捆绑到浏览器可执行应用程序包中(614)。例如,图5的开发支持套件可以包含源捆绑工具。
在一些实施方式中,单元测试和端到端测试两者都被捆绑到分开的浏览器可执行应用程序包中(616)。与编译的编程源一样,图5的开发支持套件的源捆绑工具可以将单元测试和端到端测试捆绑到分开的浏览器可执行应用程序包中。
在一些实施方式中,现在部署应用程序包、单元测试包和端到端包以用于测试。首先,执行单元测试(618)。单元测试可以作为测试套件自动进行。在一个单元测试失败的情况下,可选地,可以在测试套件的附加测试上继续测试。例如,可以使用“无头的”浏览器来执行单元测试以用于自动GUI测试。在另一示例中,测试环境可以使用浏览器同步工具来同时在多个设备环境中测试应用程序。在一些实施方式中,如果单元测试未成功执行(620),则向开发者提供报告以帮助调试(606),并且开发者可以使用改变的编程代码重启工作流程(608)。
在一些实施方式中,一旦单元测试已成功执行(620),则执行端到端测试(622)。例如,端到端测试可以作为测试套件自动进行。可以使用“无头的”浏览器来执行端到端测试以用于自动GUI测试。在另一示例中,测试环境可以使用浏览器同步工具来同时在多个设备环境中进行应用程序的端到端测试。
在一些实施例中,如果没有成功执行端到端测试(624),则向开发者提供报告以帮助调试(606),并且开发者可以使用改变的编程代码来重启工作流程(608)。
在一些实施方式中,一旦端到端测试已成功执行(624),则压缩运行时可执行代码以产生可分发包(626)。该包现在可以投入生产,为终端用户提供新的用户界面能力。可分发包的能力不与诸如.NET框架之类的特定服务器侧技术相链接。相反,可分发包形成单向web架构的一部分,其中内容从服务器侧(例如,基于云的)web应用程序框架馈送到终端用户设备,并且终端用户设备将动作供给回web应用程序框架。web应用程序框架能将动作转换为新状态(例如,对更新内容的请求)。该单向web架构在下面的图7中示出。
转到图7,可以将图5的架构集成到内容管理***(CMS)106的扩展中,以通过带有基于应用程序的状态管理的静态SPA向终端用户设备提供交互式动态web内容。为了将前端web应用程序框架214并入到分析环境中并因此扩展CMS***106的能力,CMS处理程序104a-104n可以扩展为包含用于从用户设备706接收动作702的回调处理程序704。回调处理程序704可以通过用于与CMS 106接口而开发的预先存在的处理程序104a-104n的修改或扩展来创建。回调处理程序704被设计为与自定义web部件208通信,该自定义web部件208覆盖CMS106的内容导航模块114的默认处理。例如,自定义web部件208可以传送从在用户设备706上执行的JS应用程序包的视图提供器模块708接收的动作702,以基于静态SPA提供动态交互式GUI 710。例如,回调处理程序704可用于拦截来自用户设备706上的视图提供器模块708的动作702,并将动作702提供给web应用程序软件堆栈230的JS库部分710,以便转换到下一应用程序状态。
在操作中,应用程序包从内容开发***220提供给用户设备706。视图提供器模块708将支持web的内容(例如,HTML、XML等)作为交互式GUI 710渲染到屏幕。当用户与GUI710交互时,应用程序包的视图提供器模块708将交互(例如,键盘和/或鼠标事件)转换为通过应用程序编程接口(API)发布给回调处理程序704的动作702。
回调处理器704将动作702供给自定义web应用程序使能web部件208。通过自定义web应用程序使能web部件208将动作702递送到web应用程序软件堆栈230的JS库710。附加地,此时可以通过自定义web应用程序使能web部件208来进行其他扩展操作,诸如记录所接收的动作702或路由信息。
在web应用程序软件堆栈230中,JS库710(例如,类似于图5中的JS库518)与状态函数生成器712(例如,类似于图5中的状态函数生成器522)接口,以确定在用户设备上执行的用户交互式GUI的当前状态。例如,当前状态可以基于状态树232b的内容(例如,类似于关于图5描述的状态树520)。然后,状态函数发生器712将当前状态和动作702应用于状态更改函数以确定下一状态。下一状态可以与提供附加的交互式动态web内容714(例如,新数据分析信息和/或其他用户界面内容的递送)相关联。响应于状态更改,前端web框架214指示从内容开发***220向用户设备706提供交互式动态web内容714。新状态作为不可变数据对象存储在web应用程序软件堆栈230中(例如,如关于图5中的不可变值532所描述的)。
接下来,参考图8描述根据示例性实施例的计算设备、移动计算设备或服务器的硬件描述。在图8中,计算设备、移动计算设备或服务器包含进行上述过程的CPU 800。在一些示例中,计算设备800可以进行图1的内容管理***106或内容导航***114,图2的API处理程序204、自定义web应用程序使能web部件208、web应用程序软件堆栈230和内容开发***220,图3的自定义T&C接受web部件308,图4A的设置持久性API 406,图4B的仪表板交互式动态web内容426和用户偏好API 430,图5的技术堆栈500,以及图7的应用程序包视图提供器模块708的操作。过程数据和指令可以存储在存储器802中。这些过程和指令也可以存储在诸如硬盘驱动器(HDD)或便携式存储介质之类的存储介质盘804上,或者可以远程存储。在一些示例中,存储器802或存储介质盘804可以存储图2的交互式动态web内容222、数据库232和/或分析数据存储240,图4A的用户数据库408,图5的状态树520、设计模板526、JS扩展528和/或作为不可变值532的数据对象。此外,要求保护的进步不受存储创造性过程的指令的计算机可读介质的形式的限制。例如,指令可以存储在CD、DVD、闪存、RAM、ROM、PROM、EPROM、EEPROM、硬盘或计算设备、移动计算设备或服务器与之通信的任何其他信息处理设备(诸如,服务器或计算机)上。
此外,所要求保护的进步的一部分可以作为实用应用程序、后台守护进程或操作***的组件或其组合提供,与CPU 800和诸如Microsoft Windows 8、UNIX、Solaris、LINUX、Apple MAC-OS以及本领域技术人员已知的其他***之类的操作***一起执行。
CPU800可以是来自美国英特尔的Xenon或Core处理器,或来自美国AMD的Opteron处理器,或者可以是本领域普通技术人员将认识到的其他处理器类型。替代地,如本领域普通技术人员将认识到的,CPU 800可以在FPGA、ASIC、PLD上实现或使用分立逻辑电路实现。此外,CPU 800可以实现为并行协同工作的多个处理器,以执行上述创造性过程的指令。例如,CPU 800的处理电路可以执行关于图6的方法600描述的操作,以及图2、3、4A、4B、4C和7中的任何操作流程的部分。
图8中的计算设备、移动计算设备或服务器还包含网络控制器806,诸如来自美国英特尔公司的Intel Ethernet PRO网络接口卡,以用于与网络828接口。如可以理解的,网络828可以是诸如因特网之类的公共网络,或者诸如LAN或WAN网络之类的专用网络,或其任何组合,并且还可以包含PSTN或ISDN子网络。网络828也可以是有线的,诸如以太网,或者可以是无线的,诸如包含EDGE、3G和8G无线蜂窝***的蜂窝网络。无线网络还可以是Wi-Fi、蓝牙或已知的任何其他无线通信形式。例如,网络828可以提供web应用程序软件堆栈230与图2的自定义web应用程序使能web部件208和内容开发***220、图4A的用户设备404和内容导航模块114、图4A的CMS 106和用户数据库408、图4A的内容开发***220和内容管理***106、以及图7的用户设备706和API 104或回调处理程序704中的至少一个的通信。
计算设备、移动计算设备或服务器还包含显示控制器808,诸如来自美国英伟达公司的NVIDIA GeForce GTX或Quadro图形适配器,用于与诸如Hewlett Packard HPL2445wLCD监视器之类的显示器810接口。通用I/O接口812与键盘和/或鼠标814以及在显示器810上的或与其分开的触摸屏面板816接口。通用I/O接口还连接到包含诸如来自惠普公司的OfficeJet或DeskJet之类的打印机和扫描仪的各种***设备818。显示控制器808和显示器810例如可以使能在图4A的设置界面404、图4B的仪表板界面424、和/或图7的用户交互式图形用户界面710处呈现的图形用户界面。
在计算设备、移动计算设备或服务器中还提供声音控制器820,诸如来自创新科技公司的Sound Blaster X-Fi Titanium,以与扬声器/麦克风822接口,从而提供声音和/或音乐。
通用存储控制器824将存储介质盘804与通信总线826连接,通信总线826可以是ISA、EISA、VESA、PCI或类似物,以用于互连计算设备、移动计算设备或服务器的所有组件。为简洁起见,这里省略对显示器810、键盘和/或鼠标814,以及显示控制器808、存储控制器824、网络控制器806、声音控制器820和通用I/O接口812的一般特征和功能的描述,因为这些特征是已知的。
除非另外明确说明,否则可以利用一个或多个处理器来实现本文描述的各种功能和/或算法。附加地,除非另外明确说明,否则本文描述的任何功能和/或算法可以在一个或多个虚拟处理器上执行,例如在诸如计算机农场或云驱动器之类的一个或多个物理计算***上。
已经参考了根据本公开的实施方式的方法、***和计算机程序产品的流程图图示和框图。其各方面由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或一个或多个框图块中指定的功能/动作的部件。
这些计算机程序指令也可以存储在能指引计算机或其他可编程数据处理装置以特定方式起作用的计算机可读介质中,使得存储在计算机可读介质中的指令产生包含实现在流程图和/或一个或多个框图块中指定的功能/动作的指令部件的制品。
计算机程序指令也可以被加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上进行一系列操作步骤,以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或一个或多个框图块中指定的功能/动作的过程。
而且,本公开不限于本文描述的特定电路元件,本公开也不限于这些元件的特定大小和分类。例如,本领域技术人员将理解,可以基于电池大小和化学性质的变化,或者基于要供电的预期备用负载的要求来调整本文描述的电路。
本文描述的功能和特征也可以由***的各种分布式组件执行。例如,一个或多个处理器可以执行这些***功能,其中处理器分布在在网络中通信的多个组件上。除了各种人机界面和通信设备(例如,显示监视器、智能电话,平板计算机、个人数字助理(PDA)之外,分布式组件可以包含可以共享处理的一个或多个客户端和服务器机器,如图9所示。网络可以是诸如LAN或WAN之类的专用网络,或者可以是诸如因特网之类的公共网络。可以经由直接用户输入接收对***的输入,并且可以实时或作为批处理远程接收对***的输入。附加地,一些实施方式可以在与所描述的模块或硬件不同的模块或硬件上进行。因此,其他实施方式在可以要求保护的范围内。
在一些实施方式中,本文描述的可以与诸如Google云平台TM之类的云计算环境930接口以执行上面详述的方法或算法的至少一部分。在一些示例中,基于云的应用程序可以包含内容管理***106、内容开发***220和web应用程序软件堆栈230的性能。与本文描述的方法相关联的过程能够由数据中心934在诸如Google计算引擎之类的计算处理器上执行。例如,数据中心934还可以包含诸如Google应用程序引擎之类的应用程序处理器,其可以用作与本文描述的***的接口以接收数据并输出相应的信息。云计算环境930还可以包含一个或多个数据库938或其他数据存储,例如云存储和查询数据库。在一些实施方式中,诸如Google云存储之类的云存储数据库938可以存储由本文描述的***供给的已处理和未处理的数据。在一些示例中,图2的交互式动态web内容222、数据库232和/或分析数据存储240,图4A的用户数据库408,图5的状态树520、设计模板526、JS扩展528和/或作为不可变值532的数据对象可以在云存储数据库938内维护。
本文描述的***可以通过安全网关932与云计算环境930通信。在一些实施方式中,安全网关932包含数据库查询界面,诸如Google BigQuery平台。
云计算环境102可以包含用于资源管理的供应工具940。供应工具940可以连接到数据中心934的计算设备,以便于提供数据中心934的计算资源。供应工具940可以经由安全网关932或云控制器936接收对计算资源的请求。供应工具940可以便于与数据中心934的特定计算设备的连接。
网络902表示将云环境930连接到多个客户端设备的诸如因特网之类的一个或多个网络,在一些示例中,客户端设备诸如蜂窝电话910、平板计算机912、移动计算设备914和桌上型计算设备916。网络902还可以使用各种移动网络服务920经由无线网络进行通信,移动网络服务920诸如Wi-Fi、蓝牙、包含EDGE、3G和4G无线蜂窝***的蜂窝网络,或任何已知的其他无线通信形式。在一些实施例中,网络902对与客户端设备相关联的本地接口和网络是不可知的,以允许被配置为执行本文描述的过程的本地接口和网络的集成。
必须注意,如说明书和所附权利要求中所使用的,单数形式“一”、“一个”和“所述”包含复数指示物,除非上下文另有明确规定。即,除非另有明确说明,否则如本文所用,词语“一”、“一个”、“所述”等带有“一个或多个”的含义。附加地,应当理解的是,本文可能使用的诸如“左”、“右”、“顶部”、“底部”、“前”、“后”、“侧面”、“高度”、“长度”、“宽度”、“上部”、“下部”、“内部”、“内”,“外”等之类的术语仅仅描述参考点,并且不一定将本公开的实施例限制于任何特定的取向或配置。此外,诸如“第一”、“第二”、“第三”等之类的术语仅仅标识如本文所公开的多个部分、组件、步骤、操作、功能和/或参考点中的一个,并且同样地不一定将本公开的实施例限制于任何特定配置或取向。
此外,在某些实施例中,术语“近似”、“大约”,“接近”、“微小变化”和类似术语通常是指包含在20%、10%或优选地5%的边际内的识别值以及它们之间的任何值的范围。
除了明确说明的情况或者特征或功能与附加实施例不兼容的情况,结合一个实施例描述的所有功能旨在适用于下面描述的附加实施例。例如,在结合一个实施例明确描述给定特征或功能但未结合替代实施例明确提及的情况下,应该理解的是,发明人旨在可以结合替代实施例部署、利用或实现该特征或功能,除非该特征或功能与替代实施例不兼容。
尽管已经描述了某些实施例,但这些实施例仅以举例的方式提出,并且不旨在限制本公开的范围。实际上,本文描述的新颖的方法、装置和***可以以各种其他形式体现;此外,在不脱离本公开的精神的情况下,可以对本文描述的方法、装置和***的形式进行各种省略、替换和更改。所附权利要求及其等同物旨在涵盖落入本公开的范围和精神内的这些形式或修改。
Claims (20)
1.一种用于集成内容开发平台与内容管理平台的***,包括:
内容管理平台,包括:
用于从远程计算设备接收动作的应用程序编程接口(API)处理程序,和
用于生成web内容的内容导航模块;
内容开发平台,被配置为生成交互式动态web内容以供在远程计算设备处的用户查看;
web部件,被配置为经由web应用程序框架在内容管理平台和内容开发平台之间接口,其中
所述web部件被配置为覆盖对内容管理平台的请求的默认处理的一部分;并且
其中,响应于从远程计算设备接收的动作:
所述API处理程序将所述动作提供给所述web部件,
所述web部件与所述内容管理平台接口以传送有关所述动作的信息,
所述web部件将所述动作提供给所述web应用程序框架,并且
响应于从所述web部件接收所述动作,所述web应用程序框架与所述内容开发平台接口,以请求由所述内容管理平台生成的动态内容;
其中,所述web部件使得能够将所述动态内容注入到由所述内容管理平台的内容导航模块生成的web内容中。
2.如权利要求1所述的***,还包括用于从所述内容开发***接收交互式动态内容的应用程序包,所述应用程序包包括:
视图提供器模块,被配置为:
将所述交互式动态内容渲染到所述远程用户设备的屏幕以作为交互式图形用户界面,并且
响应于与所述交互式图形用户界面的用户交互,将多个动作传送到所述内容管理平台的回调处理程序。
3.如权利要求1所述的***,其中:
所述动作是登录请求;
所述API处理程序是登录处理程序;并且
所述web部件与所述内容管理***的用户管理模块接口以使能登录。
4.如权利要求1所述的***,其中,所述登录处理程序注入会话令牌以供所述交互式动态内容使用。
5.如权利要求1所述的***,其中,所述web部件被配置为与所述内容管理平台的内容管理模块接口,以将所述web内容与所述动态内容链接。
6.如权利要求5所述的***,其中,所述web部件将到所述动态内容的路径和使能访问所述动态内容的元数据中的至少一个注入到所述web内容中,以将所述web内容与所述动态内容链接。
7.如权利要求6所述的***,其中,所述元数据包括用于配置动态内容的渲染的初始设置。
8.如权利要求1所述的***,其中:
所述动作是仪表板加载请求;
所述交互式动态web内容被配置为与用户偏好API接口;并且
所述用户偏好API被配置为拦截来自所述内容导航模块的、到web内容的链接,以及
将多个用户偏好设置注入到所述到web内容的链接中。
9.如权利要求8所述的***,其中,所述到web内容的链接是统一资源定位符(URL)。
10.如权利要求1所述的***,其中:
所述web应用程序框架被并入到包括状态函数生成器的软件堆栈中,其中,所述状态函数生成器:
使用状态树管理交互式GUI的当前状态,并且
将所述当前状态传送到所述内容开发***以用于生成所述动态内容。
11.如权利要求1所述的***,还包括能够由所述内容管理***和所述内容开发***访问的数据存储,其中,所述动态内容呈现从在所述数据存储中维护的多个数据记录中导出的度量。
12.如权利要求1所述的***,其中:
所述内容管理平台包括包含所述API处理程序的至少两个API处理程序,其中
所述至少两个API处理程序的每个API处理程序被自定义以用于与所述web部件接口。
13.一种用于集成来自内容开发平台的动态内容与来自内容管理平台的web内容的方法,所述方法包括:
在内容管理平台的应用程序编程接口(API)处理程序处接收来自远程计算设备的动作;
通过所述API处理程序向web应用程序使能部件提供所述动作;
通过所述web应用程序使能部件向所述内容管理平台传送关于所述动作的信息;
响应于关于所述动作的信息,通过所述内容管理平台生成所述web内容;
通过所述web应用程序使能部件向web应用程序框架提供所述动作;
响应于从所述web应用程序使能部件接收所述动作,通过所述web应用程序框架与所述内容开发平台接口以请求由所述内容管理平台生成的动态内容;
响应于来自所述web应用程序框架的请求,生成所述动态内容;
通过所述web应用程序使能部件,将用于访问所述动态内容的访问信息注入到所述web内容中,以产生用于通过远程计算设备查看的集成动态内容;并且
经由所述内容管理平台向所述远程计算设备提供所述web内容。
14.如权利要求13所述的方法,还包括:
在所述远程计算设备处接收所述web内容;并且
使用所述访问信息访问来自所述内容开发***的所述动态内容。
15.如权利要求14所述的方法,其中,使用所述访问信息包括遵循到所述动态内容的源的统一资源标识符。
16.如权利要求13所述的方法,还包括:
响应于从所述web应用程序使能部件接收所述动作,通过与所述web应用程序框架通信的状态函数生成器确定经由先前动态内容呈现的交互式用户界面的当前状态;
其中,与所述内容开发平台接口以请求所述动态内容包括通过所述web应用程序框架向所述内容开发平台提供当前状态。
17.如权利要求16所述的方法,其中,web应用程序软件堆栈包括所述web应用程序框架和状态函数发生器。
18.如权利要求16所述的方法,还包括通过所述web应用程序框架将所述当前状态存储为不可变数据对象。
19.如权利要求13所述的方法,其中,所述交互式内容是单页应用程序(SPA)。
20.如权利要求13所述的方法,其中:
所述动作是登录请求;并且
所述web应用程序使能部件被配置为通过以下步骤支持来自所述内容管理***外部的条款和条件的接受:
拦截来自所述远程计算设备的条款和条件的接受,并且
与所述内容管理***的认证引擎接口以认证用户访问。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662437571P | 2016-12-21 | 2016-12-21 | |
US62/437,571 | 2016-12-21 | ||
US201662438709P | 2016-12-23 | 2016-12-23 | |
US201662438743P | 2016-12-23 | 2016-12-23 | |
US62/438,743 | 2016-12-23 | ||
US62/438,709 | 2016-12-23 | ||
PCT/SG2017/050633 WO2018117967A1 (en) | 2016-12-21 | 2017-12-21 | Content management system extensions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110651252A true CN110651252A (zh) | 2020-01-03 |
Family
ID=61054468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780079807.0A Pending CN110651252A (zh) | 2016-12-21 | 2017-12-21 | 内容管理***扩展 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11537272B2 (zh) |
EP (1) | EP3559830A1 (zh) |
CN (1) | CN110651252A (zh) |
WO (1) | WO2018117967A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922306B2 (en) | 2016-12-21 | 2021-02-16 | Aon Global Operations Plc, Singapore Branch | Systems and methods for automated bulk user registration spanning both a content management system and any software applications embedded therein |
US10990642B2 (en) | 2016-12-21 | 2021-04-27 | Aon Global Operations Se, Singapore Branch | Methods and systems for securely embedding dashboards into a content management system |
US11537272B2 (en) | 2016-12-21 | 2022-12-27 | Aon Global Operations Se, Singapore Branch | Content management system extensions |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10719300B2 (en) * | 2017-07-24 | 2020-07-21 | Wix.Com Ltd. | Segregated user-uploaded plugins to avoid affecting co-hosted websites |
US10587697B2 (en) * | 2018-03-21 | 2020-03-10 | Salesforce.Com, Inc. | Application-specific session authentication |
US11188353B2 (en) * | 2018-07-12 | 2021-11-30 | Vmware, Inc. | Runtime extension system for bundled web application |
US11232172B2 (en) | 2018-12-04 | 2022-01-25 | Sap Se | Collaborative web application and data system |
US10838744B2 (en) * | 2018-12-04 | 2020-11-17 | Sap Se | Web component design and integration system |
US10747407B2 (en) * | 2018-12-21 | 2020-08-18 | Genesys Telecommunications Laboratories, Inc. | System and method for delivering modular tools |
US10963230B2 (en) * | 2019-02-14 | 2021-03-30 | International Business Machines Corporation | Single page application continuous integration, build, and deployment |
CN109936575B (zh) * | 2019-03-07 | 2021-11-12 | 北京融链科技有限公司 | 页面访问方法、装置、存储介质及处理器 |
CN111782209A (zh) * | 2019-04-04 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 页面管理方法、装置、电子设备及计算机存储介质 |
EP3757790A1 (en) * | 2019-06-27 | 2020-12-30 | Sage Global Services Limited | Accessing web applications |
US11636128B1 (en) | 2019-07-16 | 2023-04-25 | Splunk Inc. | Displaying query results from a previous query when accessing a panel |
US11263268B1 (en) | 2019-07-16 | 2022-03-01 | Splunk Inc. | Recommending query parameters based on the results of automatically generated queries |
US11644955B1 (en) | 2019-07-16 | 2023-05-09 | Splunk Inc. | Assigning a global parameter to queries in a graphical user interface |
US11113294B1 (en) | 2019-07-16 | 2021-09-07 | Splunk Inc. | Recommending query templates during query formation |
US11604799B1 (en) | 2019-07-16 | 2023-03-14 | Splunk Inc. | Performing panel-related actions based on user interaction with a graphical user interface |
US11269871B1 (en) | 2019-07-16 | 2022-03-08 | Splunk Inc. | Displaying multiple editable queries in a graphical user interface |
US11386158B1 (en) | 2019-07-16 | 2022-07-12 | Splunk Inc. | Recommending query parameters based on tenant information |
US11216511B1 (en) | 2019-07-16 | 2022-01-04 | Splunk Inc. | Executing a child query based on results of a parent query |
US11562037B2 (en) | 2019-09-18 | 2023-01-24 | International Business Machines Corporation | Crawlability of single page applications |
CN111290912A (zh) * | 2020-01-22 | 2020-06-16 | 北京百度网讯科技有限公司 | 单页面应用性能监控方法、装置和电子设备 |
US11537503B2 (en) * | 2020-01-31 | 2022-12-27 | Salesforce.Com, Inc. | Code editor for user interface component testing |
CN111367525B (zh) * | 2020-03-19 | 2020-10-23 | 北京三维天地科技股份有限公司 | 一种前端架构*** |
US11204762B2 (en) * | 2020-03-24 | 2021-12-21 | UST Global Inc | Systems and methods for tracking features in a development environment |
CN111695075B (zh) * | 2020-06-12 | 2023-04-18 | 国网浙江省电力有限公司信息通信分公司 | 一种网站cms识别方法、安全漏洞检测方法及装置 |
US20220222130A1 (en) * | 2021-01-14 | 2022-07-14 | Bit Gooey Inc. | Systems and methods for integrating content management systems with software |
US11604789B1 (en) | 2021-04-30 | 2023-03-14 | Splunk Inc. | Bi-directional query updates in a user interface |
US11899670B1 (en) | 2022-01-06 | 2024-02-13 | Splunk Inc. | Generation of queries for execution at a separate system |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622601A (zh) * | 2006-08-30 | 2010-01-06 | 汤姆森路透社全球资源公司 | 基于文档内容、元数据和语境的以文档为中心的工作流程***、方法和软件 |
CN102257488A (zh) * | 2008-12-17 | 2011-11-23 | 微软公司 | 用于经由网络自动聚合内容的技术 |
CN102265275A (zh) * | 2008-12-22 | 2011-11-30 | 诺基亚公司 | 用于在用户终端上提供非受限内容的方法、装置和计算机程序产品 |
CN102426589A (zh) * | 2011-10-31 | 2012-04-25 | 合一网络技术(北京)有限公司 | 一种用于数据库信息检索的中间层***及信息检索方法 |
CN102868573A (zh) * | 2012-09-12 | 2013-01-09 | 北京航空航天大学 | Web服务负载云测试方法和装置 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和*** |
CN103036954A (zh) * | 2012-12-03 | 2013-04-10 | 北京邮电大学 | 基于gis的移动信息聚合***及其方法 |
CN103370689A (zh) * | 2010-10-01 | 2013-10-23 | Flex Electronics ID Co.,Ltd. | 跨环境应用兼容 |
CN103905568A (zh) * | 2013-04-22 | 2014-07-02 | 南通大学 | 保证***稳定性的基于嵌入式Web的远程监控装置 |
CN103970855A (zh) * | 2014-05-06 | 2014-08-06 | 车智互联(北京)科技有限公司 | 一种数据处理设备和方法 |
CN104335524A (zh) * | 2012-06-21 | 2015-02-04 | 国际商业机器公司 | 用于客户端侧页面处理的公共web可访问数据存储 |
US20150278171A1 (en) * | 2014-04-01 | 2015-10-01 | Adobe Systems Incorporated | Single page application authoring in a content management system |
US20160065555A1 (en) * | 2014-08-29 | 2016-03-03 | Box, Inc. | Accessing a cloud-based service platform using enterprise application authentication |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938077B2 (en) * | 2001-11-07 | 2005-08-30 | Microsoft Corporation | Client version advertisement service for overriding default client version properties |
US8136109B1 (en) * | 2002-04-19 | 2012-03-13 | Tibco Software Inc. | Delivery of data and formatting information to allow client-side manipulation |
US7350191B1 (en) | 2003-04-22 | 2008-03-25 | Noetix, Inc. | Computer implemented system and method for the generation of data access applications |
US7676835B2 (en) | 2004-08-31 | 2010-03-09 | International Business Machines Corporation | System and method for regulating access to objects in a content repository |
US8180042B2 (en) | 2007-08-17 | 2012-05-15 | Accenture Global Services Limited | Agent communications tool for coordinated distribution, review, and validation of call center data |
US9122650B1 (en) * | 2007-11-14 | 2015-09-01 | Appcelerator, Inc. | Web server based on the same paradigms as web clients |
US8621598B2 (en) | 2008-03-12 | 2013-12-31 | Intuit Inc. | Method and apparatus for securely invoking a rest API |
US8719912B2 (en) | 2008-06-27 | 2014-05-06 | Microsoft Corporation | Enabling private data feed |
US9379895B2 (en) | 2008-07-24 | 2016-06-28 | Zscaler, Inc. | HTTP authentication and authorization management |
US9274821B2 (en) | 2010-01-27 | 2016-03-01 | Vmware, Inc. | Independent access to virtual machine desktop content |
US20110223574A1 (en) | 2010-03-15 | 2011-09-15 | Crawford Benjamin F | Directed Collaboration Platform for Online Virtual Coaching and Training |
WO2012150602A1 (en) * | 2011-05-03 | 2012-11-08 | Yogesh Chunilal Rathod | A system and method for dynamically monitoring, recording, processing, attaching dynamic, contextual & accessible active links & presenting of physical or digital activities, actions, locations, logs, life stream, behavior & status |
US20130036178A1 (en) | 2011-08-05 | 2013-02-07 | Jason Pitt | Disseminating information |
CA2850268A1 (en) | 2011-10-14 | 2013-04-18 | Open Text S.A. | System and method for secure content sharing and synchronization |
TWI459314B (zh) * | 2011-11-22 | 2014-11-01 | Univ Nat Chiao Tung | 微件個人化及互動之架構及其方法 |
WO2013082654A1 (en) | 2011-12-07 | 2013-06-13 | Adinfinity Holdings Pty Ltd As Trustee For Adinfinity Ip Trust | Systems and methods for processing web page data |
US20130179199A1 (en) | 2012-01-06 | 2013-07-11 | Rovi Corp. | Systems and methods for granting access to digital content using electronic tickets and ticket tokens |
US20140026194A1 (en) * | 2012-07-22 | 2014-01-23 | Douglas K. Smith | ePHI-COMPLIANT GATEKEEPER SYSTEM & METHODS |
US8990958B2 (en) | 2012-08-31 | 2015-03-24 | Salesforce.Com, Inc. | Systems and methods for content management in an on demand environment |
US20140129457A1 (en) | 2012-11-02 | 2014-05-08 | Stroz Friedberg, LLC | An interactive organizational decision-making and compliance facilitation portal |
US10037352B1 (en) | 2013-03-18 | 2018-07-31 | The Boston Consulting Group, Inc. | Methods for editing hierarchical data |
US20150178861A1 (en) | 2013-12-20 | 2015-06-25 | Homer Tlc, Inc. | Systems and Methods for Quantitative Evaluation of a Property for Renovation |
US20150370882A1 (en) | 2014-06-20 | 2015-12-24 | Amazon Technologies, Inc. | Use of dependency graphs to dynamically update n-dimensional cubes |
EP2996049A1 (en) * | 2014-09-12 | 2016-03-16 | Kubity | System, method and computer program product for injecting directly into a web browser commands and/or contents created on local desktop applications of a computer device, and vice-versa |
CN104702677B (zh) | 2015-02-13 | 2017-06-23 | 腾讯科技(深圳)有限公司 | 链接处理方法、装置和*** |
US9629064B2 (en) * | 2015-03-20 | 2017-04-18 | Bkon Connect, Inc. | Beacon-implemented system for mobile content management |
US10049473B2 (en) | 2015-04-27 | 2018-08-14 | Splunk Inc | Systems and methods for providing for third party visualizations |
US10551989B2 (en) | 2015-06-01 | 2020-02-04 | Nextiva, Inc. | System and method of a customer management system |
US10147056B1 (en) * | 2015-06-12 | 2018-12-04 | Amazon Technologies, Inc. | Implicit occasion personalization for restaurants |
US10033702B2 (en) * | 2015-08-05 | 2018-07-24 | Intralinks, Inc. | Systems and methods of secure data exchange |
SG10201509171SA (en) | 2015-11-05 | 2017-06-29 | Voyager Innovations Inc | System and method for facilitating loans |
CN106909811B (zh) | 2015-12-23 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 用户标识处理的方法和装置 |
US10339299B1 (en) * | 2016-03-08 | 2019-07-02 | Kashmoo, Inc. | Runtime management of application components |
EP3249554A1 (en) * | 2016-05-24 | 2017-11-29 | Google LLC | Systems and methods for client-side dynamic information resource activation and deactivation |
US20170352073A1 (en) | 2016-06-02 | 2017-12-07 | Accenture Global Solutions Limited | Platform configuration tool |
US10970465B2 (en) * | 2016-08-24 | 2021-04-06 | Micro Focus Llc | Web page manipulation |
US11537272B2 (en) | 2016-12-21 | 2022-12-27 | Aon Global Operations Se, Singapore Branch | Content management system extensions |
US10990642B2 (en) | 2016-12-21 | 2021-04-27 | Aon Global Operations Se, Singapore Branch | Methods and systems for securely embedding dashboards into a content management system |
US10922306B2 (en) | 2016-12-21 | 2021-02-16 | Aon Global Operations Plc, Singapore Branch | Systems and methods for automated bulk user registration spanning both a content management system and any software applications embedded therein |
US10783019B1 (en) * | 2019-05-28 | 2020-09-22 | Imperva, Inc. | Single page application content injection |
-
2017
- 2017-12-19 US US15/846,496 patent/US11537272B2/en active Active
- 2017-12-21 EP EP17835884.2A patent/EP3559830A1/en not_active Withdrawn
- 2017-12-21 WO PCT/SG2017/050633 patent/WO2018117967A1/en unknown
- 2017-12-21 CN CN201780079807.0A patent/CN110651252A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622601A (zh) * | 2006-08-30 | 2010-01-06 | 汤姆森路透社全球资源公司 | 基于文档内容、元数据和语境的以文档为中心的工作流程***、方法和软件 |
CN102257488A (zh) * | 2008-12-17 | 2011-11-23 | 微软公司 | 用于经由网络自动聚合内容的技术 |
CN102265275A (zh) * | 2008-12-22 | 2011-11-30 | 诺基亚公司 | 用于在用户终端上提供非受限内容的方法、装置和计算机程序产品 |
CN103370689A (zh) * | 2010-10-01 | 2013-10-23 | Flex Electronics ID Co.,Ltd. | 跨环境应用兼容 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和*** |
CN102426589A (zh) * | 2011-10-31 | 2012-04-25 | 合一网络技术(北京)有限公司 | 一种用于数据库信息检索的中间层***及信息检索方法 |
CN104335524A (zh) * | 2012-06-21 | 2015-02-04 | 国际商业机器公司 | 用于客户端侧页面处理的公共web可访问数据存储 |
CN102868573A (zh) * | 2012-09-12 | 2013-01-09 | 北京航空航天大学 | Web服务负载云测试方法和装置 |
CN103036954A (zh) * | 2012-12-03 | 2013-04-10 | 北京邮电大学 | 基于gis的移动信息聚合***及其方法 |
CN103905568A (zh) * | 2013-04-22 | 2014-07-02 | 南通大学 | 保证***稳定性的基于嵌入式Web的远程监控装置 |
US20150278171A1 (en) * | 2014-04-01 | 2015-10-01 | Adobe Systems Incorporated | Single page application authoring in a content management system |
CN103970855A (zh) * | 2014-05-06 | 2014-08-06 | 车智互联(北京)科技有限公司 | 一种数据处理设备和方法 |
US20160065555A1 (en) * | 2014-08-29 | 2016-03-03 | Box, Inc. | Accessing a cloud-based service platform using enterprise application authentication |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922306B2 (en) | 2016-12-21 | 2021-02-16 | Aon Global Operations Plc, Singapore Branch | Systems and methods for automated bulk user registration spanning both a content management system and any software applications embedded therein |
US10990642B2 (en) | 2016-12-21 | 2021-04-27 | Aon Global Operations Se, Singapore Branch | Methods and systems for securely embedding dashboards into a content management system |
US11537272B2 (en) | 2016-12-21 | 2022-12-27 | Aon Global Operations Se, Singapore Branch | Content management system extensions |
Also Published As
Publication number | Publication date |
---|---|
WO2018117967A1 (en) | 2018-06-28 |
US11537272B2 (en) | 2022-12-27 |
US20180173390A1 (en) | 2018-06-21 |
EP3559830A1 (en) | 2019-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537272B2 (en) | Content management system extensions | |
US11947611B2 (en) | Systems and methods for enterprise web application dashboard management | |
KR102220127B1 (ko) | 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치 | |
KR102243793B1 (ko) | 코드 가상화 및 원격 프로세스 호출 생성을 위한 방법 및 장치 | |
US11635974B2 (en) | Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction | |
CN107665303B (zh) | 通过沙箱从网站检索内容 | |
CN110663040A (zh) | 用于将仪表板安全嵌入内容管理***的方法及*** | |
US10367890B2 (en) | Maintain single session with a single application across multiple clients | |
US20180083941A1 (en) | Pluggable authentication for enterprise web application | |
CN106997298A (zh) | 一种应用资源获取方法及装置 | |
US11640307B2 (en) | Process initiation | |
US11882154B2 (en) | Template representation of security resources | |
Bretet | Spring mvc cookbook | |
KR101739854B1 (ko) | 배포용 계산과학 플랫폼, 그 플랫폼의 검사 시스템 및 방법 | |
US20150143333A1 (en) | Native Application Variation | |
US20160078008A1 (en) | Integrating user interface experiences from multiple applications | |
Aryal | MERN stack with modern web practices | |
Gouvalas | Interactive Web Analytics Reporting Dashboard for Enterprise Businesses. Integrating Google’s Web tools for a one-stop reporting interface. | |
Sreekumar | Cross Platform Lightweight Social Networking Application for Next Generation E-Commerce | |
Freeman et al. | Making Asynchronous HTTP Requests | |
Korherr | RESTful web applications with reactive, partial server-side processing in Java EE | |
McDonough et al. | Intro to Client-Side Development | |
Freeman et al. | SportsStore: Orders and Administration | |
Lakshmiraghavan et al. | Consuming ASP. NET Web API |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200103 |
|
WD01 | Invention patent application deemed withdrawn after publication |