Package definitions and packages

A package definition is a template that specifies the configuration content that goes into a package. A package is an instance of a package definition and contains the configuration content that is migrated.

Package definitions

A package definition specifies, but does not contain, configuration content. You use package definitions to create packages. By using the same package definition, you can create distinct packages that contain different sets of configuration content.

A package definition specifies the following information:
Header
The name of the package definition, the environment where it is created, and the type (Change, Snapshot, or Collection).
Set of migration groups
The configuration content that is contained in every package that is created from the package definition.
Compiled sources
Optional content from outside the database that is contained in every package that is created from the package definition.

Throughout the migration process, you must manage your package definitions. You must ensure that the correct types of package definitions are created. You must implement an approval process to ensure collaboration among all the migration participants. You must also ensure that package definition statuses are changed at the appropriate time.

If a package definition is incomplete or incorrect, steps of the migration process can fail. For example, if you define a package definition to migrate workflow definitions but do not include the associated communication templates, a package that is based on that package definition might fail to deploy in the target environment.

You can delete a package definition only if it is not activated, its status is not Locked, and no packages are based on it.

Packages

When a package is created, it is instantiated from a package definition and contains the following data:

Type of data Description
Package manifest Information about the content of the package, including the following details:
  • The migration objects that are included in the package.
  • The number of records for each migration object.
  • The readme information that was entered in the source environment by a deployment administrator.
  • Version information about the source environment.
  • Types of content that are in the package.
Package metadata Information about the definition of the package.
Structural configuration content Content that is stored in the underlying relational database schema as tables, views, columns, and indexes. For example, objects, attributes, and index definitions are structural content.
Nonstructural configuration content Content that is typically stored as records in a table. For example, workflow process definitions are nonstructural content.
Compiled sources Files that include source code customizations, libraries, configuration files, and report executable files. For example, Java™ class files are compiled sources.
History Life cycle information about the package.

You can create, distribute, and deploy packages. The package is the item that you migrate from one environment to another.