Skip to main content
Version: 8.2

Customize Freedom UI page for Mobile Creatio

Level: beginner

Use the Mobile application wizard to customize the Freedom UI page.

1. Make sure the page is converted to Freedom UI

  1. Open the Mobile application wizard section. To do this, click in the top right → System setupMobile application wizard.
  2. Create a new or open an existing workplace. Instructions: Add new workplaces (user documentation).
  3. Set up the mobile app section page if needed. Instructions: Set up mobile application section page (user documentation).
  4. Make sure the Freedom UI checkbox is selected. Otherwise, select the checkbox.
  5. Save the changes.

2. Add the schemas that configure manifest and page settings of Mobile Creatio section

  1. Open the Mobile application wizard section. To do this, click in the top right → System setupMobile application wizard.
  2. Open the needed workplace in the section list.
  3. Open a list of workplace sections. To do this, click ActionsSet up sections.
  4. Select the needed section in the section list.
  5. Click Page setup.
  6. Save the page.
  7. Save the settings of the Mobile application wizard section.

3. Set up the page UI

1. Define the position of the Freedom UI component

If you want to add an arbitrary Freedom UI component to the Freedom UI page, open the page structure using the emulator. To do this:

  1. Run Mobile Creatio using the emulator created in Android Studio. Instructions: Set up the mobile app emulator.

  2. Synchronize Mobile Creatio with the main Creatio app.

    1. Log in to Mobile Creatio using the same user credentials as the main Creatio app.
    2. Open the Settings page. To do this, click .
    3. Go to the Synchronization block.
    4. Click Synchronize.
  3. Open the emulator file system. To do this, go to the Android Studio's toolbar → click ViewTool WindowsDevice Explorer.

  4. Synchronize the emulator file system. To do this, go to the Device Explorer tab → right-click an arbitrary directory → Synchronize.

  5. Open the structure of the Freedom UI page to customize. To do this, click sdcardAndroiddatacom.creatio.mobileappfilescreatioAppStructurerev_0processed → open the Freedom UI page schema. For example, MobileFUIContactRecordPageSettingsDefaultWorkplace.

    If the emulator file system includes a rev directory whose suffix differs from "0," navigate to this directory. The suffix determines the number of up-to-date mobile app properties.

  6. Process the schema code using an arbitrary JSON formatter.

  7. Find the needed page structure item to place the Freedom UI component.

  8. Copy the item code from the name property. For example, Contact_PrimaryTab_Body_infoColumnSet_Type.

2. Configure the Freedom UI component

Keep in mind the following requirements for Freedom UI component code:

  • Creatio lets you use the Freedom UI component that does not have a Classic UI counterpart on the previously converted Classic UI page. For example, Contact compact profile. If you need to do this, use the merge type operation in the viewConfigDiff, viewModelConfigDiff, and modelConfigDiff schema sections.
  • Add the configuration object as a string.
  • Use escaped characters.

To configure the Freedom UI component:

  1. Create a configuration object that configures the Freedom UI component. Learn more about the available Freedom UI components: Common Freedom UI components for Mobile Creatio, Freedom UI layout components for Mobile Creatio.

    We recommend creating the object using an arbitrary text editor or external IDE. Use the copied item code as the parentName property value.

    View the example that configures the button below.

    viewConfigDiff schema section
    "viewConfigDiff": [{
    "operation": "insert",
    "name": "SomeButton",
    "parentName": "Contact_PrimaryTab_Body_infoColumnSet_Type",
    "propertyName": "items",
    "values": {
    "type": "crt.Button",
    "caption": "Button",
    "clicked":{
    "request": "crt.CreateRecordRequest"
    }
    }
    }]
  2. Convert the configuration object to a string.

    1. Open the Console tab in browser debugging tools.
    2. Enter the JSON.stringify JavaScript command.
    3. Pass the configuration object as the command value.
    4. Press Enter.

    View the string-converted configuration object below.

    String-converted configuration object
    '{"operation":"insert","name":"SomeButton","parentName":"Contact_PrimaryTab_Body_infoColumnSet_Type","propertyName":"items","values":{"type":"crt.Button","caption":"Button","clicked":{"request":"crt.CreateRecordRequest"}}}'
  3. Escape characters of the string-converted configuration object.

    1. Copy the string-converted configuration object inside ''.
    2. Paste the string-converted configuration object to an arbitrary text editor or external IDE.
    3. Replace " characters using \" characters.

    View the escaped configuration object below.

    Escaped configuration object
    {\"operation\":\"insert\",\"name\":\"SomeButton\",\"parentName\":\"Contact_PrimaryTab_Body_infoColumnSet_Type\",\"propertyName\":\"items\",\"values\":{\"type\":\"crt.Button\",\"caption\":\"Button\",\"clicked\":{\"request\":\"crt.CreateRecordRequest\"}}}
  4. Create a resulting configuration object that configures the Freedom UI component.

    1. Copy the escaped configuration object.
    2. Paste the escaped configuration object to the viewConfigDiff schema section in an arbitrary text editor or external IDE.

    View the resulting configuration object that configures the Freedom UI component below.

    viewConfigDiff schema section
    "viewConfigDiff": "[{\"operation\":\"insert\",\"name\":\"SomeButton\",\"parentName\":\"Contact_PrimaryTab_Body_infoColumnSet_Type\",\"propertyName\":\"items\",\"values\":{\"type\":\"crt.Button\",\"caption\":\"Button\",\"clicked\":{\"request\":\"crt.CreateRecordRequest\"}}}]"

3. Add the Freedom UI component to the Freedom UI page

  1. Open the Freedom UI page schema to customize. To do this, open the Configuration section → select the Freedom UI page schema. For example, MobileFUIContactRecordPageSettingsDefaultWorkplace. Instructions: Open the Configuration section.

  2. Add the Freedom UI component.

    1. Go to the component whose name property is set to "settings."
    2. Add the resulting configuration object created on the previous step to the values configuration object.

    View the example that configures the Freedom UI component below.

    Example that configures the Freedom UI component
    [
    {
    "operation": "insert",
    "name": "settings",
    "values": {
    "entitySchemaName": "Contacts",
    "settingsType": "RecordPage",
    "localizableStrings": {},
    "columnSets": [],
    "operation": "insert",
    "details": [],
    "viewConfigDiff": "[{\"operation\":\"insert\",\"name\":\"SomeButton\",\"parentName\":\"Contact_PrimaryTab_Body_infoColumnSet_Type\",\"propertyName\":\"items\",\"values\":{\"type\":\"crt.Button\",\"caption\":\"Button\",\"clicked\":{\"request\":\"crt.CreateRecordRequest\"}}}]"

    }
    }
    ]
  3. Save the changes.

As a result, the Freedom UI page will be customized. Creatio will merge all schemas and convert them into a resulting JSON object.


See also

Set up mobile app workplaces (user documentation)

Set up mobile application section page (user documentation)

Set up the mobile app emulator

Common Freedom UI components for Mobile Creatio

Freedom UI layout components for Mobile Creatio

Creatio IDE overview