Resolving Missing Packages Errors in Designer Projects

  • 7021254
  • 29-Aug-2017
  • 31-Aug-2017

Environment


Identity Manager 4.5 - Designer
Identity Manager 4.6 - Designer

Situation

When importing a project from the Identity Vault,  Several Missing Packages errors are received.   Here is an example.



The import contains references to the following packages that cannot be located.
PackageName&Version
Do you want to continue and ignore package references?

The error is being received because the package "DCTest3" is not installed in the package catalog for the DriverSet and associated Driver.


Resolution

Here are 3 resolutions to the issue.

1.  Install the missing package.

Install the missing package "DCTest3_0.0.2.20170829091657" into the Package Catalog in the Designer project prior to importing the Driver(s)with policies in them that are associated with that package.  To do this, you will need a copy of the package to import it into designer.   If it is a custom package, you will need to have exported the package from designer when it was created for this purpose.


2.  Create a new package and assign the policies to that package.

Import the driver(s) and associated linked packages into designer, ignoring the errors during import.   To prevent the issue from occuring in the future, you will need to create a new package in the Package Catalog and link the policies to that new package.   Then deploy the driver with the new package associations in it to the identity vault.    Remember to save a copy of the package to your file system in a safe location for future use with Designer to prevent this issue from occurring again in the future. 

Here are the steps to do this process.
A.   Set the project into Developer Mode.    In the properties of the IDM Tree in the project, Configuration tab,  check "Enable Package Developer Mode".
B.  Create a Package under the Package Catalog.    (DCTest4 in this example)



C.  Add the package you just created to your driver.  (Properties of the driver, Packages, click the + to add the package to the driver)



D.  Browse Down in Designer to the policy that is not associated with package and add it to Package you just created.    You will need to know the policies that need to be added to the package catalog.   Desginer gives you assistance with this, as it changes the icon for the policy to note that it is not associated with a package.  Note how the icon is different for the DC-Rules and DC-ETP-TestPolicy objects below.   They are not associated with a package at the moment.



Right Click on the policy that is not associated with a package and select Add to package and select the package you created and added to the driver to add the policy to the package.    The icon will change to a policy that is associated to a package now.

E.  Build a copy of the package you have just created and updated with policies saving a copy to a safe place.   (Note:  The package version changes slightly each time you build a copy)

F.  Deploy the changes to the Identity Vault.  

The next time you import the project, if you have the package you created installed into Designer, you will not receive the missing package error, if you have the package you built installed into Designer first. 


3.   Remove all package references from the policy object in eDirectory.  

A.   First you will need to know the policies associated with the missing package.   You either just need to know what they are, or you could potentially create a LDAP query to find them.  Similar to the one below.

/opt/novell/eDirectory/bin/ldapsearch -h 192.168.1.1 -D cn=admin,o=novell -w password -DirXML-pkgGUID -LLL -ZZ | grep DCTest3 -B4

dn: cn=DC-ETP-TestPolicy,cn=Subscriber,cn=AD - denchris15,cn=DriverSet,o=novell

It should return the dn of the object with "DCTest3" in the value of the DirXML-pkgGUID attribute.  This query returns all objects with the attribute DirXML-pkgGUID on them.   Then parses that return for DCTest3, and returns the previous 4 lines of that entry.

B.  Then edit the properties of the object in iManager and delete all of the DirXML-pkg* attributes off the object and save the changes.



If you remove all of the DirXML-pkg* attributes off the policy objects that contain the missing packages, then you will not receive the missing package error when importing the objects into Designer.


Cause

The Designer Project is missing the specific package referenced by a policy in the Identity Vault.   This is typically caused by a missing custom created package in the designer project.