Claims
- 1. A method for processing a request to display an electronic message, the method comprising the computer-implemented steps of:
generating first message data, wherein the first message data defines at least a first message portion and one or more selection regions for one or more other message portions of a multiple-part electronic message having a plurality of message portions; providing the first message data to a client; receiving from the client a request for a second portion of the electronic message selected from among the other message portions; generating second message data which, when processed at a user interface of the client, causes the client to display the second portion of the electronic message; and providing the second message data to the client.
- 2. A method as recited in claim 1, wherein generating first message data further comprises the steps of generating first message data that defines a plurality of message portions each having a corresponding selection region and that defines a message user interface region that comprises all corresponding selection regions and the first message portion.
- 3. A method as recited in claim 1, wherein the first message data includes user interface definition data which, when processed at the user interface, causes the user interface to display the first portion of the electronic message in a first panel.
- 4. A method as recited in claim 3, wherein the user interface definition data includes data which, when processed at the user interface, causes the user interface to display a first identifier of the first portion of the electronic message in the first panel.
- 5. A method as recited in claim 4, wherein the first identifier indicates content of the first portion of the electronic message.
- 6. A method as recited in claim 3, wherein generating the first message data and generating the second message data further comprises the steps of generating second user interface definition data which, when processed at the user interface, causes the user interface to display a plurality of continuously visible selection regions, each associated with a different portion of the multiple-part message and the first portion of the electronic message.
- 7. A method as recited in claim 6, wherein the second user interface definition data comprises data which, when processed at the user interface, causes one or more other identifiers to be displayed in association with the continuously visible selection regions to identify corresponding portions of the electronic message.
- 8. A method as recited in claim 1, wherein the first message data comprises selection region definition data which, when processed at the user interface of the client, causes the client to display a plurality of selection regions that extend outwardly laterally from the first portion of the electronic message.
- 9. A method as recited in claim 1, wherein the first message data comprises selection region definition data which, when processed at the user interface of the client, causes the client to display a plurality of selection regions that extend outwardly upwardly from the first portion of the electronic message.
- 10. A method as recited in claim 1, wherein the second message data comprises selection region definition data which, when processed at the user interface of the client, causes the client to display a plurality of selection regions that extend outwardly downwardly from the first portion of the electronic message.
- 11. A method as recited in claim 1, wherein the first message data and the second message data comprise one or more hypertext markup language (HTML) instructions.
- 12. A method as recited in claim 1, wherein the first message data comprises selection region definition data which, when processed at the user interface of the client, causes the client to display a toolbar of functions for manipulating the multiple-part electronic message within a user interface panel that contains the first message portion.
- 13. A method as recited in claim 1, wherein the first message data further comprises one or more executable application building blocks, and further comprising the steps of:
executing the one or more application building blocks to result in creating and storing one or more then-current dynamic data values as part of the first message portion; providing the one or more dynamic data values to the client as part of the first message portion.
- 14. A method as recited in claim 1, further comprising the steps of:
retrieving one or more then-current dynamic data values from a database; rendering the dynamic data values as part of the first message portion; providing the one or more dynamic data values to the client as part of the first message portion.
- 15. A method as recited in claim 1, wherein the step of generating first message data comprises the steps of generating first message data that defines at least a first message page, one or more selection regions for one or more other message pages of a multiple-page electronic message having a plurality of message pages, and a plurality of sub-pages of the first message page.
- 16. A method as recited in claim 15, further comprising the steps of:
receiving a selection of a sub-page of the first message page; generating third message data that defines the selected sub-page of the first message page and which, when processed at the user interface, causes the user interface to display the selected sub-page of the electronic message; providing the third message data to the client.
- 17. A method providing a multiple-part electronic message, the method comprising the computer-implemented steps of:
generating first message data that defines a multiple-part electronic message and includes at least a first message portion and one or more selection regions for one or more other associated message portions; providing the first message data to a first client; receiving a request to forward the multiple-part electronic message to a recipient; in response to receiving the request, generating second message data to the recipient that defines the multiple-part electronic message; and providing the second message data to the second client.
- 18. A method of asynchronously dynamically updating information of a multiple-part electronic message, the method comprising the computer-implemented steps of:
generating first message data, wherein the first message data defines at least a first message portion having a dynamic content region and one or more selection regions for one or more other message portions of a multiple-part electronic message having a plurality of message portions; providing the first message data to a first client; receiving one or more asynchronous updates to the dynamic content region; generating second message data that defines the first message portion, the dynamic content region including the one or more updates, and the one or more selection regions; and providing the second message data to a second client.
- 19. A method as recited in claim 18, further comprising the steps of:
receiving a selection of a second portion of the electronic message selected from among the other message portions; retrieving then-current dynamic content for a second dynamic content region of the second portion of the electronic message; generating third message data that defines the second portion of the electronic message and that includes the then-current dynamic content for the second dynamic content region; providing the third message data to the client.
- 20. A method for processing; data at a user interface comprising the computer-implemented steps of:
receiving a request to display an electronic message; in response to receiving the request to display an electronic message, requesting a first portion of an electronic message; receiving first message data; and processing the first message data to cause the first portion of the electronic message to be displayed on the user interface.
- 21. A method as recited in claim 20, further comprising the computer-implemented steps of:
receiving a request to display a second portion of the electronic message; in response to the request to display a second portion of the electronic message, requesting the second portion of the electronic message; receiving second message data; and processing the second message data to cause the second portion of the electronic message to be displayed on the user interface.
- 22. A method as recited in claim 20, further comprising the computer-implemented steps of:
receiving user interface object data; and processing the user interface object data to cause a user interface object to be displayed on the user interface; and wherein the step of receiving a request to display a second portion of the electronic mail message receiving second message data includes detecting user manipulation of the user interface object.
- 23. A method as recited in claim 20, wherein the method further comprises the computer-implemented steps of:
receiving user interface object data; and processing the user interface object data to cause a user interface object to be displayed in association with a second portion of the electronic mail message that is not displayed concurrently with the first portion of the electronic mail message.
- 24. A method as recited in claim 20, wherein the first portion of the electronic mail message is displayed on a panel.
- 25. A data processing apparatus comprising:
a memory device configured to store electronic message data; a processor communicatively coupled to the memory device; and one or more sequences of instructions in the memory device which, when executed by the processor, cause the processor to carry out the steps of:
generating first message data, wherein the first message data defines at least a first message portion and one or more selection regions for one or more other message portions of a multiple-part electronic message having a plurality of message portions; providing the first message data to a client; receiving from the client a request for a second portion of the electronic message selected from among the other message portions; generating second message data which, when processed at a user interface of the client, causes the client to display the second portion of the electronic message; and providing the second message data to the client.
- 26. An apparatus for processing a request to display an electronic message, comprising:
means for generating first message data, wherein the first message data defines at least a first message portion and one or more selection regions for one or more other message portions of a multiple-part electronic message having a plurality of message portions; means for providing the first message data to a client; means for receiving from the client a request for a second portion of the electronic message selected from among the other message portions; means for generating second message data which, when processed at a user interface of the client, causes the client to display the second portion of the electronic message; and means for providing the second message data to the client.
- 27. A computer-readable medium comprising one or more sequences of instructions for processing a request to display an electronic message, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
generating first message data, wherein the first message data defines at least a first message portion and one or more selection regions for one or more other message portions of a multiple-part electronic message having a plurality of message portions; providing the first message data to a client; receiving from the client a request for a second portion of the electronic message selected from among the other message portions; generating second message data which, when processed at a user interface of the client, causes the client to display the second portion of the electronic message; and providing the second message data to the client.
- 28. A method for associating related electronic messages in computer storage, the method comprising the computer-implemented steps of:
creating and storing a first transportable application; receiving user input requesting creation of a link from the first transportable application to another transportable application; receiving user input that selects a second transportable application from among a plurality of previously created transportable applications; and creating and storing a link from the first transportable application to the second transportable application.
- 29. A method as recited in claim 28, wherein the step of creating and storing a link comprises the steps of:
creating and storing an asynchronously dynamically updated list of references to other transportable applications in association with the first transportable application; creating and storing a reference to the second transportable application in the list of references.
- 30. A method as recited in claim 28, wherein the step of creating and storing a link comprises the steps of:
creating and storing an asynchronously dynamically updated List building block in association with the first transportable application; creating and storing a reference to the second transportable application in the list building block.
- 31. A method as recited in claim 28, wherein the step of receiving user input that selects a second transportable application comprises the steps of receiving user input that copies a URL of the second transportable application and receiving user input that pastes the URL into the first transportable application in a region associated with the list.
- 32. A method as recited in claim 28, wherein the step of receiving user input that selects a second transportable application comprises the steps of receiving user input that drags a representation of the second transportable application into the first transportable application in a region associated with the list.
- 33. A method as recited in claim 28, further comprising the step s of applying one or more access controls to the link, wherein the access controls specify that one or more users or groups may not access the second transportable application using the link.
- 34. A method of associating related electronic messages in computer storage, the method comprising the computer-implemented steps of:
creating and storing a first transportable application; automatically creating and storing a second transportable application as a result of a workflow process or event associated with the first transportable application; and creating and storing a link from the first transportable application to the second transportable application.
- 35. A method as recited in claim 34, wherein the step of creating and storing a link comprises the steps of:
creating and storing an asynchronously dynamically updated list of references to other transportable applications in association with the first transportable application; creating and storing a reference to the second transportable application in the list of references.
- 36. A method as recited in claim 34, wherein the step of creating and storing a link comprises the steps of:
creating and storing an asynchronously dynamically updated List building block in association with the first transportable application; creating and storing a reference to the second transportable application in the list building block.
- 37. A method as recited in claim 34, further comprising the steps of
prompting a user associated with the first transportable application to confirm whether to link the first transportable application to the second transportable application; and carrying out the step of creating and storing a link only in response to receiving user input that confirms that the first transportable application should link to the second transportable application.
- 38. A method as recited in claim 34, further comprising the steps of applying one or more access controls to the link, wherein the access controls specify that one or more users or groups may not access the second transportable application using the link.
- 39. A method for associating related electronic messages in computer storage, the method comprising the computer-implemented steps of:
creating and storing a first transportable application; creating and storing a link from the first transportable application to a second transportable application; determining that a programmatic object associated with the first transportable application is new, updated or deleted; in response thereto, modifying the link in accordance with the new, updated or deleted object.
- 40. A method as recited in claim 39, wherein the step of modifying the link in response to an updated object comprises the steps of identifying all other transportable applications that are linked to the first transportable application and that reference the updated object, and modifying all references to the updated object.
- 41. A method as recited in claim 39, wherein the object comprises a content element of the transportable application, and further comprising the steps of searching the content element for one or more recognizable object references, and creating one or more links relating to the recognizable object references in a list of automatically generated links.
- 42. A method as recited in claim 41, wherein the object reference comprises an e-mail address or user name, and wherein the step of creating links relating to the object references comprises creating a mail link in the list which, when selected by a user, generates an e-mail message to the address or user name.
- 43. A method as recited in claim 41, wherein the object reference comprises a Uniform Resource Locator, and wherein the step of creating links relating to the object references comprises creating a URL link in the list which, when selected by a user, generates a display of a hypertext document identified by the URL.
- 44. A method as recited in claim 41, wherein the object reference comprises a title of a third transportable application, and wherein the step of creating links relating to the object references comprises creating a link in the list to the third transportable application.
- 45. A method of associating related electronic messages in computer storage, the method comprising the computer-implemented steps of:
receiving user input associated with completing a task in a first transportable application; generating a list of one or more other transportable applications that are likely to follow the first transportable application in a workflow or business process associated with the first transportable application, based on relevance of the other transportable applications to a context of the first transportable application; requesting user input that specifies whether to link one or more of the other transportable applications to the first transportable application; and creating and storing one or more links from the first transportable application to one or more of the other transportable applications.
- 46. A method of displaying a message that contains an embedded HTML document, comprising the computer-implemented steps of:
receiving a transportable application, which comprises an embedded HTML document, in an e-mail client application; displaying the embedded HTML document in a graphical window of the e-mail client application; displaying one or more graphical navigation buttons in association with the graphical window; receiving user input that selects one or more of the graphical navigation buttons; and displaying one or more other HTML documents in the graphical window in response to the user input.
- 47. A method as recited in claim 46, wherein each of the graphical navigation buttons is associated with client-executable computer program code, and wherein the step of displaying one or more other documents comprises the step of executing one or more instructions of the computer program code that are associated with one of the selected graphical navigation buttons that is selected by the user input.
- 48. A method as recited in claim 46, wherein each of the graphical navigation buttons is associated with client-executable JavaScript code, and wherein the step of displaying one or more other HTML documents comprises the step of executing a portion of the JavaScript that is associated with one of the selected graphical navigation buttons that is selected by the user input.
- 49. A method of associating a plurality of sets of related electronic messages in computer storage, the method comprising the computer-implemented steps of:
creating and storing a first set of a plurality of linked transportable applications; creating and storing a second set of a plurality of linked transportable applications; designating a first transportable application among the first set as a home transportable application for the first set; designating a second transportable application among the second set as a home transportable application for the second set; creating and storing, in association with the home transportable application of the first set, a next link that identifies the home transportable application of the second set; creating and storing, in association with the home transportable application of the second set, a previous link that identifies the home transportable application of the first set.
- 50. A method as recited in claim 49, wherein the first set comprises a first message web, the second set comprises a second message web, and the links among the first message web and the second message web associate the first message web with the second message web in a message web ring.
- 51. A method as recited in claim 49, further comprising the steps of:
creating and storing a third set of a plurality of linked transportable applications having a third home transportable application; modifying the next link and the previous link of the first set and second set such that the third set of transportable application is logically inserted between the first set and the second set.
- 52. A method of generating a list of recipients for a first message that is linked to a second message, comprising the computer-implemented steps of:
creating and storing a first transportable application that is linked to a second transportable application; creating a first recipient list in association with the first transportable application, wherein the first recipient list identifies one or more users or groups to whom the first transportable application is directed; creating a second recipient list in association with the second transportable application, wherein the second recipient list comprises at least one reference to the first recipient list; automatically resolving the at least one reference into a second list of one or more users or groups to whom the second transportable application is directed.
- 53. A method as recited in claim 52, wherein the second recipient list further comprises at least one expression that identifies one or more users or groups to add or delete from the referenced first recipient list, and further comprising the steps of automatically determining a second list of one or more users or groups to whom the second transportable application is directed by resolving the at least one reference and applying the at least one expression.
- 54. A method of propagating data from a first message to a second message that is linked to the first message, comprising the computer-implemented steps of:
creating and storing a first transportable application that is linked to a second transportable application; creating and storing a reference, in a first data field of the first transportable application, to a second data field of the second transportable application; determining that the first data field of the second transportable application is changed; automatically creating and storing the second data field of the second transportable application in the first data field of the first transportable application.
- 55. A method as recited in claim 54, wherein the steps of determining and automatically creating comprise the steps of:
determining whether the first data field of the first transportable application comprises a link to a second data field; verifying that the second data field comprises up-to-date data; retrieving data from the second data field; storing the retrieved data in the first data field.
- 56. A method as recited in claim 55, further comprising the steps of:
determining whether any other transportable applications are subscribed to the first data field; carrying out the step of automatically creating and storing the second data field only for each transportable application that is subscribed to the first data field.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] Domestic priority is claimed under 35 U.S.C. 119(e) from prior Provisional application Ser. No. 60/230,037, filed Sep. 5, 2000, the entire contents of which are hereby incorporated by reference as if fully set forth herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60230037 |
Sep 2000 |
US |