Exchanging project-related data between software applications
First Claim
1. A method for exchanging project-related data in a system that comprises multiple instances of project data entities, wherein the multiple project data entity instances are stored in a first data store of a first application, the method comprising:
- updating the stored project data entity instances in the first data store to reflect changes made by a user of a second application to local copies of the project data entity instances in a second data store, wherein the updating comprises associating the updated instances with corresponding local copies in the second data store;
a user of the first application modifying the updated instances in the first data store;
updating local copies in the second data store associated with the modified, updated instances to reflect the modifications made to the updated instances in the first data store; and
wherein a format of the project data entity instances stored in the first data store is distinct from a format of the local copies stored in the second data store.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for exchanging data between software applications, such as project-related data between a project management software application (“PMSA”) and an unaffiliated organizational project tracking software application (“OPTSA”). A mapping and other related information may be defined for the data exchange, such as by defining data fields of the OPTSA database and PMSA data file that correspond, and optionally specifying related information such as additional processing to be performed for various data fields during the data exchange, conditions when a mapping is to be used, ordering information for data fields during import and/or export, preferred data formats for stored values, etc. Also, in some situations round-trip data import/export is performed for a single PMSA data file, which may include tracking whether data entity instances previously existed in the destination in order to support changes to stored inter-relationships between data entity instances.
70 Citations
49 Claims
-
1. A method for exchanging project-related data in a system that comprises multiple instances of project data entities, wherein the multiple project data entity instances are stored in a first data store of a first application, the method comprising:
-
updating the stored project data entity instances in the first data store to reflect changes made by a user of a second application to local copies of the project data entity instances in a second data store, wherein the updating comprises associating the updated instances with corresponding local copies in the second data store;
a user of the first application modifying the updated instances in the first data store;
updating local copies in the second data store associated with the modified, updated instances to reflect the modifications made to the updated instances in the first data store; and
wherein a format of the project data entity instances stored in the first data store is distinct from a format of the local copies stored in the second data store.
-
-
2-10. -10. (canceled)
-
11. A method implemented in a system that comprises first and second unaffiliated software applications corresponding to first and second data, respectively, -wherein the first data represents a project, wherein the first data is stored in a data file using a format specific to the first application, wherein the first data is modifiable by the first application, wherein the first data comprises values representing multiple instances of project data entities defined for the project by a user of the first application, wherein some of the project data entity instances are related to each other, wherein the second data is stored in a data store in a format specific to the second application, wherein the second data is related to the project, wherein the second data is modifiable by the second application, wherein a format of the first data is distinct from a format of the second data, the method comprising:
-
for each of some of the project data entity instances, reading values from the data file that stores the first data;
for each of the project data entity instances whose values are read and that do not have a corresponding stored local representation in the data store, storing in the data store a local representation based on some of the values read from the first data for that project data entity instance;
for each of the project data entity instances whose values are read and that do have a corresponding local representation in the data store, updating the stored local representation to reflect the values read for that project data entity instance;
if the read values reflect changes to relationships between defined project data entity instances that are not reflected in the stored local representations of those project data entity instances, updating those stored local representations to reflect the changes to relationships;
for one of the project data entity instances, modifying stored values in the first data of the one project data entity instance to reflect changes indicated by a user of the second application; and
updating the first data in the data file to reflect the modifications to the stored local representation of the one project data entity instance, the updating comprising modifying some of the values stored in the data file, the updating performed in such a manner that the updated data file remains in the format specific to the first application. - View Dependent Claims (12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
16. (canceled)
-
40. A computer-readable memory storing instructions that cause a computing device to implement a method comprising:
-
reading representations of respective project data entity instances for a defined project from a data file that represents the defined project, wherein the data file was created by a first software application, wherein at least one of the project data entity instances has one or more defined relationships with another of the project data entity instances;
searching a local representation stored by a second application for each of the respective project data entity instances, where the second software application stores data in a non-standard format and employs a data exchange mechanism different from the data exchange mechanism employed by the first software application;
for each of the project data entity instances that do not have a respective local representation stored by a second application, creating and storing a local representation based in part on the representation read for that project data entity instance and on a defined mapping;
for each of the project data entity instances that already have a respectively stored local representation, when the local and read representations for that project data entity instance differ, updating the stored local representation for that project data entity instance to reflect the representation read for that project data entity instance;
storing indications associated with the stored local representations to reflect the defined relationships between the project data entity instances;
modifying the stored local representations of one or more of the project data entity instances to reflect changes made by a user of the second application; and
modifying said data file for use by the first application that represents the project by including representations of the multiple project data entity instances for the project that reflect the changes made by the user. - View Dependent Claims (41, 42, 49)
-
-
43. (canceled)
-
44. (canceled)
-
45. A computing device for exchanging project-related data between a first software application and a second unaffiliated software application, wherein the first application stores a first application data representing a project in a data file using a format specific to the first application, wherein the second application stores local copies of the first application data in a data file using a format specific to the second application, wherein a format of the first application data is distinct from a format of the local copies of the first application data stored by the second application, the stored data including values representing each of multiple instances of project data entities defined for the project, comprising:
-
a first module that is capable of, under control of the second application, updating data that represents the project in a data store of the second application by performing;
for each of at least some of the defined project data entity instances of the project, reading values from the stored data file;
for the defined project data entity instances whose values are read that do not have a stored local representation in the data store, storing in the data store a local representation of each of those defined project data entity instances based on at least some of the values read for that defined project data entity instance and associating the stored local representation with the stored values in the data file for that defined project data entity instance; and
for the defined project data entity instances whose values are read that do have a stored local representation in the data store, updating the stored local representation to reflect the values read for that defined project data entity instance; and
a second module that is capable of, under the control of the second application, updating data in the data file that represents the project by performing;
for each of one or more of the multiple defined project data entity instances, modifying the stored data in the data file of the defined project data entity instance to reflect changes indicated by a user of the second application; and
updating the stored data file to reflect the modifications to the stored local representations of the defined project data entity instances, the updating including modifying at least some of the values stored in the data file to represent the project data entity instances that were changed, the updating performed in such a manner that the updated stored data file remains in the format specific to the first application. - View Dependent Claims (46)
-
-
47. A computer system for exchanging project-related data between a first software application and an unaffiliated second software application, the first application storing data representing a project in a data file that includes values representing each of multiple instances of project data entities defined for the project, wherein the first application stores a first application data representing a project in a data file using a format specific to the first application, wherein the second application stores local copies of the first application data in a data file using a format specific to the second application, wherein a format of the first application data is distinct from a format of the local copies of the first application data stored by the second application comprising:
-
means for, under control of the second application, updating data that represents the project in a data store of the second application by;
for first and second defined project data entity instances of the project, reading values from the stored data file that represent that defined project data entity instances, respectively;
for the first defined project data entity instance whose values are read, storing in the data store a local representation of the first defined project data entity instance based on at least one of the values read for the first defined project data entity instance and associating the stored local representation with the stored values in the data file for the first defined project data entity instance; and
for the second defined project data entity instance, updating the stored local representation to reflect one or more of the values read for the second defined project data entity instance; and
means for, under the control of the second application, updating data in the data file that represents the project by;
for a third of the multiple defined project data entity instances, modifying the stored data in the data file corresponding to the third defined project data entity instance to reflect changes indicated by a user of the second application; and
updating the stored data file to reflect the modifications to the stored local representation corresponding to the third defined project data entity instance, the updating including modifying at least one of the values stored in the data file to represent the third project data entity that was changed, the updating performed in such a manner that the updated stored data file remains in the format specific to the first application.
-
-
48. (canceled)
Specification