Skip to content

UNINSTALL_OBJECT not working correctly in transport packages #16557

Open
@BobRay

Description

@BobRay

Bug report

Summary

Correct me if I'm wrong, but the UNINSTALL_OBJECT constant was added to make the updateability and removal of objects independent. IOW,

  • Objects with UNINSTALL_OBJECT=true would always be removed
  • Objects with UNINSTALL_OBJECT=false would never be removed
  • Objects with UPDATE_OBJECT=true would always be updated
  • Objects with UPDATE_OBJECT=false would never be updated

Historically, this was controlled by UPDATE_OBJECT alone. If set to false, the object was not removed. I believe the addition of UNINSTALL_OBJECT was supposed to fix this.

This is not quite the case.

This combination works:

xPDOTransport::UNINSTALL_OBJECT =>false,
xPDOTransport::UPDATE_OBJECT => true,

The object is updated but not uninstalled.

This combination does not:

xPDOTransport::UNINSTALL_OBJECT =>true,
xPDOTransport::UPDATE_OBJECT => false,

The object is not updated, but is not uninstalled. It appears that UPDATE_OBJECT=false is still preventing the removal of the object.

My tests involved resources, with and without related objects.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThe issue in the code or project, which should be addressed.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions