Advanced software development tools enable developers to define application interfaces (such as pages and fragments thereof) and functionality (e.g., action flows). Developer tools, such as the EMC® Documentum® xCP development platform, enable developers to create advanced applications with complex user and data service interactions. However, it is not possible to anticipate all application data values a developer may desire to define and use as application variables, and which application components will be desired to have access to which variables.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
Composable application session parameters are disclosed. In various embodiments, an application developer is provided, via a software development tool, with an interface to compose one or more application session parameters. Application session parameters may, for example, be made available across application user interface pages and/or fragments thereof, application action flows, application user interface events, etc. In some embodiments, application session variables may be stored as attributes of an application session parameter object. In various embodiments, application session parameter values may be determined and/or modified as defined by the developer, e.g., via an expression evaluated at runtime, and/or may be used as arguments in expressions, functions, etc. evaluated at runtime.
In various embodiments, a visual or other development tool interface to enable developers to compose developer-composed custom application session parameters. Definitions are received via the interface and stored. The definitions are used to generate application code which at runtime initializes, stores, and manages application session parameters, as defined by the developer.
Using techniques disclosed herein, a highly dynamic and flexible application can be defined, enabling the developer to provide interactions and functionality that may not be possible without the ability to define and manage application session parameters as disclosed herein.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
Number | Name | Date | Kind |
---|---|---|---|
4910660 | Li | Mar 1990 | A |
5079690 | Li | Jan 1992 | A |
5644738 | Goldman et al. | Jul 1997 | A |
6226627 | Polak | May 2001 | B1 |
6304886 | Bernardo et al. | Oct 2001 | B1 |
6724403 | Santoro et al. | Apr 2004 | B1 |
7013469 | Smith et al. | Mar 2006 | B2 |
7225425 | Kompalli et al. | May 2007 | B2 |
7734995 | Saikaly | Jun 2010 | B1 |
7797432 | Volodarsky et al. | Sep 2010 | B2 |
7933632 | Flynt et al. | Apr 2011 | B2 |
8156481 | Koh et al. | Apr 2012 | B1 |
8271899 | Blackburn et al. | Sep 2012 | B1 |
8321681 | Tulchinsky et al. | Nov 2012 | B2 |
8346889 | Chiu et al. | Jan 2013 | B1 |
8560959 | Zaman et al. | Oct 2013 | B2 |
8572268 | Wray | Oct 2013 | B2 |
20020194393 | Hrischuk et al. | Dec 2002 | A1 |
20030004770 | Miller et al. | Jan 2003 | A1 |
20030023641 | Gorman et al. | Jan 2003 | A1 |
20030222906 | Fish et al. | Dec 2003 | A1 |
20040044987 | Kompalli et al. | Mar 2004 | A1 |
20050022157 | Brendle et al. | Jan 2005 | A1 |
20050114849 | Megiddo | May 2005 | A1 |
20050149908 | Klianev | Jul 2005 | A1 |
20050166207 | Baba et al. | Jul 2005 | A1 |
20060053421 | Dickenson | Mar 2006 | A1 |
20060074704 | Shukla et al. | Apr 2006 | A1 |
20060074733 | Shukla et al. | Apr 2006 | A1 |
20060236304 | Luo et al. | Oct 2006 | A1 |
20060236306 | DeBruin et al. | Oct 2006 | A1 |
20070055591 | Enenkiel | Mar 2007 | A1 |
20070266368 | Szpak et al. | Nov 2007 | A1 |
20080046868 | Tsantilis | Feb 2008 | A1 |
20080281944 | Vorne et al. | Nov 2008 | A1 |
20090019386 | Sweetland et al. | Jan 2009 | A1 |
20090055725 | Portnov et al. | Feb 2009 | A1 |
20090210631 | Bosworth et al. | Aug 2009 | A1 |
20090307670 | Kashyap et al. | Dec 2009 | A1 |
20100211420 | Kodi et al. | Aug 2010 | A1 |
20100281462 | Festa | Nov 2010 | A1 |
20100293056 | Flynt et al. | Nov 2010 | A1 |
20110225565 | Van Velzen et al. | Sep 2011 | A1 |
20110246549 | Katzenberger et al. | Oct 2011 | A1 |
20120131442 | Grizim et al. | May 2012 | A1 |
20120166992 | Huynh et al. | Jun 2012 | A1 |
20130019172 | Kotler et al. | Jan 2013 | A1 |
20130019182 | Gil et al. | Jan 2013 | A1 |
20130205193 | Matsufuji et al. | Aug 2013 | A1 |
20130219263 | Abrahami | Aug 2013 | A1 |
20140201232 | Berry et al. | Jul 2014 | A1 |
20140245262 | Hill et al. | Aug 2014 | A1 |
Entry |
---|
Kohana Team, “Session Library”, Jan. 2012, retrieved from http://www.hcs.harvard.edu/˜powerpak/kohanadocs/libraries/session.html, 6 pages. |
www.gwtproject.org, “GWT”, Jul. 2013, retrieved from https://web.archive.org/web/20130708095321/http://www.gwtproject.org/doc/latest/DevGuideHtml5Storage.html , 7 pages. |
w3schools.com, “HTML5 Web Storage”, Nov. 2012, retrieved from https://web.archive.org/web/20121123023047/http://www.w3schools.com/html/html5—webstorage.asp, 3 pages. |
The PHP Group, “What is PHP?”, Jan. 2009, retrieved from http://web.archive.org/web/20090124160056/http://php.net/manual/en/intro-whatis.php , 1 page. |