i4connected Knowledgebase 5.6

i4designer Component configurations

Abstract

Check out this article and learn how to manage complex i4designer components configurations, in context of i4connected applications and application mappings.

As earlier indicated, at the level of i4connected, i4designer visualizations are managed in the context of Applications and Application Mappings.

Along with version 5.6.12 of i4connected, the component configuration function has been introduced, in order to allow users, having the appropriate permissions level, to manage shared configurations, for complex i4designer components (such as charts). These complex components do not provide the i4designer users, with the possibility to preconfigure the chart parameters, at design-time, therefore, at their core, these component configurations are JSON documents, created and loaded at run-time, using the Persistent Configuration Manager dedicated window.

Persistent_Configurations_manager.jpg

The Persistent Configuration Manager window

By default, component configurations are shared entities. Due to the security and multi-tenancy rules enforced by i4connected, component configurations can be scoped as follows:

  • Application scoping is the first scoping level. At a minimum, a component configuration can be shared across an Application, but it can not be shared across different applications.

  • Hierarchical scoping is the second scoping level. Configurations can be set up for an Application and made available only when the application runs in a certain context (for example, in the context of a certain Site or Organizational Unit).

    This scoping level ensures that no configuration leaks occur, between different Sites, or other entities, even if they share the same Application. The scoping is enforced on basis of permission assignment, which grants view access to the entity/entities that are linked to the configuration.

    For example, a user that has view area permission on an area can see the configurations from that area, but not from another one.

    Important

    The hierarchical scoping level will only be introduced within a later i4connected version. Currently, all configurations are shared between entities having the same linked Application.

  • Namespace scoping is the second scoping level and it is based on configuration namespaces. Configurations from the same hierarchical scope can be isolated from each other using configuration namespaces. These namespaces are useful for categorizing configurations and using them within different contexts, inside the same project.

  • User scoping is the fourth and last scoping level. This level makes the distinction between configurations that are created and owned privately, by a user and the ones which are shared between all the users that have access to it.

    Important

    The user scoping level will only be introduced within a later i4connected version. Currently, all configurations are shared between all the users that have access to the respective component.

Warning

The component configurations need to be scoped correctly, in order to prevent data leaks between unrelated i4designer Applications or Tenants.

The Persistent Configuration Manager

The Persistent Configuration Manager window can be accessed by clicking the Load / Save button, of an i4designer component, while viewing the project, at run-time.

Load_and_Save_button.jpg

The Load / Save button, opening the Persistent Configuration Manager

The Persistent Configuration Manager window is split up into the following sections:

  • The Add new configuration section features an easy method to define new configurations, for i4designer complex components, or to update the existing configurations.

    Add_new_config_section.jpg

    The Add new configuration section

    Therefore, users having the Manage shared component configurations permission enabled, can add new Component configurations, after setting up the desired component parameters, with the scope to reuse them.

    NewConfig.jpg

    After clicking the Add button, the new Component configuration will be added to the list of Existing configurations.

    Tip

    There cannot be multiple configurations with the same name, for the same component, in one Application.

    In an attempt to add a duplicate configuration, the Add button, displayed in the Add new configuration section, is changed into an Update button.

    Update_button.jpg

    The Update button

  • The Existing configurations section lists all the configurations, available for the respective component.

    Existing_configurations.jpg

    The list of Existing configurations

    Note

    All users meeting the minimum security requirements, at the level of Applications and Application Mappings can open the Persistent Configuration Manager, in order to view the list of component configurations.

    However, in order to manage the listed entities, the user is required to have the Manage shared component configurations permission enabled.

    The Existing configurations table features the following columns:

    • Name - the name of the component configuration, provided by the creator user, at the moment of creation.

      There cannot be multiple configurations with the same name, in the context of one single component.

    • Owner - the user that owns the component configuration.

      Tip

      It is important to understand that the owner of an Application is NOT necessarily the owner of a component configuration. These can be different users.

    • Created On - the creation date.

    • Namespace - the value of the Namespace property, as defined at design-time.

      Namespace.jpg

      Namespace

      When changing the value of the component's Namespace property, at the level of i4designer project, and republishing the updated project, any previously saved i4connected configurations, will be hidden from view, at run-time.

      Since configurations are entities stored on the i4connected Database, these can be recovered by resetting the old Namespace property value and republishing the i4designer project.

      Tip

      For more details about i4designer components properties, please also visit the dedicated articles here.

    • Actions - the actions available for the selected configuration. The scope of the Actions area is to allow the user to either load configurations or to remove them.

      In order to manage the listed entities, the user is required to have the Manage shared component configurations permission enabled.

      • Apply - applies the selected configuration to the i4designer component.

        As soon as an existing configuration is applied, the Persistent Configuration Manager window is closed and the component is updated according to the configurations.

      • Delete - removes the selected configuration.

        As soon as an existing configuration is selected and the user clicks the Delete button, a confirmation dialog pops up asking for the user decision (Yes / No buttons).

        Deletion_warning.jpg

        The Deletion confirmation dialog

        Clicking the Yes button removes the configuration, while clicking the No button, closes the deletion confirmation dialog, without removing the entity.