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.
- 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:
|
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.