SMARTCOPY
Smart Copy takes a list of source component ids as the input. This list is called the source components (the green ones in our example). In the first instance, Smart Copy creates a copy of these components. It then rebuilds all references in the created components so that the new copies are referenced, while all other references (which were not contained in the source components) remain intact (global references / references to components outside of the template).
bc COMP SMARTCOPY /c bf83e604-..,3ba38b6a-...
To unleash the full power of SMARTCOPY read about Component 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