Claims
- 1. A method for central refresh of a place, comprising:
providing a place type as a template derived from a source place; deriving from said place type a least one child place; each said child place including a plurality of objects implemented as documents, logic and design notes, said design notes including a plurality of items including a subset of said items which are content items descriptive of content of said objects; determining whether an inherited place object is modified in a place by
assigning to each said item a sequence indicia indicative of change activity with respect to said item; generating and storing a stored checksum of sequence indicia generated for said content items; and responsive to a refresh operation with respect to said child place, calculating a refresh checksum of sequence indicia for said content items; and responsive to said stored checksum and said refresh checksum being unequal, refreshing said child place.
- 2. The method of claim 1, further comprising:
associating with said refresh checksum and said stored checksum-algorithm version indicia; responsive to said version indicia being unequal, adapting comparison of said refresh checksum and said stored checksum to differences in associated algorithms.
- 3. The method of claim 1, further comprising incrementing item sequence numbers and recalculating and updating said stored checksum each time said note is refreshed.
- 4. The method of claim 3, further comprising selectively pulling updates from said source place to said place type and pulling updates from said place type to said child place.
- 5. The method of claim 3, further comprising pushing updates from said place type selectively to all or a specified said child places residing on a same server with said place type.
- 6. The method of claim 3, said refreshing further comprising iterating through all objects contained in said child place and refreshing all the objects inherited from said place type while not refreshing objects created and modified in said child place by a user.
- 7. The method of claim 6, said refreshing further comprising not refreshing objects which are members and groups.
- 8. The method of claim 6, further comprising:
determining whether a place object is inherited from its place type or created in said child place by a place user; determining whether an inherited place object is modified in a place; and determining whether a place object which exists in said source place, but not in said child place, is new to said child place or is deleted in said child place by said place user.
- 9. The method of claim 8, said determining whether a place object is inherited from its place type or created in said child place by a place user comprising:
appending replaced indicia to object notes used to label inherited objects; and during refresh, identifying objects not having said replaced indicia as local objects which have been created in said child place by said place user.
- 10. The method of claim 9, said replaced indicia being a time stamp that records last refresh/replace time of each said note; and determining with reference to said last refresh/replace time whether a source object has changed since a last refresh.
- 11. The method of claim 9, said determining whether a place object which exists in said source place, but not in said child place, is new to said child place or is deleted in said child place by said place user comprising:
comparing a creation date of place object with a refresh date of said place stored in a place type stamp; responsive to said creation date not being earlier than said refresh date, adding said new object to said child place; and responsive to said creation date being earlier than said refresh date, for basic refresh not adding said new object to said child place.
- 12. The method of claim 1, further comprising distributing quick place changes in a clustered environment by:
on a first server, pulling updates from a source place to its corresponding place type; on said first server, centrally pushing place type updates from said place type to its dependent child places on said first server; and replicating said places on said first server to a second server in a cluster including said first server.
- 13. The method of claim 12, further comprising pulling updates to child places on said second server from a place type replica on said second server of a place type on said first server.
- 14. A system for central refresh of a place, comprising:
a source place; a place type; a child place; each said place comprising a plurality of place objects, each said place object implemented as a document, logic and associated design note, each said design note including a plurality of items; a subset of said items being content items descriptive of content of said objects; a central refresh execution module for determining whether an inherited place object is modified in a place by
assigning to each said item a sequence indicia indicative of change activity with respect to said item; generating and storing a stored checksum of sequence indicia generated for said content items; and responsive to a refresh operation with respect to said child place, calculating a refresh checksum of sequence indicia for said content items; and said central refresh execution module further responsive to said stored checksum and said refresh checksum being unequal for refreshing said child place.
- 15. The system of claim 14, said central refresh execution module further for:
determining whether a place object is inherited from its place type or created in said child place by a place user; determining whether an inherited place object is modified in a place; and determining whether a place object which exists in said source place, but not in said child place, is new to said child place or is deleted in said child place by said place user.
- 16. The system of claim 15, said central refresh execution module further for determining whether a place object is inherited from its place type or created in said child place by a place user by:
appending replaced indicia to object notes used to label inherited objects; and during refresh, identifying objects not having said replaced indicia as local objects which have been created in said child place by said place user.
- 17. The system of claim 16, said replaced indicia being a time stamp that records last refresh/replace time of each said note; and said central refresh execution module further for determining with reference to said last refresh/replace time if a source object has changed since a last refresh.
- 18. The system of claim 17, said central refresh execution module determining whether a place object which exists in said source place, but not in said child place, is new to said child place or is deleted in said child place by said place user by:
comparing a creation date of place object with a refresh date of said place stored in a place type stamp; responsive to said creation date not being earlier than said refresh date, adding said new object to said child place; and responsive to said creation date being earlier than said refresh date, for basic refresh not adding said new object to said child place.
- 19. The system of claim 14, said central refresh execution module further for distributing quick place changes in a clustered environment by:
on a first server, pulling updates from a source place to its corresponding place type; on said first server, centrally pushing place type updates from said place type to its dependent child places on said first server; and replicating said places on said first server to a second server in a cluster including said first server.
- 20. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for central refresh of a place, said method comprising:
providing a place type as a template derived from a source place; deriving from said place type a least one child place; each said child place including a plurality of objects implemented as documents, logic and design notes, said design notes including a plurality of items including a subset of said items which are content items descriptive of content of said objects; determining whether an inherited place object is modified in a place by
assigning to each said item a sequence indicia indicative of change activity with respect to said item; generating and storing a stored checksum of sequence indicia generated for said content items; and responsive to a refresh operation with respect to said child place, calculating a refresh checksum of sequence indicia for said content items; and responsive to said stored checksum and said refresh checksum being unequal, refreshing said child place.
- 21. The program storage device of claim 20, said method further comprising:
associating with said refresh checksum and said stored checksum algorithm version indicia; responsive to said version indicia being unequal, adapting comparison of said refresh checksum and said stored checksum to differences in associated algorithms.
- 22. The program storage device of claim 20, said method further comprising incrementing item sequence numbers and recalculating and updating said stored checksum each time said note is refreshed.
- 23. The program storage device of claim 22, said method further comprising: selectively pulling updates from said source place to said place type and pulling updates from said place type to said child place.
- 24. The program storage device of claim 22, said method further comprising pushing updates from said place type selectively to all or a specified said child places residing on a same server with said place type.
- 25. The program storage device of claim 22, said refreshing further comprising iterating through all objects contained in said child place and refreshing all the objects inherited from said place type while not refreshing objects created in said child place by a user.
- 26. The program storage device of claim 25, said refreshing further comprising not refreshing objects which are members and groups.
- 27. The program storage device of claim 25, said method further comprising determining whether a place object is inherited from its place type or created in said child place by a place user;
determining whether an inherited place object is modified in a place; and determining whether a place object which exists in said source place, but not in said child place, is new to said child place or is deleted in said child place by said place user.
- 28. The program storage device of claim 27, said determining whether a place object is inherited from its place type or created in said child place by a place user comprising:
appending replaced indicia to object notes used to label inherited objects; and during refresh, identifying objects not having said replaced indicia as local objects which have been created in said child place by said place user.
- 29. The program storage device of claim 28, said replaced indicia being a time stamp that records last refresh/replace time of each said note; and said method further comprising determining with reference to said last refresh/replace time whether a source object has changed since a last refresh.
- 30. The program storage device of claim 28, said determining whether a place object which exists in said source place, but not in said child place, is new to said child place or is deleted in said child place by said place user comprising:
comparing a creation date of place object with a refresh date of said place stored in a place type stamp; responsive to said creation date not being earlier than said refresh date, adding said new object to said child place; and responsive to said creation date being earlier than said refresh date, for basic refresh not adding said new object to said child place.
- 31. The storage device of claim 20, said method further comprising distributing quick place changes in a clustered environment by:
on a first server, pulling updates from a source place to its corresponding place type; on said first server, centrally pushing place type updates from said place type to its dependent child places on said first server; and replicating said places on said first server to a second server in a cluster including said first server.
- 32. The storage device of claim 31, said method further comprising pulling updates to child places on said second server from a place type replica on said second server of a place type on said first server.
- 33. A computer program product for central refresh of a place according to the method comprising:
providing a place type as a template derived from a source place; deriving from said place type a least one child place; each said child place including a plurality of objects implemented as documents, logic and design notes, said design notes including a plurality of items including a subset of said items which are content items descriptive of content of said objects; determining whether an inherited place object is modified in a place by
assigning to each said item a sequence indicia indicative of change activity with respect to said item; generating and storing a stored checksum of sequence indicia generated for said content items; and responsive to a refresh operation with respect to said child place, calculating a refresh checksum of sequence indicia for said content items; and responsive to said stored checksum and said refresh checksum being unequal, refreshing said child place.
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] Copending U.S. patent application
[0002] Ser. No. ______, entitled “SYSTEM AND METHOD FOR THE AGGREGATION OF PLACE INFORMATION IN A MULTI-SERVER SYSTEM”, assignee docket LOT920020036US1;
[0003] Ser. No. ______, entitled “SYSTEM AND METHOD FOR AGGREGATING USER PROJECT INFORMATION IN A MULTI-SERVER SYSTEM”, assignee docket LOT920020060US1; and
[0004] Ser. No. ______, entitled “SYSTEM AND METHOD FOR SEARCHING A PLURALITY OF DATABASES DISTRIBUTED ACROSS A MULTI SERVER DOMAIN”, assignee docket LOT920020064US1;
[0005] are assigned to the same assignee hereof and contain subject matter related, in certain respect, to the subject matter of the present application. The above identified patent applications are incorporated herein by reference.