Programmability for XML data store for documents
First Claim
1. A tangible computer-readable storage medium having computer-executable instructions for managing data associated with computer-generated documents, comprising:
- storing structured data items that are associated with a document in a data store that is maintained separately from document data for the document;
wherein the document data defines a primary presentation for displaying the document;
wherein the structured data items are represented by Extensible Markup Language (XML);
wherein the structured data items are metadata for the document;
wherein the structured data items remain associated with the document until the structured data items are removed from the data store; and
formatting the structured data such that an application programming interface (API) is exposed to a plurality of different client data consuming applications for allowing programmatic access to the structured data items by each of the data consuming applications;
wherein execution of the API provides the ability to access the structured data items within the data store while the document is open for editing and when the document is closed for editing;
wherein the API that allows the programmatic access to the structured data items by the data consuming applications comprises allowing the plurality of data consuming applications to access a same structured data item at the same time;
wherein the API allows any of the data consuming applications to store structured data items within the data store; and
registering for notification of changes by the data consuming applications;
determining when a change is made to one of the structured data items using the API; and
when a change is made, notifying the registered data consuming applications of the change;
in response to the notification of the change, queuing a side-effect change by one of the data consuming applications, wherein the side-effect change is generated based on data related to the notified change; and
notifying the registered data consuming applications of the side-effect change.
3 Assignments
0 Petitions
Accused Products
Abstract
A programmability mode for interacting with data stores within a document allows real time interaction. Data for structuring information associated with a document, such as document metadata, is maintained in the data store where relationships between different pieces of data are maintained in a location distinct from the surface level view of a document. The data store exposes interfaces to the various pieces of data in the data store for allowing different applications to access and operate on one or more of the data pieces. The pieces of data may be structured according to a markup language such as the Extensible Markup Language (XML), and XML schemas may be associated with each piece of data for allowing the data store to validate the structure applied to the data based on an XML schema associated with a given piece of data.
138 Citations
16 Claims
-
1. A tangible computer-readable storage medium having computer-executable instructions for managing data associated with computer-generated documents, comprising:
-
storing structured data items that are associated with a document in a data store that is maintained separately from document data for the document;
wherein the document data defines a primary presentation for displaying the document;
wherein the structured data items are represented by Extensible Markup Language (XML);
wherein the structured data items are metadata for the document;
wherein the structured data items remain associated with the document until the structured data items are removed from the data store; andformatting the structured data such that an application programming interface (API) is exposed to a plurality of different client data consuming applications for allowing programmatic access to the structured data items by each of the data consuming applications;
wherein execution of the API provides the ability to access the structured data items within the data store while the document is open for editing and when the document is closed for editing;
wherein the API that allows the programmatic access to the structured data items by the data consuming applications comprises allowing the plurality of data consuming applications to access a same structured data item at the same time;
wherein the API allows any of the data consuming applications to store structured data items within the data store; andregistering for notification of changes by the data consuming applications; determining when a change is made to one of the structured data items using the API; and
when a change is made, notifying the registered data consuming applications of the change;in response to the notification of the change, queuing a side-effect change by one of the data consuming applications, wherein the side-effect change is generated based on data related to the notified change; and notifying the registered data consuming applications of the side-effect change. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for managing data associated with computer-generated documents, comprising:
-
storing structured data items that are associated with a document using data stores;
wherein the structured data item is structured according to the Extensible Markup Language (XML);
wherein the structured data items are metadata for the document;
wherein the structured data items remain associated with the document until the structured data items are removed from the data stores; andformatting the structured data such that an application programming interface (API) is exposed to a data consuming application that allows programmatic access to the document and to the structured data items that are contained within the data stores; and executing the API to access the structured data items within the data stores both while the document is being edited and when the document is closed for editing such that the structured data is linked to the documents and functions as metadata describing characteristics of the document; and
wherein the data consuming application receives a notification for a change that is made to the data stores when they are registered;initiating a change to one of the data stores using the API; providing the notification to a second registered data consuming application relating to the change; in response to the notification at the second registered data consuming application, queuing a side-effect change; determining when a response from the second registered data consuming application is a rejection, and when the response is a rejection rolling back the change and the side-effect change; determining when the first and second registered data consuming application accept the change and the side-effect change; and
when the first and second registered data consuming application accept the change and the side-effect change;
optionally validating the change and the side-effect change using an XML schema file that is provided by one of the data consuming applications through an API; andcommitting the change and the side-effect change to one or more of the data stores. - View Dependent Claims (11)
-
-
12. A system for managing data associated with computer-generated documents, comprising:
-
a processor; a tangible storage medium coupled to the processor; data consuming applications configured to be executed on the processor; a document data store that is configured to store documents on the tangible storage medium; and a data store coupled to the data consuming applications that is configured to store structured data items that are associated with one or more of the documents;
wherein the structured data items remain associated with the one or more documents until the structured data items are removed from the data store;
wherein the data stores includes;XML data stores; an API broker that is configured to interact with the data consuming applications; a change store that is configured to store changes that are associated with a change that is made to a structured data item; and an undo store that is configured to roll back any changes made as a result of the change that is made to the structured data item;
wherein the API broker exposes a programming interface (API) that allows programmatic access to the documents and to the structured data item that are contained within the data stores; and
wherein the data consuming application is configured to execute the API to access the structured data items within the data stores both while the document is open and when the document is closed such that the API provides a programmatic link to the data consuming application to link items within the data store to the document and wherein the data consuming application is further configured to queue a side-effect change when an item within the data store to the document is changed. - View Dependent Claims (13, 14, 15, 16)
-
Specification