How To
SwimBundle Upgrade Procedure for Forked Tasks
use the following procedure to upgrade any swimbundle with one or more of its operations defined as swimlane forked tasks note that this procedure will only succeed if the new version of the bundle is feature and interface compatible with the prior version the bundle that's being replaced please consult with swimlane support to determine whether or not the new version of the bundle in question is compatible with the prior version if not, swimlane support will enlist the assistance of swimlane professional services and/or swimlane engineering to facilitate the bundle's upgrade note that the swimlane integrations page ui refers to swimbundles as plugins this procedure is illustrated with the sw virus total (vt) bundle assume that the swimlane host has version 2 1 2 of this bundle installed, and it has a forked task derived from this bundle's get domain report operation named forked vt 212 dm orig to upgrade to version 2 2 1 of this bundle, do the following do not delete bundle version 2 1 2 until the end of this procedure as the swimlane ui will admonish when a bundle deletion is undertaken, all of the bundle's tasks and its asset will be deleted when the bundle is deleted this is a technically sound building block for a future, first class bundle upgrade procedure until that procedure is available, the older version of the bundle must not be deleted until the newer version is properly instated and completely linked to the existing tasks in order to avoid having to recreate those artifacts install vt version 2 2 1 using the upload plugins button on the plugins tab of the swimlane integrations page define an asset for the new bundle version, and include 2 2 1 in the asset's name to distinguish it from the the older version's asset create a new, temporary forked version of the get domain report operation from 2 2 1 as two versions of the vt bundle are now installed, it's important to create the new, temporary task from the 2 2 1 bundle, and not from the 2 1 2 bundle, but this can be challenging as it happens for the vt bundle, version 2 1 2 and 2 2 1 have the same logo, but they appear in different task categories (2 1 2 in malware detection and 2 2 1 in investigation ), and can be distinguished thereby sometimes the older version and the newer version have different logos (as with sw atlassian jira 6 1 1 and 6 2 1) with other pairs of bundle versions, trial and error is required because there may not be a clearly visible distinction between tasks belonging to the old bundle and those belonging to the new in such cases attempt to create the new, temporary forked task several times until one has resulted that accepts the new bundle's asset name the temporary task get domain report 2 2 1 visually inspect the script code in forked vt 212 dm orig , and compare it with the pristine code in the task forked from get domain report 2 2 1 if the forked task code in 2 2 1 has changed in any material way from what it had been in 2 1 2, then carefully merge the 2 2 1 code into the original forked task the older task's code looks like this (above), and the newer task's code looks like this (below) clearly some additional logic has been added to the newer version of the top level code for this get domain report task so, the swimlane admin has the option to port this new logic into their older forked task if this has happened, then then old task's code might look like this (to preserve the custom logic of the original forked task but also incorporate the improvement to the task offered by the newer version of the bundle) it's important to confirm that the original forked task still works when executing against the new bundle (even if no new code is introduced into the forked task being upgraded) see below\ open robo 3t and connect to the swimlane database within mongodb right click on any node in the left hand tree control in robo 3t and choose open shell in the robo 3t query tab (created by the open shell click) with the black text area, paste the following query db getcollection('tasks') find({name 'forked vt 212 dm orig'}) right click anywhere within this result and choose edit document from the resulting menu within the resulting text display find the action assetdependencyversion property, and change its value from 2 1 2 to 2 2 1 click save in the lower right to submit your change return to the swimlane ui and update this forked vt 212 dm orig task to affiliate it with the bundle's asset belonging to bundle version 2 2 1 this in done in the task's general tab test this task by exercising it (through its typical means of being triggered) to confirm that it is operational delete version 2 1 2 of the vt bundle test the task once more if the task does not succeed, in its first or second trial after altering its assetdependencyversion property, then contact swimlane support