Unqork documentation is available in two workspaces: UnqorkAI for the latest AI-first platform, and legacy Unqork for previous versions. Use the drop-down near the logo to switch.

This article covers UnqorkAI features. UnqorkAI requires an active AI capabilities agreement. To upgrade from Unqork 9.0 or learn more, contact your Unqork representative.

Copying Private Smart Components

Prev Next

Copying a module, a save, or a set of pasted components also copies the Private Smart Components involved. Each destination module gets its own copy, so it never depends on a component that another module owns. This page covers which actions make copies, how pasting and bundle imports behave, and how copies are named.

A Private Smart Component belongs to one module. For how ownership works, see Smart Components Hub.

Actions That Copy Private Components

The following actions give the destination module its own copy of each Private Smart Component involved:

Action Result
Duplicate Module The new module gets its own copy of each Private Smart Component the source module owns, with its tests.
Copy this save In Module History, the new library module gets its own copy of each Private Smart Component in that save, with its tests. See Module History.
Paste into another module The destination module gets its own copy of each Private Smart Component the pasted components use. See Pasting Components.
Import a bundle into a module The module the import creates or the open module owns the imported components. See Importing a Bundle.

In every case, the source module keeps its own components unchanged. A copy is identical to the original at first and doesn't receive later changes to it.

Pasting Components

Pasting components that use a Private Smart Component has the following results:

  • Into another module: The paste copies the component into the destination module automatically, without a prompt. The copy matches the component at the time the components were copied to the clipboard. Each paste makes a new copy, even when an earlier paste of the same components already made one.
  • Into the owning module: The paste reuses the existing component instead of making a copy. A paste reuses a component whenever the open module owns it, so copying and pasting a block in the same module never makes a copy.

When a Paste Can't Be Completed

When a paste can't get every Smart Component it uses, nothing is pasted, and the This paste can't be completed dialog displays. The dialog lists each component that stopped the paste, with the reason. When the platform can't read a component's name, the row names the pasted component's Property ID instead. Reasons include the following:

Reason Description
Not available here The platform can't read the component. Either the component doesn't exist in this environment, or the Creator's role doesn't grant View on it. Promote the component to this environment or update the role, then paste again.
You do not have permission to create a copy. The Creator's role can view the component but doesn't grant Create on Smart Components (Private), so the paste can't copy the component.
Only used inside an imported panel, where a copy would not last. The component is used only inside a Panel component that imports another module with Import Type set to Reference. The panel's next refresh from its source module would replace the copy.

Click Close to dismiss the dialog.

Imported Panels

A Panel component with Import Type set to Copy keeps the imported module's components in the module. When those components include a Private Smart Component that the source module owns, the next save opens the Save with a copy? dialog. Confirming gives the module its own copy. See Saving with Copies. After that save, the panel's components paste like any other components in the module.

Importing a Bundle

Where the imported components go depends on where the import begins and what the bundle holds.

To import a bundle into a module:

  1. In the Module Builder toolbar, click EllipsisVertical (ellipsis).
  2. Select Modify Module, then select Import…. Import is available only in edit mode.
  3. Select a .uqbundle file.

A module bundle creates a new module in the application, and the new module owns the bundle's Private Smart Components. The platform opens the new module. A component bundle gives the open module its components, which display in the In This Module group of the component tray.

To import components for the whole environment, open the Smart Components Hub. In the Explorer panel, click EllipsisVertical (ellipsis) on the Components folder, then select Import. This import creates Public components that aren't published yet. It accepts component bundles only. A module bundle displays this message: "This bundle contains a module. Import it from the module toolbar inside an application."

When a component name in the bundle is already taken in the destination, the Rename components to import dialog displays before anything is imported. Each field is labeled New name for followed by the component's name, and opens on a suggested free name. A name can contain only letters, numbers, and underscores. Click Import to import with the names entered, or Cancel to stop the import. When the import completes, the Bundle imported message displays. When a component landed under a new name, the message adds Renamed: followed by each original name and its new name.

Naming Copies

A copy keeps the original's name and title when the destination module doesn't already use that name. When the name is taken, the copy adds a numeric suffix: Card becomes Card2, and Card2 becomes Card3. The title follows the same pattern, so Card becomes Card 2.

Two modules can each own a Private component with the same name. For the full naming rules, see Smart Components Hub.


Changelog

Date Change
2026-11-06 Initial publication for 9.2.