NCEAS / morpho

Morpho metadata editor
GNU General Public License v2.0
3 stars 1 forks source link

Centralize identifier conflict resolution during save LOCAL+NETWORK #969

Closed mbjones closed 6 years ago

mbjones commented 6 years ago

Author Name: ben leinfelder (ben leinfelder) Original Redmine Issue: 5795, https://projects.ecoinformatics.org/ecoinfo/issues/5795 Original Date: 2013-01-18 Original Assignee: ben leinfelder


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.

mbjones commented 6 years ago

Original Redmine Comment Author Name: ben leinfelder (ben leinfelder) Original Date: 2013-01-24T00:21:25Z


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.

mbjones commented 6 years ago

Original Redmine Comment Author Name: Redmine Admin (Redmine Admin) Original Date: 2013-03-27T21:31:42Z


Original Bugzilla ID was 5795