Difference between revisions of "Talk:ESciDoc Services Item Handler"

From MPDLMediaWiki
Jump to navigation Jump to search
m (New page: ==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...)
 
 
Line 9: Line 9:
**item.update creates new version, public-status=released, last-version-status="pending"
**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.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)
**item.revise throws InvalidStatusException when trying to revise the item (The public status is released, the version status is submitted)  <-- this is a bug! --[[User:Mra|Matthias]] 13:45, 3 September 2008 (UTC)


*Needed implementation / changes for item.revise:
*Needed implementation / changes for item.revise:
*if public-status is released the only possibly transition can be to public-status "withdrawn"  
*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"
*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). --[[User:Mra|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"
*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" --[[User:Mra|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"
*[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". --[[User:Mra|Matthias]] 13:45, 3 September 2008 (UTC)


*Needed implementation for item.delete
*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).
*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.

Latest revision as of 15:45, 3 September 2008

ItemHandler.delete[edit]

  • 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.