Centralize identifier conflict resolution during save LOCAL+NETWORK
After splitting the identifier conflict resolution code into separate Local and Network classes, it turns out this can be problematic for keeping the two copies in sync (see related bug #5792).
We should use a single class to check for existing identifiers in both target locations and choose an identifier that is valid in both locations before proceeding with the save in either location.
#1 Updated by ben leinfelder almost 8 years ago
I have moved this into the DataStoreServiceController. Now the identifiers are generated as needed before either the local or network save is attempted.
I am not alerting the user when the identifiers are updated since there only seems to be one choice: generate a new identifier. Before we gave users an option to increment the revision number or generate a new id. We only have the later and I think we should assume that saves on the same package are meant to be included in the revision history.
I am closing this bug, but more should be opened if errors are found while testing this feature.