Abstract:
Embodiments of the present invention address deficiencies of the art in respect to processing forms submissions in a portal environment and provide a method, system and computer program product for independently refreshing a forms submission in a portal view. In one embodiment, a system for independently submitting forms in a portal view can include a portal server configured to render a portal view and a portlet aggregator coupled to the portal server. The portal aggregator can be configured to provide portlet markup for different portlets in the portal view where at least one of the different portlets includes a visible form includes one or more form elements.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to the field of portal environment management and more particularly to refreshing portlet content within a portal view. 
     2. Description of the Related Art 
     Distributing content about large computer communications networks is not without its challenges. In particular, the quantity of content available for distribution in a computer communications network often varies proportionally to the size of the computer communications network. At the extreme, the Internet hosts a vast quantity of content not easily accessible by most end-users. Portals represent a sensible solution to the problem of aggregating content through a channel paradigm in a single, network-addressable location. In consequence, portals have become the rage in content distribution. 
     Portlets are the visible active components included as part of portal pages. Similar to the graphical windows paradigm of windowing operating systems, each portlet in a portal occupies a portion of the portal page through which the portlet can display associated content from a portlet channel. Portlets are known to include both simple applications such as an electronic mail client, and also more complex applications such as forecasting output from a customer relationship management system. The prototypical portlet can be implemented as server-side scripts executed through a portal server. 
     From the end-user perspective, a portlet is a content channel or application to which the end-user can subscribe. By comparison, from the perspective of the content provider, a portlet is a means through which content can be distributed in a personalized manner to a subscribing end-user. Finally, from the point of view of the portal, a portlet merely is a component which can be rendered within the portal page. In any case, by providing one or more individually selectable and configurable portlets in a portal, portal providers can distribute content and applications through a unified interface in a personalized manner according to the preferences of the end-user. 
     Portal servers are computer programs which facilitate the distribution of portal based Web sites on the public Internet or a private intranet. Importantly, it will be recognized by one of ordinary skill in the art that the signature characteristic of all conventional portal servers can include the aggregation of content from several portlet applications within a single distributable page in a uniform manner. To that end, each portlet application within the portal page can be represented by a portlet user interface distributed by the portal server to requesting client computing devices. 
     Portals display an aggregation of markup that can, and frequently does, incorporate forms that originate from multiple content sources. The performance and availability of any one of these sources can have a profound effect upon the end user experience with a portal, since the entire portal display must be aggregated prior to rendering the portal in a client viewer. Specifically, aggregation complicates the notion of refresh, and the Web based interface of a portal can compound matters further. In this regard, forms defined within portlets running in the portal view that process a submission cannot do so without interrupting the display of neighboring portlets. This type of interruption can be distracting and a source of frustration for the end user. 
     BRIEF SUMMARY OF THE INVENTION 
     Embodiments of the present invention address deficiencies of the art in respect to processing forms submissions in a portal environment and provide a novel and non-obvious method, system and computer program product for independently refreshing a forms submission in a portal view. In one embodiment, a system for independently submitting forms in a portal view can include a portal server configured to render a portal view and a portlet aggregator coupled to the portal server. The portal aggregator can be configured to provide portlet markup for different portlets in the portal view where at least one of the different portlets includes a visible form includes one or more form elements. 
     The portlet aggregator can include logic enabled to generate a companion form for the visible form in a hidden frame. The hidden frame can include a script programmed to provide an updated view to the portlet aggregator for a corresponding one of the visible forms. The portlet aggregator can be enabled to write logic to update form elements in the companion form with data from corresponding form elements in the visible form. Finally, the portlet aggregator further can be enabled to write logic to submit the companion form in response to a request to submit the visible form. Notably, the logic enabled to update form elements in the companion form with data from corresponding form elements in the visible form can include script logic disposed in the at least one of the different portlets comprising a visible form. In this regard, the script logic can be further enabled to submit the companion form in response to a request to submit the visible form. 
     A method for independently submitting forms in a portal view can include generating a companion form in a hidden frame for a visible form, updating form elements in the companion form with data from corresponding form elements in the visible form, and submitting the companion form in response to a request to submit the visible form. Generating a companion form in a hidden frame for a visible form can include generating a companion form in a hidden frame associated with a portlet in the portal view for a visible form disposed in the portlet in the portal view. The method further can include receiving an updated view in response to the submitting and providing the updated view to the portlet for display in the portal view. 
     Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
       The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein: 
         FIG. 1  is a pictorial illustration of form defined within portlet markup configured to accommodate independent form submission in a portal view; 
         FIG. 2  is a schematic illustration of a portal environment configured to accommodate the independent form submission in a portal view; and, 
         FIG. 3  is a flow chart illustrating a method for independent form submission in a portal view. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Embodiments of the present invention provide a method, system and computer program product for independent submission of forms in a portal view. In accordance with an embodiment of the present invention, element data within a form in a portlet within a portal view can be copied to a companion form in a hidden frame for the portlet. Subsequently, the companion form within the hidden frame can be submitted for processing. A resulting view can be provided in consequence of the submission and the resulting view can be rendered in the portlet within the portal view. In this way, the submission of the form in the portlet in the portal view need not disturb the presentation of other portlets in the portal view. 
     In more particular illustration,  FIG. 1  is a pictorial illustration of form defined within portlet markup configured to accommodate independent form submission in a portal view. As shown in  FIG. 1 , a visible portion of a portlet  110  can be defined within a portal view  140 . The visible portion of the portlet  110  can include a form  120  having one or more form elements  130 , for instance text entry fields, radio buttons, check boxes, drop-down boxes, and the like. In addition to the visible portion of a portlet  110 , a hidden frame  150  for the portlet  110  can be defined. The hidden frame  150  can include a companion form  170  to the form  120  in the visible portion of the portlet  110 . In this regard, the companion form  170  in the hidden frame  150  can include one or more form elements  180  which correspond to the elements  130  in the form  120  of the visible portion of the portlet  110 . 
     In operation, in response to the activation of a submission request for the form  120 , script logic  190  disposed in the visible portion of the portlet can copy the values for the elements  130  of the form  120  to corresponding elements  180  in the companion form  170  of the hidden frame  150 . Subsequently, a submission request for the form  170  can be requested. A resulting view can be provided by the script logic  160  for rendering in the visible portion of the portlet  110 . In this way, the form  120  within the visible portion of the portlet  110  can be submitted without disturbing the presentation of other forms in other portlets in the portal view  140 . 
     In more particular illustration,  FIG. 2  is a schematic illustration of a portal environment configured to accommodate the independent form submission in a portal view. The portal server system can include a portal view  235  communicatively coupled to a selection of portlet applications  215 A,  215 B,  215   n  through a portal server  230 . Each portlet application  215 A,  215 B,  215   n  can produce a portlet view based upon portlet data  220 A,  220 B,  220   n  in the form of portlet markup  225  through corresponding rendering logic  210 A,  210 B,  210   n . Notably, the rendering logic  210 A,  210 B,  210   n  can be active markup such as a JSP, in which logical scriptlets can be embedded to produce specific markup language tags. 
     A portlet aggregator  205  can be coupled to each portlet application  215 A,  215 B,  215   n  to receive the portlet markup  225  and to aggregate the portlet markup  225  into view in the portal view  235 . By aggregation, it is meant that the individual markup language blocks produced by each portlet application  215 A,  215 B,  215   n  can be combined into a single cohesive markup language document configured for distribution to and use within a conventional content browser. In this regard, the portal view  235  can be disposed in the portal server  230  from which the portal view  235  can be accessed by client content browsing devices  240  over a computer communications network  260  such as a local computer communications network, for instance a private intranet, or a global computer communications network, for instance the public Internet. 
     In accordance with an embodiment of the present invention, the portlet aggregator  205  can include logic to generate and manage companion forms  250  for forms defined by individual ones of the portlet applications  215 A,  215 B,  215   n . The companion forms  250  can be generated within hidden frames  265  in the portal view  235 . Moreover, the companion forms  250  can receive the data provided to the forms defined by the individual ones of the portlet applications  215 A,  215 B,  215   n.    
     The logic of the aggregator  205  further can include script logic  255  within the hidden frames  265  to manage the submission of the companion forms  250  in lieu of corresponding forms defined by the individual ones of the portlet applications  215 A,  215 B,  215   n . In this way, while end users interacting with the forms defined by the individual ones of the portlet applications  215 A,  215 B,  215   n  can request the submission of any one of the forms, the companion forms  250  within the hidden frames  265  can execute and manage the submission in response to the request in lieu of the forms defined by the individual ones of the portlet applications  215 A,  215 B,  215   n.    
     In yet further illustration,  FIG. 3  is a flow chart illustrating a method for independent form submission in a portal view. Beginning in block  310 , a request can be received for a forms submission for a form defined within a visible portion of a portlet in a portal view. In block  320 , the values for different form elements in the form can be copied to corresponding elements for a companion form defined within a hidden frame associated with the portlet. Subsequently, in block  330  the companion form can be submitted for processing lieu of the form in the visible portion of the portlet. In block  340 , an update to the companion form can be received which update can be provided for rendering in the visible portion of the portlet in block  350 . 
     Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. 
     For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device). Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. 
     A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.