Packages allow for an auto-patch, node settings or a group of objects to be deployed to another package, a node/ Area or a Management Unit.
Three types of packages can be distinguished, based on their contents:
- Auto-patches: an auto-patch package is for deploying Dollar Universe updates and fixes to multiple Dollar Universe nodes.
- Node Settings: a node settings package is for deploying node settings to multiple Dollar Universe nodes.
- Objects: an objects package is for deploying Dollar Universe objects to a Management Unit, a Node/Area or another package.
In this tutorial we are going to handle the 3rd type: Objects Packages.
Context
The use of Packages is possible as of DU version 6.x. They replace the former Objects Export/Import processes of the prior versions.
You want to deploy/ transfer DU Objects from Node1 to Node2 (or several Nodes)
- Node1 is called NB120173
- Node2 is called vmstm2kr2cst02
Method
Step 1: Create a package
- In the Design Mode go to the Deployment menu and click on Packages
- Select a context, which is NODE 1 in our example
- In the right panel hit on "new" to create a new package

Step 2: Select the source
- Enter the package name
- Enter a Comment
- Hit the "Add" button to select the origin Companyandthe origin Node
Step 3: Select the destination
- Select the Objects Type you want to export
- Select the destination which is the package for which we enter the name in the previous step

Step 4: Check the selected Object/add other Objects
When you hit on next, you will land on a window with the recap of the selected Objects and their dependencies
It's time to check if all the desired Objects have been selected.
Note: In a single package you can add different Objects types such as Application, Calendar, Job chain, MU, Rules, ...
The next window is the summary of all the objects and their dependencies which are readdy to be added to the package

Step 5: Save the package
Hit on "send" the objects are added to the package and by default the package is saved in the folder defined in the UVMS Node Settings --> Installation files and directories --> Objects Packages directory
Once a package is created following action are possible:
- Adding Objects
- Duplicating package
- Updating package
- Deployment on different Nodes/ Areas/ MU
Object package deployment
Some guidelines
For a successful object package deployment make sure the following guidelines are respected:
Objects in a package should always be from the same area.
Objects and groups of objects should be deployed in the following order:
- Resources, Rules, Domains, Applications, Uproc classes, MU’s, Submission Accounts, Batch Queues
- Calendars
- Uprocs, Sessions
- Tasks
- Exceptions, Outages
- Job chains, Business Views
- Production plans
Packages should include all objects connected to the selected object (i.e. a package containing a Business View also contains a batch queue, session, Uproc, Tasks, Application, Domain and Submission Account. )
A compound object has other objects associated with it. For example, the distribution of a Task may also distribute the Session, Uprocs in the Session, and create the Domain/Application, incompatibility classes, resources and conditioning Uprocs implied in the Uprocs. To ensure deployment is successful, the user should verify that all associated objects are present before deploying a package.
Deployment hub
- To deploy an Object package in the Design Mode go to the Deployment menu and click on Deployment hub
- Select a context, which is NODE 2 in our example
- In the right panel hit on "new deployment" button
- Enter the Source and Target infos
- Once you get the package Objects and their dependencies listed, choose the ones you want to deploy and validate

Troubleshooting
The package deployment process is quite simple but we should conclude this tutorial with some troubleshooting aspects. You might encounter an error during the deployment:

As of the time of writting this tutorial, the explanation of the issue can't be found directly on the deployment dialog.
it can be found in the log of the Console:

|2015-09-29 15:22:52,984|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.UniverseBusiness|Problem during deployment of object [IU_WMNT][IU_WMNT][000][IU_WMNT_H][000][HKVTW2K899][false] on [TST600/hkvtw2k899/X]
|2015-09-29 15:22:52,985|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$DeploymentAction|Problem occured during deployment of TASK [IU_WMNT][IU_WMNT][001][IU_WMNT_H][001][SRV074][true] on hkvtw2k899/X/HKVTW2K899
com.orsyp.api.ObjectDependencyNotFoundException: Dependency not found - User not found error
at com.orsyp.owls.impl.MessageReader.getSpecificException(MessageReader.java:221)
at com.orsyp.owls.impl.MessageReader.toException(MessageReader.java:173)
at com.orsyp.owls.impl.MessageReader.readResult(MessageReader.java:118)
at com.orsyp.owls.impl.MessageReader.read(MessageReader.java:72)
at com.orsyp.owls.impl.AbstractObjectSaver.save(AbstractObjectSaver.java:92)
at com.orsyp.owls.impl.task.OwlsTaskImpl.save(OwlsTaskImpl.java:241)
at com.orsyp.owls.impl.task.OwlsTaskImpl.create(OwlsTaskImpl.java:143)
at com.orsyp.api.task.Task.create(Task.java:680)
at com.orsyp.api.task.Task.create(Task.java:665)
at com.orsyp.kmeleon.universe.TaskBusiness.create(TaskBusiness.java:368)
at com.orsyp.kmeleon.universe.UniverseBusiness.deploy(UniverseBusiness.java:441)
at com.orsyp.kmeleon.universe.TaskBusiness.deploy(TaskBusiness.java:410)
at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$DeploymentAction.deployAction(UnifiedDeploymentBusiness.java:517)
at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$AbstractDeploymentAction.deploy(UnifiedDeploymentBusiness.java:329)
at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness.deployInCorrectOrder(UnifiedDeploymentBusiness.java:243)
at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness.deploy(UnifiedDeploymentBusiness.java:172)
at com.orsyp.kmeleon.document.deployment.wizard.controller.DeploymentSummaryController.onNextFromWizard(DeploymentSummaryController.java:279)
at com.orsyp.kmeleon.document.deployment.wizard.view.DeploymentWizard$1.runInternal(DeploymentWizard.java:277)
at com.orsyp.kmeleon.util.process.NotifyProcess.run(NotifyProcess.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
In the above message the important part is
|2015-09-29 15:22:52,984|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.UniverseBusiness|Problem during deployment of object [IU_WMNT][IU_WMNT][000][IU_WMNT_H][000][HKVTW2K899][false] on [TST600/hkvtw2k899/X]
|2015-09-29 15:22:52,985|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$DeploymentAction|Problem occured during deployment of TASK [IU_WMNT][IU_WMNT][001][IU_WMNT_H][001][SRV074][true] on hkvtw2k899/X/HKVTW2K899
com.orsyp.api.ObjectDependencyNotFoundException: Dependency not found - User not found error
As you see in this example, here a user is missing
We hope this tutorial will be useful to some of you. Don't hesitate to let us know what you think in your comments below!