transaction support for packages
Added by Matt Jones almost 22 years ago.
Updated over 9 years ago.
Need to build in transaction support for packages. a client should be able to
insert (or update) a bunch of components of a package and be sure that they all
succeed or all fail. This is especially important if we allow submissions as
"jar" files or otherwise. Still need to be able to insert individual compnents
Postponing this feature to a later release.
This bug will be postphoned because eml2 already put submodules into one xml
This is the summary for the conference call with Matt and Chad in April 17,
MetaCat need two other actions: The first one is startTransaction and the
other is endTransaction. Before client start uploading files, it first calls
startTransaction and metacat will assign a transactionid(like a session id) to
the user. Then client loads document or data file with same transactionid.
When user finishes uploading, it sends an endTransaction command. When metacat
gets this endTransaction command, it will submit the whole transaction to db.
If before sending enTransaction, something failed, metacat will rollback
everything already sending to it during this transaction. If user never sends
a endTransaction, timeout mechanisms will make db rollback.
This will change the communication way between metacat and client. Client, for
example, morpho will be changed too. This causes version compatability issue.
MetaCat need to be considered to support both old and new communication ways.
Agreed. In addition, this mechanism allows for all of the access control rules
for a package to be applied to all of the components of a package. If the EML
has the data listed at an online metacat URL, the EML access control rules will
be applied to the data if the data is loaded in the same transaction as the
metadata. For that matter, any object that is loaded in the same transaction
will be associated with the ACL in the metadata.
This is related to any changes to EML that may occur to make ACLs work properly.
Original Bugzilla ID was 213
- Target version deleted (
- Status changed from In Progress to New
Need to decide if this transaction feature is useful or not, and if not then delete this request. We have operated fine without it for more than a decade, so it seems superfluous.
Also available in: Atom