Create a user-made package using Configuration section
1. Create a package
-
Open the Configuration section. Instructions: Open the Configuration section.
-
Create a package. To do this, click in the package workspace. This opens the Package mini page.
-
Fill out the package properties.
Property
Property description
Name
The package name. Required. The package name cannot match the names of other packages.
Compile into a separate assembly
The checkbox identifies an assembly package whose source and automatically generated code is compiled into a separate assembly. Out of the box, the checkbox is selected. Learn more: Assembly package.
Use smart activation
The checkbox that identifies a smart activation package that combines functionality of multiple apps for compatibility between them in a single Creatio instance. Out of the box, the checkbox is cleared. Learn more: Smart activation package.
Description
The package description. For example, package functionality details.
Version control system repository
The name of the SVN version control system repository that will store the package changes. Required. Only SVN repositories from the configuration storage list that are marked as active are available in the dropdown list.
ImportantThe Version control system repository property will become non-editable after you create the package.
Version
The package version in the SVN repository. Required if the package is connected to an SVN repository. Fill out the property when creating a package. Otherwise, the property is non-editable. The property accepts digits, Latin characters, as well as "." and "_" characters. The value must start with a digit or a letter. All package elements are of the same version as the package itself. The package version is not related to the version of the Creatio instance.
-
Save the changes.
As a result:
-
Creatio will add the user-made package to the dependencies of the
Custom
preinstalled package automatically. -
Creatio will save the package properties to the
descriptor.json
file. A separatedescriptor.json
file will be created for each package version.descriptor.json file{
"Descriptor": {
"UId": "SomeUserMadePackageID",
"PackageVersion": "SomeUserMadePackageVersion",
"Name": "SomeUserMadePackage",
"ModifiedOnUtc": "\/Date(1522657977000)\/",
"Maintainer": "SomeDeveloper",
"DependsOn": []
}
}The
Maintainer
property contains information about the developer listed in the Publisher (Maintainer
code) system setting.
2. Set up the package dependencies
Creatio lets you set up the package dependencies while creating the package and developing the app functionality. To do this:
-
Define the functionality to be inherited by the user-made package.
Inherit the entire Creatio functionality
-
Open the package dependencies diagram. To do this, click Actions on the Configuration section toolbar → go to the Packages action group → Package dependencies diagram. This opens the diagram in a new tab.
-
Find the parent package or packages to the
Custom
package in the hierarchy.Click a diagram node with the package name to view the package dependencies as animated arrows.
For example, the
SalesEnterprise_Marketing_ServiceEnt
package in the CRM bundle product depends on theServiceEnterpriseSoftkey
,MarketingSoftkeyEnu
,SalesEnterprise
,PRMMktgActivitiesPortal
packages and their parent packages. Also, theSalesEnterprise_Marketing_ServiceEnt
package is a parent package to theCustom
package. -
Double-click the package name and copy it.
-
Close the tab that includes the package dependencies diagram.
Inherit functionality of a specific package or packages
- Search for a configuration element whose functionality needs to be inherited. Instructions: Search for a configuration element.
- Make sure the configuration element schema includes the required functionality.
- Find the package name that includes configuration element schema whose functionality needs to be inherited. To do this, click in the schema properties area → go to the Package property.
- Double-click the package name and copy it.
- Close the schema.
noteThe
CrtCore
package is the most common parent package whose functionality is inherited by user-made packages. -
-
Add the package dependencies.
-
Open the package properties. To do this, click → Properties. This opens the Package properties page.
-
Click Add in the Depends on packages property block on the Dependencies tab. This opens the Select package window.
-
Select the package or packages whose functionality must be inherited. Use the copied value if you need to inherit a single package.
If you add multiple packages as dependencies to the current package, Creatio hides the packages you have already selected from the window.
-
Click Select.
-
-
Apply the changes.
As a result, Creatio will save the package dependencies to the DependsOn
property in the descriptor.json
file. The DependsOn
property is an array of objects that contain the package name, version, and unique ID of the package whose functionality will be inherited.
{
"Descriptor": {
"UId": "SomeUserMadePackageID",
"PackageVersion": "SomeUserMadePackageVersion",
"Name": "SomeUserMadePackage",
"ModifiedOnUtc": "\/Date(1522657977000)\/",
"Maintainer": "SomeDeveloper",
"DependsOn": [
{
"UId": "SomePackageID",
"PackageVersion": "SomePackageVersion",
"Name": "SomePackage"
}
]
}
}