Patent ID: 7149751

Claim:
A method for distributing objects from a source database to a destination database, comprising: enabling a user to select for distribution one or more objects stored in the source database, wherein each of the selected objects is uniquely identified by an object identifier; enabling the user to specify (a) whether the source database structure should be maintained at the destination database and (b) whether object associations should be maintained; creating a distribution object; including in the distribution object the object identifier of each selected object, a source-root-context if the user specified that the source database structure should be maintained at the destination database, and an indicator that indicates that object associations should be maintained if the user specified that object associations should be maintained; building a distribution package based on the distribution object, wherein the distribution package contains the objects identified by the object identifiers contained in the distribution object, wherein the building of a distribution package further comprises: selecting an object identifier that is contained in the distribution object; retrieving from the source database the object identified by the selected object identifier; creating a relative object identifier for the selected object and including the relative object identifier in the distribution package, wherein the relative object identifier comprises at least a portion of the selected object's object identifier; including in the distribution package the retrieved object; determining whether there are any files that are associated with the retrieved object and including those files in the distribution package; determining whether the distribution object includes an indicator that indicates that object associations should be maintained; determining all of the objects that are associated with the retrieved object and including those objects in the distribution package if it is determined that the distribution object includes the indicator that indicates that object associations should be maintained; determining whether the distribution package includes a source-root-context; and including in the distribution package the source-root-context if one is included in the distribution object; determining the subscribers that are associated with the distribution object; and distributing the distribution package to the determined subscribers.