In Creatio 8.0 Atlas and higher a new layer for development was added called applications. The application is a layer above the package, meaning a parent layer for the package and can hold additional metadata about what your development is for or contains. Additionally, an application can contain multiple packages as well. You’ll see the applications in the Application Hub. However, if you’ve been working with Creatio since before version 8.0 you likely already have a package you’re using for development, but not an application. This article will outline the steps to convert this package to an application, or more specifically, how to create an application for your existing package.
One thing to note, it is still possible and valid to use a package only. However, you’ll need an application for some Freedom UI functions, such as making a section for a Freedom UI page.
After creating an application for our package, the end result is that we’ll have an application that shows in the Application Hub that can contain both classic UI customizations and Freedom UI customizations.
This is the application created for our existing package
STEP 1: Create Application
In order to convert our package to an application we’ll need to first create the application record, then a record that associates our package to our application. The easiest way to do this is to add the table that stores “applications” in the lookups area. This table is called “Installed application” (SysInstalledApp). In the lookups area, click New Lookup and add the Installed application object. In that lookup, click New and add a row for your application. Mine looks as follows:
The important fields here are:
- Name: This is the name of your application
- Code: The unique code of your application. When installed, this value needs to be unique in the same way your package name needs to be unique. This will also be the name of the file when your application is exported.
- Maintainer: This value must match the “Maintainer” system setting (code: Publisher) in order for the application to be unlocked.
STEP 2: Link Package to Application
Now we need to associate our package with the application we created. To do this well add the table “Package in installed application” (SysPackageInInstalledApp) in the lookups section. Now add the following:
Include the following values:
- Installed application: Select the application you created in step 1
- Package: Select your package. Note the package should not be locked.
- Primary: This should be set to true. This means that this package is the primary one for the application.
- Application default: This should be set to true. This is like setting the current package setting but just for your application, meaning any new items added in your application will saved to this package.
STEP 3: Edit Application Info
Now that we have done the above you can open the Application Hub and edit the application, adding things like a description and a custom icon, etc.
Additionally, assuming your package is also selected as Current Package in system settings, whether you customize classic UI pages or sections using the section wizard or Freedom UI pages in the new editors, it will all be saved to this same package.
IMPORTANT: Don’t forget, now that you have the application, if you need to transfer your work to another environment, export the application to install in the other system, not the package.
There is some weird behavior with how Creatio decides where to save a page you’re editing in current versions. For example, if you edit an existing Freedom UI page, such as Accounts_FormPage, Cases_FormPage, etc, Creatio often seems to choose random and inconsistent packages to save the edited page in, at least in current versions as of 8.0.10. You can control the package it will be saved in by changing the URL when you open a page for edits and appending the query string parameter &packageUId=[Your package UId]. This will force the editor to save the new version of the page in that package. If you want an easy way to get the package UId, simple click the [Add page] button in your application and copy this from the URL.