Automic Workload Automation

Expand all | Collapse all

keepFolderLinks parameter of ImportObject class does not work correctly in AE v12.0.8, v12.0.9, and v12.3.1

  • 1.  keepFolderLinks parameter of ImportObject class does not work correctly in AE v12.0.8, v12.0.9, and v12.3.1

    Posted 11-22-2019 04:13 AM
    Automation Engine v12.0.8, v12.0.9, and v12.3.1 introduced a new bug affecting the behavior of the keepFolderLinks boolean parameter of the ImportObject API class.

    Consider this scenario:
    • An AE object is imported from an XML file.
    • The object already exists in the target system, but resides in a different folder than the target import folder.
    • During import the overwriteObject boolean parameter is set to true.
    In this scenario, the keepFolderLinks parameter should work like this:
    • true: Any existing folder links for the object are lest as-is. Because the object is being imported into a different folder than its current home folder location, a link is created in the target import folder. The home folder location of the object remains unchanged.
    • false: Regardless of the object's current home folder, the object's new home folder is set to the target import folder. Any other links to the object are deleted.

    This is how it worked in v12.0.5 HF2 and v12.3.0.

    With v12.0.8, v12.0.9, and v12.3.1, it no longer works this way. In these versions, regardless of the value of the keepFolderLinks parameter, ImportObject behaves as if the parameter were set to true.

    This also affects the Java User Interface and Automic Web Interface. The problem appears to lie with the Automation Engine itself, and not the Java APIs (uc4.jar).

    I reported the problem to Broadcom in case 20110674. Has anyone else observed this problem?

    See also this old (somewhat) related bug:
    overwriteLinks parameter of ImportObject class is named & documented incorrectly



  • 2.  RE: keepFolderLinks parameter of ImportObject class does not work correctly in AE v12.0.8, v12.0.9, and v12.3.1

    Posted 12-09-2019 05:41 AM
    Edited by Michael Lowry 12-09-2019 06:00 AM
    After a two-week delay, Broadcom responded this morning by quoting the documentation:

    In case you replace the objects, activate Keep existing folder links if you want to preserve the object links as they were in the original system. This means that links to objects from the Favorites list, dashboards, etc. will work in the target system, you do not have to recreate them.

    The implication is that the product is working as designed, and that original system in the documentation quote above means the source system from which the XML file was exported. This doesn't really make sense though, for a couple of reasons
    • If links were included in the XML file during export, these can be removed simply by excising them from the FolderStruct element. There would be no need to create a special option to handle this situation at import time.
    • Until very recently, the role of the keepFolderLinks option was only about how to handle existing links in the target system, not links in the XML file. A recent update to the Automation Engine changed the way it works, and this change was neither announced nor documented.
    I have sent the ticket back to Broadcom and asked for confirmation that the behavior was changed.


  • 3.  RE: keepFolderLinks parameter of ImportObject class does not work correctly in AE v12.0.8, v12.0.9, and v12.3.1

    Posted 12-09-2019 05:47 AM
    Edited by Michael Lowry 12-09-2019 05:58 AM
    After a short delay, Broadcom responded:
    "[I]t's confirmed as a bug. It will tentatively [be] fixed in v12.0.10, v12.1.7, v12.2.5, [and] v12.3.2.
    Currently there is no workaround for this issue."

    The documentation should probably be updated to eliminate potential confusion about how the keepFolderLinks option is intended work, lest some eager developer be inspired to change the behavior again in a couple of years.

    Existing:
    If you replace the objects, activate Keep existing folder links if you want to preserve the object links as they were in the original system This means that links to objects from the Favorites list, Dashboards, etc. will work in the target system, you do not have to recreate them.
    Proposed:
    When replacing objects, use the Keep existing folder links option to preserve any existing object links as they are in the target system. This means that links to objects in Favorites, Dashboards, etc. will be preserved as-is in the target system, and you will not have to recreate them.
    If an object is imported in a different folder than its existing home folder in the target system, the home folder will not be changed, but instead a link will be created in the target folder.

    Ping: @Elina McCafferty