Package conversion

Medium
PDF

Creatio supports the following conversion types:

  • Simple package to assembly package. Available in Creatio 8 Atlas and later.
  • Assembly package to simple package. Available in Creatio 8 Atlas and later.
  • Project package to assembly package. Available in Creatio 8.0.1 Atlas and later.
  • Assembly package to project package. Available in Creatio 8.0.1 Atlas and later.

Since the package conversion requires database access, it is available for Creatio on-site. Creatio in the cloud lets you move individual configuration elements to an assembly package.

Convert a simple package to an assembly package 

  1. Select Properties in the package menu.
  2. Select the Compile into a separate assembly checkbox.
  3. Click Apply.

    Actions that saving the package runs:

    • Change the package type in the database ([Type] column value). If the Compile into a separate assembly checkbox is selected, the value changes from "0" (simple package) to "1" (assembly package). If the Compile into a separate assembly checkbox is clear, the value changes from "1" (simple package) to "0" (assembly package).
    • Change the path to the assembly package project in the database ([ProjectPath] column value). By default, Files/PackageName.csproj, where PackageName is the name of the assembly package. For simple packages, the column contains an empty value. If the [ProjectPath] column contains an empty value for the assembly package (i. e., the [Type] column is set to "1"), this causes application failure.
    • Delete assembly package files if the Compile into a separate assembly checkbox is clear.
    • Generate all required schemas.
  4. Compile the configuration if needed. The notification about a required compilation will be available in the information window.

    Attention. Without the compilation of a configuration when needed, a conversion of a simple package to an assembly package is considered incomplete.

As a result, Creatio will convert the simple package to an assembly package.

Convert an assembly package to simple package 

  1. Open the menu of the assembly package to convert to a simple package → Properties → clear the Compile into a separate assembly checkbox.

    Click Apply.

  2. Rebuild the project libraries for an assembly package that was previously converted from a project package. The libraries are removed as a byproduct of the conversion.

As a result, Creatio will convert the assembly package to a simple package.

Convert a project package to an assembly package 

Since version 8.0.1, Creatio lets you convert a project package to an assembly package.

To convert a project package to an assembly package:

  1. Delete all files in the Files\Bin and Files\Bin\netstandard directories.
  2. Add the <AssemblyName> property to the C# project of the project package or change the property value. The name of the project package must not match the name of the assembly package.

    Property template <AssemblyName>
    <AssemblyName>PackageProjectAssemblyName</AssemblyName>
    

    PackageProjectAssemblyName is the name of the project package assembly.

  3. Compile the C# project of the project package.
  4. Create a bootstrapAssemblies.json file in the Files directory. Use the file structure below.

    bootstrapAssemblies.json file structure template
    {
        "assemblies": [
            "PackageProjectAssemblyName.dll"
        ]
    }
    

    PackageProjectAssemblyName is the name of the project package assembly.

  5. Open the menu of the project package to convert to an assembly package → Properties → select the Compile into a separate assembly checkbox.

    Click Apply.

  6. Compile the assembly package. This step depends on the status of development mode in the file system.

    With development mode enabled in the file system.

    1. Export the assembly package to the file system. To do this, click Download packages to the file system in the File system development mode group of the Actions drop-down list on the Configuration section toolbar.

    2. Exempt the project package from compilation in the PackageName.csproj file of the assembly package.

      Template for adding the exemption
      <Compile Remove="$(RelativeCurrentPkgFolderPath)Files/PackageProjectFolder/**" />
      

      PackageProjectFolder is the directory name of the project package.

    3. Compile the assembly package. To do this, click Compile in the assembly package menu.

    With development mode disabled in the file system.

    1. Compile the assembly package. To do this, click Compile in the assembly package menu.

      Compilation fails.

    2. Exempt the project package from compilation in the PackageName.csproj file of the assembly package.

      Template for adding the exemption
      <Compile Remove="$(RelativeCurrentPkgFolderPath)Files/PackageProjectFolder/**" />
      

      PackageProjectFolder is the directory name of the project package.

    3. Recompile the assembly package. To do this, click Compile in the assembly package menu.

As a result, Creatio will convert the project package to an assembly package.

Convert an assembly package to a project package 

Since version 8.0.1, Creatio lets you convert an assembly package to a project package.

Note. Creatio lets you convert an assembly package previously converted from a project package. A previously unconverted assembly package cannot be converted.

To convert an assembly package to a project package:

  1. Open the menu of the assembly package to convert to a project package, select Properties and clear the Compile into a separate assembly checkbox.

    Click Apply.

  2. Compile the project package.
  3. Compile the configuration. Learn more about compilation in a separate article: Operations in Creatio IDE.

As a result, Creatio will convert the assembly package to a project package.