Copy bundles

Copy bundles can be used to copy functionality to another system. This feature is intended to be used to quickly move small or isolated units of functionality.

Copy bundles will create/update objects (menu items, field info, SQL procedures etc.) in the target system as if they were created/updated manually, with the advantage of them being created in one transaction, thus not leaving the system in a half state.

Distributing updates

All items included in the bundle will be either created or overwritten in the target system upon import. Therefore the same bundle can be imported repeatedly without causing errors. For example, if you change an existing menu item, you don't need to keep track of whether the menu item exists in the target system before you import it.

You do, however, need to make sure all new items are added to the bundle.
Let's say for example, that you have an existing menu item, and a bundle has already been created to export it. If you add (for example) an InfoSQL procedure to the menu item, then the existing bundle will not know about it, since it didn't exist when the bundle was created. In this case you must add the InfoSQL procedure to the bundle (in the "SQL modules" tab). Failing to do so with cause the import to fail, since the menu item will reference a procedure that is missing in the target database.

Internal Softadmin® keys

When importing a copy bundle, integer keys such as MenuItemId, MenuGroupId and so on may be assigned different values (this is because in the target system, the key may already be occupied). It is therefore necessary to remove all references to such keys in your source code. One example is Detailview that had the now deprecated <colname>_MenuItemId to generate dynamic links.

Limitations

Copy bundles only work if the source and target systems have matching Softadmin® versions, unless it contains only SQL objects and scripts.

Not all entities may be included, see the "View information" menu item for your versions status.

Futher information

For more detailed instructions, go to the Admin page under "Development" -> "Copy bundles".