7.3 Preparing to Develop Packages

The first step in developing custom packages is to prepare your Designer environment. You should create a new Designer project, install a valid Identity Vault, configure any default preferences, create a development driver to use as an installation target, enable package development mode, and define the overall structure for your packages.

For more information about creating a project, see Creating a Project. For more information about installing an Identity Vault, see Creating a Model.

7.3.1 Setting Default Package Preferences

Before you start creating custom packages, we recommend you configure default Package Manager preferences as necessary in your environment. In particular, you should configure your Vendor Defaults, License Defaults, and Locations Defaults preferences.

To configure your preferences, click Window > Preferences, then expand NetIQ > Package Manager and modify preferences as necessary. For more information about preferences in Designer, see Setting Preferences.

7.3.2 Creating a Development Driver

Complete the following steps to create a “blank” development driver you can use as a target for your custom packages.

  1. Drag and drop an application from palette into the Modeler to launch the Package Installation Wizard. The application can be of any type.

    NOTE:The Package Installation Wizard does not show any packages if the catalog is empty.

  2. When Designer displays the Driver Configuration Wizard, click Cancel, without installing or configuring any packages. Designer creates an empty driver in the Modeler and links the driver to your Identity Vault. You can then use to add your own custom content.

7.3.3 Enabling Package Development Mode

Packages can only be created and modified when the Identity Vault is running in package development mode.

  1. Either in the Outline view or the Modeler, right-click the Identity Vault, then click Properties.

  2. Select Enable Package Developer Mode, then click OK.

NOTE:If you disable package development mode, you can then only view the properties of a package in the Package Catalog or compare the current version of a package to other available package versions.

You cannot create packages, add objects to packages, remove objects from packages, or sync packages on a driver or driver set with package development mode disabled.

7.3.4 Defining Custom Package Structure

At the start of the package-creation process, you should define the structure you want to use for the packages you create, including mapping out the specific base packages and feature packages you need.

Use questions like the following to define your package structure:

  • To which package categories and groups will your packages belong?

  • To which driver types does this package apply?

  • On which targets do you plan to install packages?

  • Which feature packages are mandatory?

  • Which feature packages are optional?

  • Which features can be used by other drivers?

  • Which package prompts or settings will be used across feature packages and need to be stored in a base package?

  • Does your package or driver require functionality included in any default packages?

  • Can some functionality be included in higher-level driver set and Identity Vault packages, for use by all packages and drivers?

In addition to creating new prompts, GCVs, and other objects, you can use the “common” packages provided by NetIQ in your own package or driver.

For example, the NetIQ Common Settings (NOVLCOMSET) driver set package configures the default location for storing user and group identity information in the Identity Vault, and the default LDAP Classes (NOVLLIBLDAP) driver set package includes an ECMAScript that allows you to search any LDAP source from Identity Manager. Before developing your own custom packages, we recommend you familiarize yourself with the existing functionality provided in the default packages.

For information about configuring mandatory and optional packages, see Configuring Mandatory and Optional Feature Packages. For best practice information about configuring package dependencies, see Defining Package Relationships.