CN104253790B - 规范化页面流的方法和设备 - Google Patents

规范化页面流的方法和设备 Download PDF

Info

Publication number
CN104253790B
CN104253790B CN201310261024.8A CN201310261024A CN104253790B CN 104253790 B CN104253790 B CN 104253790B CN 201310261024 A CN201310261024 A CN 201310261024A CN 104253790 B CN104253790 B CN 104253790B
Authority
CN
China
Prior art keywords
page
portal assembly
url
portal
assembly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310261024.8A
Other languages
English (en)
Other versions
CN104253790A (zh
Inventor
王夕宁
刘�英
戴维.卡明斯基
尹瑞
吕双涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310261024.8A priority Critical patent/CN104253790B/zh
Priority to US14/286,462 priority patent/US10255373B2/en
Publication of CN104253790A publication Critical patent/CN104253790A/zh
Application granted granted Critical
Publication of CN104253790B publication Critical patent/CN104253790B/zh
Priority to US16/288,905 priority patent/US10839040B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种将页面流规范化为门户组件的方法和设备。所述方法包括:基于页面流中的一个或多个页面生成至少一个门户组件;对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及修改所述至少一个门户组件中的统一资源定位符URL。通过所述方法和设备,可以将开发者开发的页面流自动地规范化为更易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,使得开发者可以专注于页面流应用的开发,同时可以获得门户组件特有的用户体验和优势。

Description

规范化页面流的方法和设备
技术领域
本发明涉及页面流,并且更具体地涉及一种将页面流规范化(normalize)为门户组件(portlet)的方法和设备。
背景技术
页面流(page flow)是由一个或多个页面(或网页)组成的流,这些页面通过导航控制而被链接在一起,从而执行特定的业务逻辑。页面流允许将页面本身的代码(即,用户界面代码)与用于各个页面之间的导航控制的代码(即,导航控制代码)分开,使得可以将用户界面代码置于JSP文件中任意适当的位置,而将导航控制代码置于单独的控制文件中。这样,可以由不同的人员分别开发用户界面代码和导航控制代码,从而取得更好的开发效率和效果。然而,页面流不易于在不同应用之间共享,也不易于与现有的页面流集成在一起。
门户组件(portlet)是可插拔的用户界面组件,其通过门户组件容器来管理和显示。可以将多个门户组件混搭在一个页面中,从而实现页面的定制。这些门户组件可以互相通信,并且使用事件来确定用户在网络应用中的操作路径。门户组件还具有以下特点:单个门户组件可以具有多个实例,即,单个门户组件可以出现在单个门户内的不同页面上,或者可以出现在跨多个门户的页面上;门户组件是可定制的,即,可以定制门户组件以满足用户的需求;通过使组成页面的门户组件的URL包含导航状态信息(即,关于该页面和该页面上的所有门户组件的状态信息),可以使该门户组件支持导航状态路径。门户组件的上述特点使得其具有易于在不同的应用之间共享并且易于与现有的门户应用集成在一起等优点。
因此,存在将页面流规范化为门户组件以便获得门户组件的上述优点的需求。
发明内容
鉴于以上问题,本发明的目的是提供一种将页面流规范化为门户组件的方法和设备,其能够将开发者开发的页面流自动地规范化为易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,从而获得门户组件特有的用户体验和优势。
根据本发明的一个方面,提供了一种将页面流规范化为门户组件的方法,该方法包括:基于页面流中的一个或多个页面生成至少一个门户组件;对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及修改所述至少一个门户组件中的统一资源定位符(URL)。
根据本发明的另一个方面,提供了一种将页面流规范化为门户组件的设备,该设备包括:门户组件生成装置,被配置为基于页面流中的一个或多个页面生成至少一个门户组件;动作构建装置,被配置为对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及URL修改装置,被配置为修改所述至少一个门户组件中的URL。
通过根据本发明上述方面的方法和设备,可以将开发者开发的页面流自动地规范化为易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,使得开发者可以专注于页面流应用的开发,同时可以获得门户组件特有的用户体验和优势。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2是示出根据本发明实施例的将页面流规范化为门户组件的方法的流程图。
图3示出了页面流的元数据的示例。
图4A示出了构建门户组件内动作和门户组件间动作的示例。
图4B示出了表示对于图4A所示的示例构建的门户组件内动作的事件的代码段的示例。
图4C示出了表示对于图4A所示的示例构建的门户组件间动作的事件的代码段的示例。
图5示例性地示出了图2所示的步骤S203的详细操作。
图6是示出根据本发明实施例的将页面流规范化为门户组件的设备的框图。
图7是示出图6所示的门户组件生成装置的示例性结构的框图。
图8是示出图6所示的动作构建装置的示例性结构的框图。
图9是示出图6所示的URL修改装置的示例性结构的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
下面将参照附图来描述本发明实施例的将页面流规范化为门户组件的方法和设备。如上文所述,所述页面流可以包括一个或多个页面,这些页面通过页面间的导航控制而被依序链接在一起。
首先,参照图2来描述根据本发明实施例的将页面流规范化为门户组件的方法。在本发明的实施例中,为了将页面流规范为门户组件,首先需要基于页面流的各个页面生成门户组件,然后根据页面流的特点对所生成的门户组件进行规范化。
如图2所示,在步骤S201中,基于页面流中的一个或多个页面生成至少一个门户组件。
由于页面流包括一个或多个页面,因此可以基于这些页面生成一个或多个门户组件。此外,如上文所述,一个门户组件可以包括一个页面或者更多页面。这样,在基于页面流中的一个或多个页面生成至少一个门户组件时,首先需要确定所述多个页面中要生成到每个门户组件中的页面,即,确定哪些页面要生成到同一个门户组件中,哪些页面要生成到不同的门户组件中,由此可以确定基于所述一个或多个页面生成多少个门户组件。
可以根据预先设置的规则来确定所述一个或多个页面中要生成到每个门户组件中的页面。所述规则可以是根据实际需要选择的任何适当规则,并且可以应用于所有类型的页面流。
例如,所述规则可以是所述页面链接到的页面的类型。具体地,如果所述一个或多个页面中的一个页面链接到另一独立页面(即,其可以独立于所述一个页面显示而不会覆盖或替换它),则可以确定所述一个页面和所述另一独立页面被生成到两个门户组件中,另一方面,如果所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面(即,其将替换所述一个页面),则可以确定所述一个页面和所述另一页面被生成到同一个门户组件中。在这种情况下,可以通过提取并分析页面流的元数据来确定每个页面链接到的页面的类型。如本领域公知的,页面流的元数据描述页面流中的各个页面本身的属性、各个页面之间的链接关系或跳转关系等,因此可以根据元数据获知每个页面链接到的页面的类型。例如,如果通过分析该元数据,确定一个页面链接到一个弹出页面,如图3所示,所述弹出页面将覆盖这个页面,则可以确定这个页面和所述弹出页面被生成到同一个门户组件中。作为另一示例,如果通过分析元数据,确定一个页面包含表格,且该表格的某一列链接到另一独立页面,则可以确定这个页面和该另一独立页面被生成到两个门户组件中。
除了预先设置的应用于所有页面流的规则以外,用户也可以定制特定的规则,使得对于某些页面流,根据该特定的规则确定要生成到每个门户组件中的页面。或者,也可以根据用户定制的规则,选择/调整根据预先设置的规则确定的要生成到每个门户组件中的页面。用户可以根据实际需要来自由地定制所述规则。
在确定了要生成到每个门户组件中的页面之后,可以基于这些页面生成所述至少一个门户组件。具体地,可以按照符合门户组件规范的格式,产生描述这些页面的代码。基于页面来产生门户组件的方法是本领域公知的,在这里为简单起见而省略其详细描述。
返回图2,在步骤S202中,对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种。
如上所述,页面流中的各个页面通过导航控制而链接在一起,相应地,需要在所生成的门户组件中反映各个页面之间的链接关系,在本发明的实施例中,可以通过构建门户组件内动作和门户组件间动作中的至少一种来反映所述链接关系。具体地,对于被生成在同一个门户组件内的两个或更多页面,可以基于这些页面之间的链接关系构建门户组件内动作,而对于分别被包含在多个门户组件内的多个页面,可以基于这些页面之间的链接关系,构建门户组件间动作。
可以通过定义表示门户组件内动作和/或门户组件间动作的事件,来构建所述动作。下面,参照图4A-4C来示例性地描述构建所述动作的方法。
如图4A所示,假设页面流包括三个页面1-3,其中页面1和页面2通过事件“PayementHistoryEvent”相链接,即,当触发该事件时,从页面1跳转到页面2,页面2和页面3通过事件“PaymentApprovalDetailEvent”相链接,即,当触发该事件时,从页面2跳转到页面3。假设在基于页面1-3生成门户组件时,页面1和2被生成为门户组件A,页面3被生成为门户组件B。在这种情况下,事件“PayementHistoryEvent”对应于门户组件A内部的动作,事件“PaymentApprovalDetailEvent”对应于门户组件A和门户组件B之间的动作,换言之,需要构建门户组件A内的动作以反映事件“PayementHistoryEvent”,并且需要构建门户组件A和B之间的动作以反映事件“PaymentApprovalDetailEvent”。如上文所述,通过定义表示相应动作的事件,来构建所述动作。图4B示出了表示门户组件A内的动作的事件的代码示例,其反映事件“PayementHistoryEvent”,并且通过“eventID:event24626611298”来指示所述动作的具体内容。图4C示出了表示门户组件A和门户组件B之间的动作的事件的代码示例,其反映事件“PaymentApprovalDetailEvent”,并且通过“eventID:event24626611452”来指示所述动作的具体内容。
返回图2,在步骤S203中,修改所述至少一个门户组件中的统一资源定位符(URL)。
具体地,在如上所述生成了门户组件之后,还需要确保门户组件内的URL符合门户组件的规范,例如,针对页面中的链接的URL应当表示门户组件的绝对路径,并且应当携带导航状态信息,以保证门户组件的正确部署和运行。因此,根据所生成的门户组件的具体状态,可能需要修改门户组件内的URL。例如,当所述URL表示门户组件的相对路径,可以将该URL转换为表示门户组件的绝对路径的URL,然后根据转换后的所述URL的类型,修改所述至少一个门户组件中的URL。当所述URL表示门户组件的绝对路径时,可以直接根据所述URL的类型,修改所述至少一个门户组件中的URL。其中,如果所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,则可以将所述URL转换为携带导航状态信息的URL。此外,如果所述URL位于JavaScript文件中,则可以将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL,从而实现URL的规范化。图5示出了在步骤S203中修改所述至少一个门户组件中的URL的示例性方式。如图5所示,在步骤S2031中,确定门户组件内的URL是否表示该门户组件的相对路径。如果是,则在步骤S2032,将该URL转换为表示该门户组件的绝对路径的URL。具体地,可以通过将门户组件的根路径附加到该URL上,以便将该URL表示的相对路径转换为绝对路径。如本领域公知的,所述根路径可以通过分析该门户组件的上下文获得。例如,对于表示相对路径的URL<a href=“servlet/account?id=1003235458344">Detail</a>,可以通过将根路径“<%=PORTLET_CONTEXT%>”附加到该URL上,以便将其转换为表示门户组件的绝对路径的URL<a href=“<%=PORTLET_CONTEXT%>/servlet/account?id=1003235458344">Detail</a>。
在步骤S2032的URL转换完成之后,或者如果在步骤S2031中确定门户组件内的URL不是表示门户组件的相对路径,而是表示该门户组件的绝对路径,则在步骤S2033中,确定该URL(或转换后的URL)针对页面中的链接还是位于JavaScript文件中。如本领域公知的,门户组件可以包含JavaScript文件,因此,门户组件中的URL可能位于JavaScript文件中,也可能位于门户组件的其他位置并且指示页面中的链接。可以通过分析门户组件的上下文(例如该URL的父节点)来进行这一确定。注意,由于页面可能包含CSS文件,因此当门户组件中的URL位于CSS文件中并且针对一个链接时,可以认为该URL针对页面中的链接。
当在步骤S2033确定该URL针对页面中的链接时,在步骤S2034中,确定该URL是否链接到新窗口或新选项卡(tab)。如果不是,则可以不对该URL进行处理。反之,如果该URL链接到新窗口或新选项卡,则在步骤S2035,将该URL转换为携带导航状态信息的URL。如本领域公知的,导航状态信息是描述门户组件当前所在的页面的布局,该门户组件的窗口状态(常规、最小化、最大化)和呈现参数等的信息。可以使用本领域公知的方式来将该URL转换为携带导航状态信息的URL,例如可以使用在现有的门户组件引擎中通常提供的导航状态系统编程接口(SPI)中的服务来将该URL转换为携带导航状态信息的URL,在这里为简单起见而省略其详细描述。
当在步骤S2033中确定该URL位于JavaScript文件中时,在步骤S2036,将该JavaScript文件中表示相对路径的所有URL都转换为表示绝对路径的URL,即,将绝对路径传播到该JavaScript文件中的相关JavaScript变量中,以使其符合门户组件的规范。可以按照上文所述的方式进行这一转换。此外,可选地,还可以按照上文所述的方式,将JavaScript文件中转换后的URL进一步转换为携带导航状态信息的URL。
通过执行上述操作,可以基于页面流的页面生成规范化的门户组件,从而将页面流规范化为门户组件。
下面,参照图6来描述根据本发明实施例的将页面流规范化为门户组件的设备。该设备可以按照上文所述的方式执行根据本发明实施例的将页面流规范化为门户组件的方法,由于细节已经在上文中描述过,因此下面为避免重复而仅对该设备进行简要的描述。
如图6所示,设备600包括门户组件生成装置601、动作构建装置602和URL修改装置603。
门户组件生成装置601接收开发者开发的页面流文件,并且基于页面流中的一个或多个页面生成至少一个门户组件。图7示出了门户组件生成装置601的示例性结构。如图7所示,门户组件生成装置601可以包括确定单元6011和生成单元6012。
确定单元6011确定所述一个或多个页面中要生成到每个门户组件的页面。确定单元6011可以根据预先设置的规则来确定所述多个页面中要生成到每个门户组件中的页面。所述规则可以是根据实际需要选择的任何适当规则。如上文所述,所述规则例如可以是所述页面链接到的页面的类型。具体地,如果所述一个或多个页面中的一个页面链接到另一独立页面(即,其可以独立与所述一个页面显示而不会覆盖或替换它),则确定单元6011可以确定所述一个页面和所述另一独立页面被生成到两个门户组件中,另一方面,如果所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面(即,其将替换所述一个页面),则确定单元6011可以确定所述一个页面和所述另一页面被生成到同一个门户组件中。确定单元6011可以通过提取并分析页面流的元数据来确定每个页面链接到的页面的类型。除了预先设置的规则以外,用户也可以定制特定的规则,使得对于某些页面流,确定单元6011根据该特定的规则确定要生成到每个门户组件中的页面,或者根据用户定制的规则,选择/调整根据预先设置的规则确定的要生成到每个门户组件的页面。
生成单元6012基于所确定的要生成到每个门户组件中的页面,生成至少一个门户组件。生成单元6012可以使用本领域公知的方法基于页面来生成门户组件,在这里为简单起见而省略其详细描述。
返回图6,动作构建装置602对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种。例如,对于被生成在同一个门户组件内的两个或更多页面,动作构建装置602可以基于这些页面之间的链接关系构建门户组件内动作,而对于被分别被包含在多个门户组件内的多个页面,动作构建装置602可以基于这些页面之间的链接关系,构建门户组件间动作。
图8示出了动作构建装置602的示例性结构。如图8所示,动作构建装置602可以包括门户组件内动作构建单元6021和门户组件间动作构建单元6022。门户组件内动作构建单元6021可以基于被包含在一个门户组件内的页面之间的链接关系,构建该门户组件内动作。门户组件间动作构建单元6022可以基于分别被包含在多个门户组件内的多个页面之间的链接关系,构建该门户组件间动作。如上文所述,门户组件内动作构建单元6021和门户组件间动作构建单元6022可以通过定义表示门户组件内动作和门户组件间动作的事件,来构建所述动作。
返回图6,URL修改装置603修改所述至少一个门户组件中的URL。具体地,在如上所述生成了门户组件之后,除了构建门户组件内动作和门户组件间动作以反映页面流的页面之间的链接关系以外,还需要确保门户组件内的URL符合门户组件的规范。因此,在必要时,URL修改装置603可以修改门户组件内的URL。
图9示出了URL修改装置603的示例性结构。如图9所示,URL修改装置603可以包括转换单元6031和修改单元6032。
当所述URL表示门户组件的相对路径时,转换单元6031将该URL转换为表示绝对路径的URL。具体地,转换单元6031可以通过将门户组件的根路径附加到该URL上,以便将该URL表示的相对路径转换为绝对路径。如本领域公知的,转换单元6031可以通过分析该门户组件的上下文获得所述根路径。然后,修改单元6032可以根据该URL(即,转换后的URL)的类型,修改所述至少一个门户组件中的URL。具体地,当所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡时,修改单元6032将所述URL转换为携带导航状态信息的URL,在这种情况下,修改单元6032可以使用本领域公知的方式来将该URL转换为携带导航状态信息的URL,例如可以使用在现有的门户组件引擎中通常提供的导航状态系统编程接口(SPI)中的服务来将该URL转换为携带导航状态信息的URL。另一方面,如果所述URL位于JavaScript文件中,则修改单元6032将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL,从而将绝对路径传播到该文件中的所有相关变量中。此外,可选地,修改单元还可以将该文件中的转换后的URL进一步转换为携带导航状态信息的URL。
当所述URL表示门户组件的绝对路径时,无需转换单元6031的转换,修改单元6032可以直接根据该URL的类型,按照上文所述的方式修改所述至少一个门户组件中的URL。具体地,如果所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,则修改单元6032可以将所述URL转换为携带导航状态信息的URL,如果所述URL位于JavaScript文件中,则修改单元6032可以将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL,并且可选地将该文件中的转换后的URL进一步转换为携带导航状态信息的URL。
利用根据本发明实施例的上述方法和设备,可以将开发者开发的页面流自动地规范化为更易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,使得开发者可以专注于页面流应用的开发,同时可以获得门户组件特有的用户体验和优势。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (6)

1.一种将页面流规范化为门户组件的方法,包括:
基于页面流中的一个或多个页面生成至少一个门户组件;
对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及
修改所述至少一个门户组件中的统一资源定位符URL,
其中,所述URL表示门户组件的相对路径,并且其中,所述修改所述至少一个门户组件内的URL包括:
将该URL转换为表示门户组件的绝对路径的URL,其中所述转换将该门户组件的根路径附加到该URL上;
根据转换后的所述URL的类型,修改所述至少一个门户组件中的URL,
其中,所述对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种包括:
基于被包含在一个门户组件内的页面之间的链接关系,构建门户组件内动作;以及
基于分别被包含在多个门户组件内的多个页面之间的链接关系,构建门户组件间动作,
其中通过定义表示所述门户组件内动作和/或所述门户组件间动作的事件,来构建所述门户组件内动作和/或所述门户组件间动作,
其中,所述根据所述URL的类型,修改所述至少一个门户组件中的URL包括:
响应于所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,将所述URL转换为携带导航状态信息的URL;以及
响应于所述URL位于JavaScript文件中,将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL。
2.如权利要求1所述的方法,其中,所述基于页面流中的一个或多个页面生成至少一个门户组件包括:
确定所述一个或多个页面中要生成到每个门户组件中的页面;以及
基于所确定的需要生成到每个门户组件中的页面,生成至少一个门户组件。
3.如权利要求2所述的方法,其中,所述确定需要生成到至少一个门户组件中的一个或者多个页面包括:
响应于所述一个或多个页面中的一个页面链接到另一独立页面,确定所述一个页面和所述另一独立页面被生成到两个门户组件中;
响应于所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面,确定所述一个页面和所述另一页面被生成到同一个门户组件中。
4.一种将页面流规范化为门户组件的设备,包括:
门户组件生成装置,被配置为基于页面流中的一个或多个页面生成至少一个门户组件;
动作构建装置,被配置为对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及
统一资源定位符URL修改装置,被配置为修改所述至少一个门户组件中的URL,
其中,所述URL表示门户组件的相对路径,并且其中,所述URL修改装置包括:
转换单元,被配置为将该URL转换为表示绝对路径的URL,其中所述转换将该门户组件的根路径附加到该URL上;
修改单元,被配置为根据转换后的所述URL的类型,修改所述至少一个门户组件中的URL,
其中,所述动作构建装置包括:
门户组件内动作构建单元,被配置为基于被包含在一个门户组件内的页面之间的链接关系,构建门户组件内动作;以及
门户组件间动作构建单元,被配置为基于分别被包含在多个门户组件内的多个页面之间的链接关系,构建门户组件间动作,
其中通过定义表示所述门户组件内动作和/或所述门户组件间动作的事件,来构建所述门户组件内动作和/或所述门户组件间动作,
其中,所述修改单元响应于所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,将所述URL转换为携带导航状态信息的URL,以及响应于所述URL位于JavaScript文件中,将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL。
5.如权利要求4所述的设备,其中,所述门户组件生成装置包括:
确定单元,被配置为确定所述多个页面中要生成到每个门户组件中的页面;以及
生成单元,被配置为基于所确定的要生成到每个门户组件中的页面,生成至少一个门户组件。
6.如权利要求5所述的设备,其中,所述确定单元响应于所述一个或多个页面中的一个页面链接到另一独立页面,确定所述一个页面和所述另一独立页面被生成到两个门户组件中,以及响应于所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面,确定所述一个页面和所述另一页面被生成到同一个门户组件中。
CN201310261024.8A 2013-06-27 2013-06-27 规范化页面流的方法和设备 Active CN104253790B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310261024.8A CN104253790B (zh) 2013-06-27 2013-06-27 规范化页面流的方法和设备
US14/286,462 US10255373B2 (en) 2013-06-27 2014-05-23 Normalizing a page flow
US16/288,905 US10839040B2 (en) 2013-06-27 2019-02-28 Normalizing a page flow

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310261024.8A CN104253790B (zh) 2013-06-27 2013-06-27 规范化页面流的方法和设备

Publications (2)

Publication Number Publication Date
CN104253790A CN104253790A (zh) 2014-12-31
CN104253790B true CN104253790B (zh) 2018-08-28

Family

ID=52116933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310261024.8A Active CN104253790B (zh) 2013-06-27 2013-06-27 规范化页面流的方法和设备

Country Status (2)

Country Link
US (2) US10255373B2 (zh)
CN (1) CN104253790B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860186B2 (en) * 2014-09-26 2020-12-08 Oracle International Corporation User interface component wiring for a web portal
CN106469044B (zh) * 2015-08-14 2021-02-02 腾讯科技(深圳)有限公司 实现页面跳转的方法和装置
US9507694B1 (en) * 2015-10-30 2016-11-29 Semmle Limited Artifact normalization
US10353978B2 (en) * 2016-07-06 2019-07-16 Facebook, Inc. URL normalization
CN111311715B (zh) * 2020-02-14 2023-07-21 北京三快在线科技有限公司 一种网页中添加动画效果的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1956445A (zh) * 2005-10-28 2007-05-02 北京航空航天大学 一种面向Web服务的门户组件的实现方法
CN101228521A (zh) * 2004-03-15 2008-07-23 雅虎公司 个性化门户与web内容聚合的集成
CN102662993A (zh) * 2012-03-14 2012-09-12 北京神州数码思特奇信息技术股份有限公司 一种页面数据提供方法

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036521A1 (en) * 2001-10-24 2003-05-01 Bea Systems, Inc. Data synchronization
US20030167315A1 (en) * 2002-02-01 2003-09-04 Softwerc Technologies, Inc. Fast creation of custom internet portals using thin clients
CA2406565A1 (en) 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for using business rules or user roles for selecting portlets in a web portal
US7523174B2 (en) * 2002-10-15 2009-04-21 International Business Machines Corporation Dynamic portal assembly
US20040090969A1 (en) * 2002-11-12 2004-05-13 International Business Machines Corporation Portlet data sharing system, method, and program product
US20040098467A1 (en) * 2002-11-15 2004-05-20 Humanizing Technologies, Inc. Methods and systems for implementing a customized life portal
JP4282312B2 (ja) * 2002-11-27 2009-06-17 富士通株式会社 Webサーバ、Javaサーブレットの機能を有するWebサーバ、およびコンピュータプログラム
US8001463B2 (en) * 2002-12-02 2011-08-16 Oracle International Corporation Web page communications using parameters and events
US7890877B2 (en) * 2003-02-27 2011-02-15 Oracle International Corporation Systems and methods for improved portal development
US7814423B2 (en) 2003-02-28 2010-10-12 Bea Systems, Inc. Method for providing a graphical user interface
US20040226030A1 (en) * 2003-02-28 2004-11-11 Kyle Marvin Systems and methods for an extensible software proxy
US7685515B2 (en) * 2003-04-04 2010-03-23 Netsuite, Inc. Facilitating data manipulation in a browser-based user interface of an enterprise business application
US7685010B2 (en) * 2003-04-04 2010-03-23 Netsuite, Inc. Concise communication of real-time business information in an enterprise network
US9032096B2 (en) * 2003-12-17 2015-05-12 Cisco Technology, Inc. Reducing the impact of network latency on application performance
US20050166188A1 (en) 2004-01-27 2005-07-28 Secrist Mark S. Portal design system and methodology
US7266806B2 (en) * 2004-03-02 2007-09-04 International Business Machines Corporation Portlet template based on a state design pattern
US8065415B2 (en) * 2004-05-14 2011-11-22 Oracle International Corporation System and method for utilizing a common framework for portal administration tools
US20050256808A1 (en) * 2004-05-17 2005-11-17 Bea Systems, Inc. System and method for implementing authentication web services for remote portlets
US20060036954A1 (en) * 2004-05-25 2006-02-16 International Business Machines Corporation Web services based portlet catalog
US20060004913A1 (en) * 2004-06-30 2006-01-05 Kelvin Chong System and method for inter-portlet communication
JP4583218B2 (ja) * 2004-07-05 2010-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 対象コンテンツを評価する方法、コンピュータ・プログラム、システム
US7475354B2 (en) * 2004-07-09 2009-01-06 International Business Machines Corporation Method for generating a portal page
US7500181B2 (en) * 2004-08-31 2009-03-03 International Business Machines Corporation Method for updating a portal page
EP1794688A2 (en) * 2004-09-17 2007-06-13 International Business Machines Corporation Display and installation of portlets on a client platform
US7496855B2 (en) * 2004-10-05 2009-02-24 International Business Machines Corporation Method and system for maintaining scroll position in a web user interface
US20060080612A1 (en) * 2004-10-07 2006-04-13 International Business Machines Corporation Dynamic portlet tabbing
US7493564B2 (en) 2005-04-26 2009-02-17 International Business Machines Corporation Method for the display of visual sequencing of launched application portlets and task page relationship information in a web-base environment
CN100580670C (zh) * 2005-06-03 2010-01-13 国际商业机器公司 用于由用户触发的内容恢复的方法和计算机系统
US7647644B2 (en) * 2005-06-29 2010-01-12 Bea Systems, Inc. Entitlement designation in web services for remote portlets environment
US7996494B2 (en) 2005-06-29 2011-08-09 Oracle International Corporation System and method for delivering grouped web service applications
US8214731B2 (en) * 2005-06-30 2012-07-03 International Business Machines Corporation Independently refreshing portlet content in a portal view
US20070061707A1 (en) * 2005-09-15 2007-03-15 International Business Machines Corporation Method, system, and computer program product for providing virtual views in an on-demand portal infrastructure
US7661061B2 (en) * 2005-10-17 2010-02-09 International Business Machines Corporation Visualization of collaborative portlet sequences
US20070124506A1 (en) * 2005-10-27 2007-05-31 Brown Douglas S Systems, methods, and media for dynamically generating a portal site map
US8046696B2 (en) * 2005-11-17 2011-10-25 Oracle International Corporation System and method for providing active menus in a communities framework
US7801970B2 (en) * 2005-12-08 2010-09-21 International Business Machines Corporation Method and system for efficiently handling navigational state in a portal
US7653659B2 (en) * 2005-12-12 2010-01-26 International Business Machines Corporation System for automatic arrangement of portlets on portal pages according to semantical and functional relationship
US7519913B2 (en) * 2006-06-01 2009-04-14 International Business Machines Corporation System and method for providing indicators of component interaction capability across navigation elements
CN101127038B (zh) * 2006-08-18 2012-09-19 鸿富锦精密工业(深圳)有限公司 下载网站静态网页的系统及方法
US7890885B2 (en) * 2006-08-21 2011-02-15 International Business Machines Corporation Content navigational shortcuts for portal environments
WO2008031646A1 (en) * 2006-09-11 2008-03-20 International Business Machines Corporation Method for recommending short-cuts in order to ease and fasten navigating within navigation topology
US8463844B2 (en) * 2007-05-09 2013-06-11 Oracle International Corporation Portlets in non-portal pages
US7996770B2 (en) * 2007-08-08 2011-08-09 International Business Machines Corporation Portal interaction using ontology-based dictionaries
CN101458693A (zh) * 2007-12-13 2009-06-17 鸿富锦精密工业(深圳)有限公司 网页下载解析系统及方法
US8365271B2 (en) 2008-02-27 2013-01-29 International Business Machines Corporation Controlling access of a client system to access protected remote resources supporting relative URLs
US20100070847A1 (en) * 2008-09-12 2010-03-18 International Business Machines Corporation Web Content Management Template Pages in a Portal
US20100070929A1 (en) * 2008-09-12 2010-03-18 International Business Machines Corporation Method for Automatically Constructing Pageflows by Analysing Traversed Breadcrumbs
US8271472B2 (en) * 2009-02-17 2012-09-18 International Business Machines Corporation System and method for exposing both portal and web content within a single search collection
EP2572338A4 (en) * 2010-05-21 2016-04-27 Hsbc Technology & Services Usa Inc ACCOUNT OPERATING COMPUTER SYSTEM ARCHITECTURE AND IMPLEMENTATION METHOD THEREFOR
US9275360B2 (en) 2010-05-21 2016-03-01 Hsbc Technology & Services (Usa) Inc. Account opening flow configuration computer system and process for implementing same
US9785710B2 (en) * 2011-10-11 2017-10-10 International Business Machines Corporation Automatic crawling of encoded dynamic URLs
US9323728B2 (en) * 2012-03-16 2016-04-26 International Business Machines Corporation Coordinating the management of the layout and design of portal pages with the management of its associated web content
US20130326046A1 (en) * 2012-05-30 2013-12-05 Progress Software Corp. Systems, methods and media for providing client-side interportlet communication
CA2817554A1 (en) * 2012-06-01 2013-12-01 Atiq Hashmi Mobile content management system
US10891423B2 (en) * 2014-03-20 2021-01-12 International Business Machines Corporation Portlet display on portable computing devices
US20150309993A1 (en) * 2014-04-24 2015-10-29 Jeffrey Charles Wilde Agile Enterprise Globalization
US10860186B2 (en) * 2014-09-26 2020-12-08 Oracle International Corporation User interface component wiring for a web portal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101228521A (zh) * 2004-03-15 2008-07-23 雅虎公司 个性化门户与web内容聚合的集成
CN1956445A (zh) * 2005-10-28 2007-05-02 北京航空航天大学 一种面向Web服务的门户组件的实现方法
CN102662993A (zh) * 2012-03-14 2012-09-12 北京神州数码思特奇信息技术股份有限公司 一种页面数据提供方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The Online Knowledge Center: Building a Component Based Portal;O. Balsoy;《International Conference on Information & Knowledge Engineering》;20010615;第2页第2段至第10段 *

Also Published As

Publication number Publication date
US20150007006A1 (en) 2015-01-01
US10839040B2 (en) 2020-11-17
CN104253790A (zh) 2014-12-31
US20190197067A1 (en) 2019-06-27
US10255373B2 (en) 2019-04-09

Similar Documents

Publication Publication Date Title
US11868231B2 (en) System and method for evaluating code by a hybrid of local and cloud-based computers
US11734584B2 (en) Multi-modal construction of deep learning networks
US10839040B2 (en) Normalizing a page flow
CN104346153B (zh) 用于翻译应用程序的文本信息的方法和系统
CN103425728B (zh) 用于组书签的方法和系统
US11036937B2 (en) Contraction aware parsing system for domain-specific languages
US9910913B2 (en) Ingestion planning for complex tables
CN110083790A (zh) 页面编辑方法、页面输出方法、装置、计算机设备及介质
CN111814951B (zh) 调试深度神经网络
Ono et al. Cytoscape tools for the web age: D3. js and Cytoscape. js exporters
US10169427B2 (en) Personalized highlighter for textual media
CN105446725B (zh) 用于模型驱动开发的方法和系统
US11048885B2 (en) Cognitive translation service integrated with context-sensitive derivations for determining program-integrated information relationships
CN109656617A (zh) 一种Web Service前端部署方法、存储介质、电子设备及系统
CN109271403A (zh) 一种数据查询的操作方法、装置、介质及电子设备
CN111316232A (zh) 使用程序的注释来提供优化
CN109739600A (zh) 数据处理方法、介质、装置和计算设备
CN109062572A (zh) 一种组件调用方法、装置、设备及存储介质
CN103914296A (zh) 用于本机语言ide代码帮助的方法和系统
US20210141845A1 (en) Page content ranking and display
US20150261399A1 (en) Method and system for predicting and automating user interaction with computer program user interface
Cheng et al. autoCode4: structural controller synthesis
CN105493033A (zh) 声明性配置元素
US20220277082A1 (en) Incremental regulatory compliance
CN111290757B (zh) 基于Weex的在线代码编译方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant