SMARTCOPY
SmartCopy allows you to copy one or more components with great control over how to handle references and referenced (dependent) components.
Boomi copy allows you to copy a component by
including all referenced components or
not including any dependent component.
However, in 99% of all use-cases you want to copy a component with some other dependent components. This is, where SmartCopy comes into play.
Three main use-cases for SmartCopy
Copy a single component (like a process) and create copies of only those dependent components which are in the same folder (
/folder). Referenced components which are 'outside' of the current folder, like Connectors or global profiles, mapping are not duplicated. Optionally you can include subfolders (/recursive) more..bc COMP SMARTCOPY /c bf83e604-.. /folder /recursiveSpecify a list of source components to create a copy of each, while updating all references to the new (copied) components and retaining (global) references to the components that were not copied. With other word, a set of specified components is copied and all links inside of this set is kept intact by point to the new copies.
bc COMP SMARTCOPY /c bf83e604-.., afb456a-...You can use component templates with placeholders to easily create new component (sets) based on a component template. This is extremely helpful, if you have a fixed pattern to create, for example, API Listener Components. SeeComponent Templates
Smart Copy Explained
A quick example why Smart Copy is smart and how it differs from Boomi's copy functionality. The following example is probably not a real world use-case but it explains the Smart Copy functionality quite good, using a very simple example.
Imagine you have a Map component like this, with the FlatFile Empty profile you all know, which is a shared and global profile. No second copy of this profile must exist.

A look behind the scenes shows us that MyMap references (depends on) j.Profile_B and flatFile Empty.

Built-In "Copy Component"

If you chose the built-in copy component function, you have two options: copy with or without all dependent components. Neither of the two options is what we want. We would either get a new MyMap component that references the two existing profiles (no dependencies), or we would get a copy of all components, incl. flatfileEmpty. In both cases we must manually edit the Map and fix the referenced components. This takes time and it is error prone. Especially when the copy process refers to more complex situations than a simple Map.
Smart Copy
If we chose Smart Copy we name the two components we want to copy: MyMap and j.Profile_B, leaving out flatfile.Empty SHARED.
bc COMP SmartCopy /c bf83e604-..,3ba38b6a-..What we get is a new MyMap 3 which references the new j.Profile_B 5 but it kept the reference to the shared flatfile profile. This is smart!

Last updated