A Creatio package is a collection of configuration elements that implement certain functionality. On the file system level, a package is a directory that defines a set of subdirectories and files. Any Creatio product is a set of packages.
Creatio includes the following package types:
- Simple package. Learn more: Simple package.
- Project package. Learn more: Project package.
- Assembly package. Learn more: Assembly package.
View comparison of package types in the table below.
|Links to other packages||Configuration elements||File content||Development in Creatio IDE||Code compilation path|
– (use an external IDE)
For .NET Framework:
+ (with restrictions)
For .NET Framework:
If you upload the package to the version control system, Creatio creates the directory that matches the package name in the package repository.
View the structure elements of the package directory in the table below.
|Structure element||Structure element description|
Stores the versions of the current package. Each version is a subdirectory whose name matches the package version number in Creatio. For example, 7.18.0.
Stores the package schemas.
Stores third-party builds bound to the package.
Stores data bound to the package.
Stores SQL scripts bound to the package.
Stores the localized package resources.
Stores the package file content. Available in the file system.
Stores tags. The tags in the version control system are a snapshot of the project, i. e., a static copy of files made to preserve a development stage.
Stores the package metadata in JSON. The package metadata includes the ID, title, version, dependencies, etc.
Package dependencies and hierarchy
Creatio application development follows the basic principles of software design, including the “don’t repeat yourself” (DRY) principle. Creatio implements this principle using package dependencies. Each package contains certain Creatio functionality, which the other packages should not duplicate. If a package requires functionality from a different package, set up dependencies between the corresponding packages.
Creatio supports the following dependency types:
- If the current package must inherit the entire Creatio functionality, set the package next to the
Custompackage in the hierarchy as the parent package.
- If the current package must inherit the functionality of a package, set the package with the functionality to inherit as the parent package.
Packages can have multiple dependencies. For example, package
C depends on packages
D. Thus, the functionality of packages
D is available in package
Package dependencies form hierarchical chains. This means that the package contains the functionality of the inheritor package and the functionality of all packages that depend on the inheritor. The closest analogy to the package hierarchy is the class inheritance hierarchy in object-oriented programming. For example, package
E contains not only functionality of package
C on which it depends, but also the functionality of packages
D. In addition, package
F contains the functionality of packages
Creatio adds dependencies of custom packages automatically. Dependencies are added based on the entire package hierarchy. This lets you add fewer dependencies manually. For example, if a business process uses configuration elements of the
Completeness packages, only the
Completeness package is added as a dependency of the current package, since it depends on the
CrtUIv2 package, which, in turn, depends on the
Creatio lets you use smart activation packages. The package is installed into the environment and activated automatically when all its dependencies are available. Smart activation packages do not block deleting the linked packages/apps. Learn more: Smart activation package.
Creatio package hierarchy
Package dependencies diagram stores the package hierarchy and dependencies. Instructions: Manage packages. This opens package dependencies diagram in a new tab.
Click a diagram node with the package name to view the package dependencies as animated arrows. For example, the
SalesEnterpriseSoftkey_Obsolete package in the SalesEnterprise product depends only on the
SalesEnterpise package and its parent packages. Also, the
SalesEnterpriseSoftkey_Obsolete package is a parent package to the
Add package dependencies
You can add dependencies to a custom package at any time.
To add dependencies:
- Go to the package page.
- Click Add on the Depends on packages detail in the Dependencies tab. This opens the package lookup dialog.
- Select the desired package in the dialog and click Select.
As a result, Creatio will display the selected package in the current package’s list of dependencies. If you add other dependencies to the current package, Creatio will hide the packages you have already selected from the lookup.
Creatio adds new packages to the dependencies of the
Custom preinstalled package automatically.
List of dependencies in the package metadata
Creatio stores the list of dependencies in the package metadata. View the metadata in the
DependsOn property of the object defined in the
DependsOn property is an array of objects that contain the package name, version, and unique ID. Use the ID to define the package in the Creatio database. Creatio adds separate
descriptor.json files for each package version.