Talk:ESciDoc Services Item Handler

ItemHandler.delete

 * Problem: delete items with last-version-status "in-revision"
 * Related methods: item.revise


 * Current implementation of item.revise:
 * item.revise when public-status=submitted and last-item-version=submitted results in public-status="in-revision", last-version-status="in-revision"
 * when public-status=released, last-version-status=released and actions stated below:
 * item.update creates new version, public-status=released, last-version-status="pending"
 * item.submit submits this version, public-status=released, last-version-status="submitted"
 * item.revise throws InvalidStatusException when trying to revise the item (The public status is released, the version status is submitted) <-- this is a bug! --Matthias 13:45, 3 September 2008 (UTC)


 * Needed implementation / changes for item.revise:
 * if public-status is released the only possibly transition can be to public-status "withdrawn"
 * if public-status=pending or submitted and user invoked item.revise method (last-version-status is pending or submitted respectivelly), the public-status should be set-up to "pending", last-version-status should be set-up to "in-revision"
 * I do not agree. If public-status is "pending", there is no need to revise an item, as the depositor already works on it. Moving it to "in revision" wouldn't change anything (in fact, it is currently not possible to call item.revise for peding items). --Matthias 13:45, 3 September 2008 (UTC)
 * if public-status=released and user invoked item.revise method (last-version-status can be "submitted") then public-status is not changed, but last-version-status is changed to "in-revision"
 * yes, but version-status must be "submitted" --Matthias 13:45, 3 September 2008 (UTC)
 * [NBU: not certain, will have to check if indeed is so] if public-status=released and user invoked item.revise method (last-version-status can be "released") then public-status is not changed, but last-version-status is changed to "in-revision"
 * no, it should throw an exception. item.revise should only work for items with (public|version)-status "submitted". --Matthias 13:45, 3 September 2008 (UTC)


 * Needed implementation for item.delete


 * item.delete possible by owner (user who created) if public-status="pending" (possible last-version-statuses are: pending or in-revision).
 * There is a item.delete already available. It works for public-status "pending". We will need to extend it so it works for public-status "in revision" as well.