Feature #309
refactor MN.create and MN.update methods and REST bindings
100%
Description
Need to refactor the MN create and update methods to be more explicit about how GUIDs are generated and assigned when objects are created and updated. Dave and I discussed this and decided that it is best to keep GUID control in the hands of clients, because only clients know how to properly embed GUIDs in science metadata objects and in other locations. New method signatures would be:
create(token, GUID, object, sysmeta) -> GUID
raise IdAlreadyInUseException
update(token, GUID, object, obsoletedGUID, sysmeta) -> GUID
raise IdAlreadyInUseException
Still to be resolved: how to serialize the sysmeta and object content in a single payload in the REST binding.
The sysmeta document to be sent in will be defined in another task.
History
#1 Updated by Matthew Jones over 14 years ago
Descriptions for update() and create() have been checked into the architecture documentation. We need to review the proposed mechanism for sending the sysmeta and object bytes over REST using MIME multipart message formats. See the description in the REST interfaces for the proposal.