Journalling non-navigation activity in a navigation-based application
First Claim
1. A system for managing changes in state of a navigation-based application, comprising:
- a local computer implemented journal engine for maintaining a journal,wherein the journal is associated with a container that navigates to and hosts a resource and the resource includes a mechanism that stores a journal entry in the journal,wherein the journal entry includes information about a change in state of the resource and the journal entry restores the resource to the state prior to the change,wherein the journal maintains navigation-related information about locations to which a user has navigated and provides users backward and forward access to;
(1) navigation activities in which the user has navigated backward and forward through distinct resources, and(2) activities where a user has not conducted a physical navigation away from a resource but rather has changed a state of a resource,wherein the backward and forward access is implemented using stack-based techniques, wherein;
individual journal entries are replayed to return a new journal entry that undoes a previously-performed action, wherein;
if the new journal entry is being replayed as a result of a backward navigation, an associated returned journal entry is placed in a forward stack, andif the new journal entry is being replayed as a result of a forward navigation, an associated returned journal entry is placed in a back stack.
2 Assignments
0 Petitions
Accused Products
Abstract
The mechanisms and techniques described in this document are directed to a journal that allows a navigation-based application to store and restore state of a resource that is programmatically altered. A resource may invoke code that creates and stores an entry in the journal. The entry includes sufficient information to restore the resource from one state to its prior state. In addition, the entry includes a mechanism for creating another entry to undo any changes made by the first entry. In this manner, the journal includes both entries that identify navigations from one resource to another, and entries may be added to undo changes to a resource to restore the resource to a prior state.
21 Citations
28 Claims
-
1. A system for managing changes in state of a navigation-based application, comprising:
a local computer implemented journal engine for maintaining a journal, wherein the journal is associated with a container that navigates to and hosts a resource and the resource includes a mechanism that stores a journal entry in the journal, wherein the journal entry includes information about a change in state of the resource and the journal entry restores the resource to the state prior to the change, wherein the journal maintains navigation-related information about locations to which a user has navigated and provides users backward and forward access to; (1) navigation activities in which the user has navigated backward and forward through distinct resources, and (2) activities where a user has not conducted a physical navigation away from a resource but rather has changed a state of a resource, wherein the backward and forward access is implemented using stack-based techniques, wherein; individual journal entries are replayed to return a new journal entry that undoes a previously-performed action, wherein; if the new journal entry is being replayed as a result of a backward navigation, an associated returned journal entry is placed in a forward stack, and if the new journal entry is being replayed as a result of a forward navigation, an associated returned journal entry is placed in a back stack. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A plurality of computer executable components embodied on a computer-readable storage medium for managing changes in state of a navigation-based application, the plurality of computer-executable components comprising:
-
a resource including a mechanism for altering a state of the resource from a first state to a second state; and an instance of a journal entry having a method for restoring the resource from the first state to the second state, wherein the method further creates a journal entry to undo the restoration of the resource from the first state to the second state, wherein the method adds to a forward stack when the method is called on a back navigation, and adds to a back stack when the method is called on a forward navigation, wherein the journal entry comprises part of a Journal that maintains navigation-related information about locations to which a user has navigated and resources whose state has been changed by the user, and provides users backward and forward access to; (1) navigation activities in which the user has navigated backward and forward through distinct resources, and (2) activities where a user has not conducted a physical navigation away from a resource but rather has changed a state of a resource, wherein the backward and forward access is implemented using stack-based navigation techniques, wherein; individual journal entries are replayed to return a new journal entry that undoes a previously-performed action, wherein; if the new journal entry is being replayed as a result of a backward navigation, an associated returned journal entry is placed in a forward stack, and if the new journal entry is being replayed as a result of a forward navigation, an associated returned journal entry is placed in a back stack. - View Dependent Claims (9, 10, 11)
-
-
12. A data structure embodied on a computer-readable storage medium, the data structure comprising:
a journal entry having a Replay method, wherein the Replay method restores a resource from a first state to a second state, wherein the Replay method further creates a second journal entry to restore the resource from the second state to the first state, wherein the journal maintains navigation-related information about locations to which a user has navigated and provides users backward and forward access to; (1) navigation activities in which the user has navigated backward and forward through distinct resources, and (2) activities where a user has not conducted a physical navigation away from a resource but rather has changed a state of a resource, wherein the backward and forward access is implemented using stack-based techniques, wherein; individual journal entries are replayed to return a new journal entry that undoes a previously-performed action, wherein; if the new journal entry is being replayed as a result of a backward navigation, an associated returned journal entry is placed in a forward stack, and if the new journal entry is being replayed as a result of a forward navigation, an associated returned journal entry is placed in a back stack. - View Dependent Claims (13, 14, 15, 16, 17)
-
18. A software architecture embodied on a computer-readable storage medium for managing changes in state of a navigation-based application, the storage architecture comprising:
-
an internal system that supports the maintenance of entries in a journal, wherein the journal maintains state information related to navigations among resources in a navigation-based application; and a set of interfaces that support the inclusion of entries in the journal, wherein the journal entries are related to non-navigation activity, wherein the journal maintains navigation-related information about locations to which a user has navigated and provides users backward and forward access to; (1) navigation activities in which the user has navigated backward and forward through distinct resources, and (2) activities where a user has not conducted a physical navigation away from a resource but rather has changed a state of a resource, wherein the backward and forward access is implemented using stack-based techniques, wherein; individual journal entries are replayed to return a new journal entry that undoes a previously-performed action, wherein, if the new journal entry is being replayed as a result of a backward navigation, an associated returned journal entry is placed in a forward stack, and if the new journal entry is being replayed as a result of a forward navigation, an associated returned journal entry is placed in a back stack. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer-readable storage medium encoded with instructions executing on a computer, wherein the instructions perform steps comprising:
-
receiving a notification to add a journal entry to a journal, wherein the journal entry is associated with a resource and the resource includes information to restore the resource from a first state to a second state, wherein the first state is associated with a first set of characteristics of the resource and the second state is associated with a second set of characteristics of the resource; and adding the journal entry to the journal, wherein the journal maintains navigation-related information about locations to which a user has navigated and provides users backward and forward access to; (1) navigation activities in which the user has navigated backward and forward through distinct resources, and (2) activities where a user has not conducted a physical navigation away from a resource but rather has changed a state of a resource, wherein the backward and forward access is implemented using stack-based techniques, wherein; individual journal entries are replayed to return a new journal entry that undoes a previously-performed action, wherein; if a the new journal entry is being replayed as a result of a backward navigation, an associated returned journal entry is placed in a forward stack, and if the new journal entry is being replayed as a result of a forward navigation, an associated returned journal entry is placed in a back stack. - View Dependent Claims (27, 28)
-
Specification