Feature definition deployment

Feature definitions can be deployed with the Perfion Deployment. This step in the wizard allows the user to select which features that should be deployed.

Selection

The wizard page for feature definition selection is shown below.

The selection list contains all feature definitions declared in the source system. Multiple feature definitions can be selected.

Required feature definitions

When selecting a feature definition, it can require other feature definitions. Example of this could be Feature A has Feature B as KeyType.

The select list updates automatically when selecting a feature definition that has requirements. All required feature definitions are checked and greyed out in the list.

Example: Selecting Feature definition “New3”, Feature definitions “New” and “CalalogPage” is automatically selected.

If feature definitions are required from feature configuration selection, these will automatically be shown like this when the feature definition selection is shown.

Matching in target system

Feature definitions are matched to feature definitions in the target system. This is done by comparing the name of the feature definition to the names of feature definitions in the target system.

The match is done case insensitive. Some examples below:

Feature name A

Feature name B

Match

Test

Test

Yes

Test

test

Yes

Test

tes

No

If a match is found, the feature definition is flagged for update instead of creation.

Parents

A feature definition with a parent, can of cause be transferred with parent and child in one go. But the parent is not necessary to deploy. It is possible to deploy the child feature definition on its own. Below is an example.

Left is feature without parents. Right is feature with parents.

 

NOTE: If the parents do not exist in the target system, they will be required.

Validation

Feature definitions are validated before they can be transferred to the source system. If one or more of the validation steps fail, deployment will be halted. All potential errors will be shown on the data summary.

Feature definition is found in target system

If the feature definition is found in the target system, and thereby flagged for update, specific settings must be identical for deployment to continue. This is because these settings cannot be updated by deployment.

The limiting settings are:

  1. Data type

  2. Selectable

  3. Localizable

  4. Inheritable

  5. Allow formula

  6. Allow hierarchy

  7. Custom ordering

  8. Sortable related items

  9. Allow multiple

  10. Sortable

  11. Control type

  12. Branding

  13. Allow tri-state Boolean

The error message will contain one of the following messages:

  • Feature (Source feature name) is of ‘source datatype’ type, but the same feature in target system is of ‘target datatype’ type

  • Feature (Source feature name) differs in setting ‘Setting name’. Source value is ‘Enabled/Disabled’, and target value is ‘Enabled/Disabled

Feature definition parent validation

If a feature definition is transferred without its parent, a feature in the target system will become its new parent. This imposes some potential issues.

Data type missing

If the parent of the feature is one of the data types (Number, string, etc.), it must exist in the target system. It will most likely be the Table feature that will be missing if any. The table feature can be installed if the license has “Table designer” enabled. The following error message will be displayed in the data summary.

  • Parent feature (Source Parent Name) of ‘Source Parent Data Type’ type was not found in the target system. This is most likely because the Table feature is not installed!

Difference in data type

If the parent of the feature has a different data type than the deployed feature definition, it cannot be deployed. The following error will be displayed if this is the case.

  • Parent feature (Source Parent Name) is of ‘Source Parent Data Type’ type, but the same feature in target system is of ‘Target Parent Data Type’ type

Dependencies

Feature definitions depend on several other configurations. These are other feature definitions, information groups and remote queries.

Feature definitions

Since feature definitions have references to other feature definitions, selecting one feature, might very well require several other feature definitions to be deployed. The referencing settings are:

  • Key feature

  • Stage feature

  • Filter feature

  • View feature

  • Parent feature

If one or more of these settings are set, the deployment will look for them in the target system. If they are not found, they will be added to the required feature definition list.

Information groups

Feature definitions reference information groups via Top view group, view group and group settings. If one or more of these are set, the deployment will look for them in the target system. If they are not found, they will be added to the required information groups list.

Remote queries

Feature definitions reference remote queries via remote query settings. If this setting is set, the deployment will look for it in the target system. If it is not found, it will be added to the required remote queries list.

Data transfer

Feature definition data is handled in two different ways, depending on if the transfer is a creation or an update. When a feature definition is created in the target system, all its values is transferred to the target system. But when updating a feature definition, only some values are updated.

Perfion Deployment has limited feature definition update to only some values. This is to ensure data protection when transferring feature definitions. A full list of all values is presented below. Reference this to see which values are transferred and which are not.

Value

Transfer under creation

Transfer under update

Parent

Yes

Yes

Name

Yes

Yes

Caption

Yes

Yes

Caption alternative

Yes

Yes

Abbreviation

Yes

Yes

Unit

Yes

Yes

Help text

Yes

Yes

Top view, view and group

Yes

Yes

Data type

Yes

No

Localizable

Yes

No

Inheritable

Yes

No

Formula

Yes

No

Selectable

Yes

No

Allow hierarchy

Yes

No

Custom ordering

Yes

No

Sortable related items

Yes

No

Allow multiple

Yes

No

Sortable

Yes

No

Branding

Yes

No

Allow tri-state Boolean

Yes

No

Remote query

Yes

Yes

Remote data field

Yes

Yes

Control type

Yes

No

Custom data manipulator

Yes

Yes

Feature item security

Yes

Yes

View feature

Yes

Yes

Filter feature

Yes

Yes

Key feature

Yes

Yes

Stage feature

Yes

Yes

Validation

Yes

Yes

 

All the limited values are protected by validation. As described in the validation captor, deployment will not run if these settings are different between the source and target system.

Feature definition captions

Feature definition captions are transferred as a single object. The captions are first deleted in the target system, thereafter all captions are transferred from the source system. This goes for all values attached to a caption as well. (Caption alt, Abbreviation, Unit, Help) See the example below.

Before deployment

Source system

Target system

Caption_EN = Test

Caption_EN = Test0

Caption_DE = Test1

Caption_NL = Test4

Caption_DA = Test2

 

After deployment

Source system

Target system

Caption_EN = Test

Caption_EN = Test

Caption_DE = Test1

Caption_DE = Test1

Caption_DA = Test2

Caption_DA = Test2